如何在Lex和Yacc中发表评论?
到目前为止,我还没有尝试过Yacc,但在Lex中我尝试了/* comment */
和// comment
,但这些都没有编译。我在Mac上,使用内置的Lex和Yacc编译器,(或者可能是X-Code,我不知道)。 Lex或Yacc中的注释的正确语法是什么,或者最好两者都是?
答案 0 :(得分:2)
任何 C 评论都可以作为Yacc和Lex中程序中任何位置的评论, BUT:
/* comment */
写入您的程序,触摸文本的LHS将不工作!
// comment
评论,Lex和Yacc并不好。这些评论虽然可以在C程序中使用,但 NOT WORK! 答案 1 :(得分:1)
来自 info flex :
在定义和规则部分中,任何缩进文本 或%{和%}中的文本被逐字复制到 输出(删除了%{}')。必须出现%{}& 在他们自己的线条上缩小。
在这种情况下,相关文本可以是目标语言的评论。
在定义部分(但不在规则部分), 一个未缩进的注释(即以
/*
开头的行) 也会逐字复制到输出到下一个*/
。
任何有效的C注释都是代码块中的注释。
yacc 中的评论为/* ... */
。