Вопросы по теме 'jison'
Как эта грамматика неоднозначна?
Я пишу простой парсер выражений в Jison. Вот моя грамматика:
{
"operators": [
["left", "+", "-"],
["left", "*", "/", "%"]
],
"bnf": {
"program": [
["statement EOF", "return $1;"]
],...
751 просмотров
schedule
18.03.2022
Джисон: Уменьшить количество конфликтов там, где их на самом деле нет.
Я пытаюсь создать небольшой анализатор 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 просмотров
schedule
23.02.2024
Приоритет правил Джисона
Я пытаюсь создать грамматику для языка программирования в 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