Описание тега instaparse
Parser generator for context-free grammars in [tag:Clojure]. Supports EBNF and ABNF notation.
1
ответ
Как проверить тексты, не соответствующие грамматике Instaparse (Clojure)?
Я написал проект для разбора строк с использованием контекстно-свободной грамматики в Instaparse (Clojure). Теперь я хотел бы проверить несколько строк ввода для их результатов анализа. Некоторые входные строки могут не вписываться в грамматику. До …
13 окт '14 в 11:28
3
ответа
postwalk для оценки арифметического выражения
Я пытаюсь использовать Instaparse, чтобы сделать простой анализатор арифметических выражений. Парсер работает нормально, но я не могу понять, как вычислить возвращенный вложенный вектор. В настоящее время я использую postwalk, как это (ns test5.core…
14 фев '19 в 08:36
1
ответ
Как убрать неоднозначность в грамматике EBPF Instaparse
Как я могу предотвратить, чтобы литерал "," в правиле структуры анализировался как оператор в следующей грамматике EBNF для Instaparse? Грамматика: structure = atom <"("> term ("," term)* <")"> term = atom | number | structure | variable…
02 июн '18 в 19:12
0
ответов
Как разобрать строки в двойных кавычках с instaparse?
Я создаю парсер для языка, и мне не удалось разобрать строки.Примеры: (println "hello world") (println "this one contains an escaped dble quote: \" (bonus points!)") Должны быть извлечены в какой-то момент: "hello world" "this one contains an escape…
25 мар '18 в 14:10
2
ответа
Самый простой способ получить сообщение об ошибке в виде строки в Instaparse?
Instaparse может печатать хорошие сообщения об ошибках в REPL => (negative-lookahead-example "abaaaab") Parse error at line 1, column 1: abaaaab ^ Expected: NOT "ab" но я не могу найти встроенную функцию для получения сообщения в виде строки. Ка…
12 окт '18 в 18:34
1
ответ
Невероятные серии цифр или букв как один лист?
Так что я возился с instaparse, и это было здорово, однако я старался избегать использования регулярных выражений в качестве опоры, и это привело к более многословному. Ради сохранения читабельности давайте просто скажем #'[A-z]' на самом деле в 'A'…
19 апр '16 в 01:17
2
ответа
Неопределенная двусмысленность в Clojure
У меня проблема с неоднозначным разбором в инсте. Вот грамматика: (def yip-shape (insta/parser (str/join "\n" ["S = ( list-item | heading | text-block )*" ;; lists and that "list-item = list-level <ws> anything" "list-level = #' {0,3}\\*'" ;; …
22 фев '16 в 08:46
1
ответ
Instaparse: поддерживается ли отрицание?
- оператор должен поддерживать отрицание, но я не могу заставить его работать: raw-type = "DINT" | "REAL" | "SINT" | "BIT" custom-type = - raw-type Каждый раз, когда я пытаюсь получить сообщение об ошибке: RuntimeException - occurs on the right-hand…
25 авг '16 в 04:18
2
ответа
Instaparse: Как распознать новую строку
Я хочу разобрать текст файла, который содержит переводы строки. Файл может быть в Windows или Unix, но сейчас это файл Windows с таким содержимым: (************** ***************) Выше содержимое файла было прочитано с slurp и будет содержать новую …
23 авг '16 в 07:36
1
ответ
Как разобрать> персонажа в Clojure Instaparse?
Я пытаюсь разобрать > персонаж в Clojure Instaparse. я пытался |> а также |\> но парсер, похоже, не распознает ничего из этого. Кто-нибудь знает правильный синтаксис?
02 авг '15 в 05:38
1
ответ
Как пройти парсинг дерева от инстапарсе
Я экспериментирую с Clojure и Instaparse. Я создал маленький игрушечный язык и застрял в том, как правильно обрабатывать получающееся дерево. Вот что я получаю: [:ClassDescription [:ClassName "Test"] [:Properties [:Property [:PropertyName "ID"] [:Pr…
10 апр '15 в 08:02
1
ответ
Устранение неоднозначности в простой грамматике Instaparse
[Также опубликовано в списке рассылки Instaparse, но также и здесь, так как я предполагаю, что это довольно общая проблема] Рассмотрим грамматику D = (B|S)* S = 'S' B* B = 'B' (Это версия Instaparse BNF...) B может произойти сам по себе или после S;…
21 мар '15 в 16:41
1
ответ
Соответствие чему-либо с Clojure Instaparse
Я хочу разобрать простой язык, который в основном имеет пару специальных символов или символов перед строкой текста. Если он не имеет их, то строка текста просто берется в качестве данных. Например: + hfflsdjf dslfhsldfh sdlfkh sdlfkhs ! sdlfkhsdl s…
16 ноя '18 в 20:05
1
ответ
Как вы становитесь неподходящим, чтобы пропустить пробелы?
Как вы становитесь неподходящим для пропуска пробелов между токенами? (Конечно, я мог бы определить пробел как токен сам по себе и вставить его между всеми элементами в правой части каждого правила, но я имею дело с грамматикой, имеющей более трехсо…
11 апр '16 в 18:38
1
ответ
Instaparse: есть ошибка, но она не сообщается
Я пытаюсь создать грамматику с Instaparse. Довольно часто я обнаруживаю, что этот код не соответствует первому утверждению, выдавая "Пустой список": (defn parse-it [] (let [parser (insta/parser ebnf) res (insta/parses parser input) _ (assert (seq re…
24 авг '16 в 06:51
2
ответа
Есть ли способ ускорить инстапарс?
Я пытаюсь использовать instaparse для файла dimacs размером менее 700 КБ со следующей грамматикой <file>=<comment*> <problem?> clause+ comment=#'c.*' problem=#'p\s+cnf\s+\d+\s+\d+\s*' clause=literal* <'0'> <literal>=#'[…
12 апр '16 в 12:16
1
ответ
Как определить грамматику для кода clojure, используя instaparse?
Я новичок в разборе и хочу проанализировать некоторый код clojure. Я надеюсь, что кто-то может привести пример того, как код clojure может быть проанализирован с использованием instaparse. Мне просто нужно сделать цифры, символы, ключевые слова, пол…
12 авг '13 в 12:39
1
ответ
Грамматика, допускающая произвольный порядок правил
Я (пытаюсь) разработать предметно-ориентированный язык (я назвал его "Фаренгейт") для разработки стилей цитирования. Программа, написанная по Фаренгейту: ДОЛЖЕН иметь ровно один citation блокировать МОЖЕТ иметь ноль или больше macro блоки. Вот упрощ…
14 янв '20 в 16:23
0
ответов
Проблемы с построением правил Clara динамически с помощью instaparse
Я последовал этому примеру Insta Declarative DSL, где мы используем Clara с instaparse для использования DSL и генерации правил. у меня все работает как положено, но одна проблема. Я не могу получить доступ к привязке переменной из условия, выраженн…
24 фев '20 в 15:59
2
ответа
Невероятно плохое время синтаксического анализа
Мне нужно проанализировать код Elisp (Emacs Lisp), поэтому я написал для него парсер с помощью Instaparse. Я ожидал, что это будет медленно, но делать 1 Кб строк в секунду слишком медленно, чтобы быть правильным даже на калькуляторе (или моем доволь…
02 окт '20 в 06:30