Yacc resp FsYacc - operator precedence rubrika: Programování: Jiné
Ahojte poprosím krátky výklad ako funguje prioritizácia operátorov v násstroji Yacc. Robím si totiž programovací jazyk, ale dáko mi nefungujú tie priority operátorov tak ako by som chcel. (And a Or by mal mať prednosť pred == a !== a < a > atd)
Viem že sa na to používajú %left %right a %nonassoc ale potreboval by som to teraz presne vysvetliť čo a ako funguje (zatiaľ si to len domýšlam na základe zdrojákov parserov iných jazykov čo som našiel na githube ale asi si nedomýšlam správne keďže to nerobí úplne to čo očakávam).
Ahoj, záleží. Jakým jazykem mluvíš?
Já znám dobře jen PHP a nejlíp se mi čte gramatika v php-parseru, tady konkrétně řádek s ==, ===
Jak dobře? Předtím jsem vůbec netušil to je lexer/gramatika/parser a teď po pár měsících jsem už přidal typované property, arrow functions nebo spread operator (všechny z PHP 7.4).
Jestli neznáš PHP, tak ti to bude asi k ničemu :D
Pro plný přístup na Devel.cz se prosím přihlaste:
Nebo se přihlaste jménem a heslem:
Komentáře