Преузмите сљедеће датотеке појединачно:
flex.exe
bison.exe
bison.simple
bison.hairy
или пак спаковане у архиву. Пребаците их у један директоријум у којем ћете држати и своје lex/yacc-датотеке.
Претпоставимо да сте након тога направили (у истом директоријуму) lex i yacc датотеке zadatak.l и zadatak.y. Покрените Командни промпт (енгл. Command Prompt) и пређите на дати директоријум. Наредбом
flex zadatak.l
добијате датотеку lex.yy.c, која садржи код на језику C за ваш лексички анализатор (скенер према спецификацији из датотеке zadatak.l). Потом командом
bison zadatak.y
или (ако не пролази)
bison --yacc --defines zadatak.y
добијате датотеке y_tab.c и y_tab.h, које садрже код на C-у за синтаксни анализатор (парсер), односно дефиниције константи за терминале (завршне символе) ваше граматике (које требате укључити у lex-датотеку).
Сада требате компиловати двије добијене C-датотеке (lex.yy.c i y_tab.c). Тачна наредба за компиловање зависи од компилатора језика C који је постављен на вашем ОС. За Борландов C/C++ компилатор наредба је
bcc32 -eparser.exe y_tab.c lex.yy.c
док је за Visual C++ компилатор наредба
cl /out:parser.exe y_tab.c lex.yy.c
а можете, просто, отворити дате C-овске датотеке у неком развојном окружењу које имате и компиловати их. У свим случајевима, уколико успије компилација, parser.exe ће садржавати извршни код за ваш синтаксни анализатор (парсер).
Напомена: flex и bison подразумјевано користе одређене помоћне C-функције које нису стандардно доступне на Виндоуз платформи. Уколико ваш компилатор пријављује грешке:
yywrap -- онда морате користити директиву „noyywrap” у lex-датотеци. Ово постижете тако што у датотеци која садржи lex-дефиниције на првој линији напишете %option noyywrap
yyerror -- онда морате сами дефинисати (написати) ову функцију. Најбоље мјесто да то урадите је одјељак за C-дефиниције у *.y датотеци