Вопросы по теме 'jison'

Как эта грамматика неоднозначна?
Я пишу простой парсер выражений в Jison. Вот моя грамматика: { "operators": [ ["left", "+", "-"], ["left", "*", "/", "%"] ], "bnf": { "program": [ ["statement EOF", "return $1;"] ],...
751 просмотров

Джисон: Уменьшить количество конфликтов там, где их на самом деле нет.
Я пытаюсь создать небольшой анализатор JavaScript, который также включает типизированные переменные для небольшого проекта. К счастью, jison уже предоставляет файл jscore.js, который я только что настроил под свои нужды. После добавления типов я...
501 просмотров
schedule 23.01.2023

Преобразовать объект jison обратно в строку
Поэтому я создал файл .jison для языка поисковых запросов, который в основном является подмножеством инструкции SQL where. Этот файл можно посмотреть здесь: https://gist.github.com/ryanzec/7d1c8100d1b5f03c0a17 Теперь он работает так, как я...
124 просмотров
schedule 19.05.2022

Как создать пользовательскую функцию в JISON (генератор парсеров)?
Я уже закончил писать калькулятор абстрактного синтаксического дерева с возможностью присваивания. Но я понятия не имею, как можно сделать UDF. Я планировал добавить новую функцию под названием «funcasgn» и немного проанализировать определенную...
638 просмотров

Приоритет правил Джисона
Я пытаюсь создать грамматику для языка программирования в Jison и столкнулся с проблемой вызовов. Функции на моем языке вызываются со следующим синтаксисом: functionName arg1 arg2 arg3 Чтобы аргументы не были простыми выражениями, их нужно...
184 просмотров
schedule 30.07.2023

Как принудительно сдвинуть в Yacc?
У меня есть следующие конструкции как часть грамматики yacc (или, скорее, jison, но они имеют общую основу): Type : IDENT | Type "[" "]" | Type "*" | "func" "(" Types ")" "=>" Type ; Types : /* No arguments */ |...
421 просмотров
schedule 16.11.2022

ДЖИСОН: Как мне избежать парсинга собаки?
У меня есть следующий файл JISON (облегченная версия моего фактического файла, но воспроизводит мою проблему): %lex %% "do" return 'DO'; [a-zA-Z_][a-zA-Z0-9_]* return 'ID'; "::"...
67 просмотров
schedule 12.09.2022