/ / bison reentrant parser so štartovacou čiarou # inou ako 1 - bison, flex-lexer

bizónový reentrantový analyzátor so štartovacou čiarou # iný ako 1 - bizón, flex-lexer

Pozerám sa na bison + flex parser s možnosťou reentrant. Analyzátor sa spúšťa vo funkcii, ktorá volá yylex_init(&scanner) kde scanner je a yyscan_t. %locations je zapnutá.

Tento syntaktický analyzátor sa používa na analýzu vložených skriptov nachádzajúcich sa v strede iných súborov. Číslo riadku teda nezačína od 1.

Avšak v analyzátore reentrant je aktuálne číslo riadku uložené v nepriehľadnom yyscan_ta nevidím čistý spôsob zriadenia. Dúfam, že mi niečo chýba.

odpovede:

2 pre odpoveď č. 1

Môžeš použiť yyset_lineno(int line_number, yyscan_t scanner) pre nastavenie aktuálneho čísla riadku.