Описание тега nearley
Что касается синтаксического анализа nearley.js, синтаксического анализатора на основе JavaScript, использующего синтаксис Earley. Часто используется вместе с парсером moo.
2
ответа
Nearley Moo - грамматика не работает с использованным лексером Moo
Я использую грамматику (и парсер) nearley.js с токенайзером moo.js. Мой файл grammar.ne выглядит следующим образом: @{% const moo = require('moo') let lexer = moo.compile({ number: /[0-9]+/ }); %} @lexer lexer trig -> "sin" [0-9]:+ При синтаксиче…
28 окт '18 в 03:06
1
ответ
Грамматика Nearley распознает один и тот же нетерминальный символ несколько раз при определенных условиях
Учитывая следующий код рядом: @builtin "whitespace.ne" @{% let numberedParams = { 3: 45 }; const lexer = require("moo").compile({ comment: /\(.*?\)/, expstart: /\[/, expend: /\]/, paramstart: '#', equals: "=", operator: /\*\*|\+|\-|\*|\/|OR|XOR|AND|…
06 май '18 в 20:46
1
ответ
Использование вложенных макросов в Nearley вкладывает результат данных
Эта проблема На первый взгляд, макросы не могут быть правильно вложены без серьезных ошибок. Основная проблема заключается в том, что при получении значения макроса из объекта данных это значение вкладывается в список: a[X] -> $X {% id %} main -&…
30 окт '18 в 05:58
1
ответ
Почему Nearley-Unparse не включает токены в примеры строк, сгенерированных из скомпилированной грамматики Nearley, при использовании Moo в качестве токенизатора / лексера
Я не уверен, является ли это проблемой с библиотекой Nearley.js, токенайзером / лексером Moo или с моим собственным кодом. Поэтому мне, возможно, придется отправить это в качестве вопроса в репозиторий Nearley. Все ссылки на файлы можно найти в этом…
01 фев '18 в 17:34
0
ответов
Разбор вложенных операторов if/else
Я работаю над реализацией JavaScript OpenSCAD язык, который - для этой цели - язык C-типа. Я был в состоянии успешно разобрать все виды if а также if/else заявления: if(true) t1=200;t2=500; if(true) t1=200; if(true)t1=200; if(true){t1=200;} if(true)…
05 дек '17 в 23:28
0
ответов
Грамматика Nearley соответствует одному и тому же фрагменту текста терминалу и нетерминалу один за другим, что приводит к неверному результату
Грамматика нуб здесь. Мне нужно разобрать математические формулы, подобные тем, которые приняты SymPy, и преобразовать их в некое синтаксическое дерево слева направо, используя эту грамматику Nearley. Проблема появляется, когда у меня есть выражение…
23 май '18 в 07:50
1
ответ
Nearley Tokenizer против правил
Я довольно новичок в чуть ли не в .js, и я хотел бы знать, что токенизаторы / лексеры делают по сравнению с правилами, согласно веб-сайту: По умолчанию nearley разбивает входные данные на поток символов. Это называется анализом без сканера. Токенайз…
27 авг '18 в 19:08
0
ответов
Customer Lexer - Пример
На самом деле я ищу пример реализации лексера клиента, который будет использоваться в nearley.js ( https://nearley.js.org/docs/tokenizers). К сожалению, там нет приведенного примера. Какие-либо предложения? Спасибо!
16 янв '19 в 12:33
0
ответов
Nearley.js - есть ли способ написать правило для определения предложения, число которого разделено "," или "-"
Я использую nearley.js для анализа предложения, введенного пользователем. У меня есть правило, предназначенное для предложения с числом, разделенным "," и другое правило, что число разделено "-". Но правило, на которое нацелено ",", возьмет на себя …
09 апр '19 в 18:04
0
ответов
Почему моя грамматика Nearley вызывает цикл?
Я играю с nearley.js, и что-то меня смущает. В качестве теста я пытаюсь построить парсер, разбирающий покерные ряды. Теперь эта грамматика работает как положено: @{% function nuller() { return null; } %} main -> _ composition _ {% nuller %} compo…
19 июн '19 в 17:24
0
ответов
Построение грамматики для описания имен файлов с соответствующими метаданными
У меня есть несколько циркулярных писем IMO, которые я хочу автоматизировать для извлечения метаданных. К сожалению, метаданные PDF не годятся для этого. Но имена файлов значимы и содержат много. Ниже приведен пример списка: Circular Letter No.1886-…
06 июн '19 в 15:39
1
ответ
Как исправить ошибку SyntaxError: Unexpected token:
Я пытаюсь заставить работать, но в итоге получаю "SyntaxError: Unexpected token:". Проблема отображается, когда я запускаю nearley-test -i "help" command.js, и я не совсем уверен, в чем причина этого. Поскольку я не слишком знаком с javascript, и эт…
11 сен '19 в 01:28
2
ответа
Неарли по крайней мере один
У меня есть грамматика, в которой я хочу, чтобы между двумя терминами были пробелы (включая новые строки). Должны быть некоторые пробелы, то есть он не должен работать, если два термина соприкасаются, однако пробелов может быть сколько угодно. Пробл…
17 фев '20 в 18:59
1
ответ
Как я могу написать недвусмысленную грамматику для логических операторов поиска
Контекст Я поднимаюсь по кривой обучения Неарли и пытаюсь написать грамматику для парсера поисковых запросов. Цель Я хотел бы написать грамматику, которая может анализировать строку запроса, содержащую логические операторы (например, AND, OR, NOT). …
24 сен '19 в 04:30
0
ответов
nearley.js | Как обрабатывать новую строку?
эта проблема Итак, вот моя грамматика простых функций, где say "hello" текст анализируется на объект {функция: "сказать", аргумент: "привет"} Итак, я не могу понять, как таким же образом разобрать следующую строку? say "hello" q…
12 июл '20 в 13:05
1
ответ
(E)BNF Как выполнить сопоставление до следующего нетерминального правила?
Я пытаюсь написать грамматику для контента в формате RIS с помощью nearley Пример файла: TY - JOUR KW - foo KW - bar ER - А *.ris файл всегда начинается с тега TY и заканчивается тегом ER. Между ними может быть много других тегов, напримерKW (ключев…
21 июн '20 в 21:48
0
ответов
Как использовать moo lexer (и nearley) с большими файлами
Я пытаюсь найти что-то, что будет анализировать очень большие файлы (в основном файлы PGN). Я начал использовать antlr4, но даже если они утверждают, что их классы являются "потоками", это не так. antlr4 взял мой тестовый файл игры 5457518 и попытал…
15 апр '20 в 00:26
2
ответа
Грамматика - как сопоставить необязательные и обязательные пробелы до и после слов?
Я использую Nearley и moo, чтобы придумать довольно сложную грамматику. Кажется, он работает нормально, ЗА ИСКЛЮЧЕНИЕМ моих требований к пробелам. Мне нужно требовать пробелы, когда это необходимо, и разрешать их, когда нет, сохраняя при этом однозн…
24 ноя '20 в 21:57
1
ответ
Грамматика парсера Nearley для анализа открывающих и закрывающих тегов
Скажем, у меня был простой язык для синтаксического анализа, состоящий только из строк. "this is a string" string -> "\"" chars "\"" Однако эта строка может содержать код в фигурных скобках. Для простоты давайте просто скажем, что это может быть …
21 апр '21 в 08:18
0
ответов
Парсер Nearley запускается 36 раз, когда принимает огромную строку с «\ n» через запрос POST.
Я использую JavaScript для простого запроса POST, который получает огромные блоки строки. Затем я беру эту строку и пропускаю ее через свой синтаксический анализатор Nearley. При форматировании, как показано ниже, и запуске моего парсера все в поряд…
19 июн '21 в 04:53