熟悉lex/flex的请进

zjlsct 2003-07-01 11:15:33
如何剔除源代码中的单行注释 //后的内容,使其不输出
如何剔除多行注释/* */中的内容,使其不输出
多行注释允许嵌套
...全文
73 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
BlueSky2008 2003-07-02
  • 打赏
  • 举报
回复
遇到/*不是简单忽略,而是计数器加1 !
Riemann 2003-07-01
  • 打赏
  • 举报
回复
正如BlueSky2008()所说。
BlueSky2008 2003-07-01
  • 打赏
  • 举报
回复
很简单的token分析和字符串操作。
1:遇到//,忽略其后的字符,直到遇到一个换行符。
2:据我所知,c编译器中多行注释是不允许嵌套的。
如果不允许嵌套,遇到/*,忽略其后的字符,直到遇到*/。
如果允许嵌套,可按照括号的分析,开始时设置一个计数器为0,
遇到第一个/*,认为注释开始,并将计数器加1,
以后,每遇到/*,计数器加1 ,每遇到*/,计数器减1。
当遇到*/,并且计数器减为0的时候,认为注释结束。
注意,注释的删除应在第一遍扫描完成。






zjlsct 2003-07-01
  • 打赏
  • 举报
回复
lex/flex是unix编译程序扫描器的生成工具,可以生成能够识别指定关键字的c源代码
ZhangYv 2003-07-01
  • 打赏
  • 举报
回复
lex/flex是什么东东?如果能按文本打开的话,可以自己写个程序把代码中的注释删除的.
ZhangYv 2003-07-01
  • 打赏
  • 举报
回复
lex/flex是什么东东?如果能按文本打开的话,可以自己写个程序把代码中的注释删除的.
zjlsct 2003-07-01
  • 打赏
  • 举报
回复
up有分
zjlsct 2003-07-01
  • 打赏
  • 举报
回复
up
zjlsct 2003-07-01
  • 打赏
  • 举报
回复
我们要做的decaf是允许嵌套注释的。
遇到/*忽略,这好办,只要不进行操作就行
可怎么样让他碰到*/停止忽略,这里指的是不嵌套的情况

33,009

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧