1
votes

I've been learning flex recently (not adobe flex), and I've been using the flex output file with success (just compiling the lex file generated and that's it). Now I've come across bison, and I've read that bison uses the lex file to get the tokens from the input.

But now I have a problem: I am sitting in front of gcc and I have no idea of how I link the flex file (lex one) and the bison one together.

My question is, how do I link them together in gcc?

1

1 Answers

5
votes

You just compile both c programs together. Yes, the lex part could generate a .h file, but you only have to care about C files on compilation:

lex example4.l
yacc -d example4.y
gcc lex.yy.c y.tab.c -o example4

You can learn more about lex & yacc, in (for example) here:

http://westes.github.io/flex/manual/

http://www.gnu.org/software/bison/manual/