How does one make a comment in Lex and Yacc?
So far I haven't tried Yacc, but in Lex I have tried /* comment */
and // comment
, but neither of these compile. I am on a Mac, using the builtin Lex and Yacc compilers, (or maybe the X-Code ones, I don't know). What is the correct syntax for comments in Lex or Yacc, or preferably both?
When using Lex or Yacc whitespace is important, so /* comment */ written into your program touching the LHS of your text will NOT WORK! to make it work, you must add a tab or space to the beginning of the line, to shove it to C code, and not Lex or Yacc code.
those $$ , $1 , $3 are the semantic values for for the symbols and tokens used in the rule in the order that they appear. The semantic value is that one that you get in yylval when the scanner gets a new token.
lex and yacc are a pair of programs that help write other programs. Input to lex and yacc describes how you want your final program to work. The output is source code in the C programming language; you can compile this source code to get a program that works the way that you originally described.
Indented text is copied verbatim to the generated file, but a comment is a comment. Yacc/Bison: Use /* ... */ anywhere in the grammar. In bison, but possibly not other yacc derivatives, you can also use // comments.
Any C comment is acceptable as a comment anywhere in a program in both Yacc and Lex, BUT:
/* comment */
written into your program touching the LHS of your text will NOT WORK!
// comment
comments, Lex and Yacc are not nice. these comments, while will work in a C program, will NOT WORK!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With