Вопросы по теме 'fparsec'
Парсинг простых типов в FParsec
Я пытаюсь разобрать стандартные простые типы (в смысле лямбда-исчисления) с помощью FParsec, но мне трудно перейти от стиля Lex/Yacc к стилю, используемому в FParsec, особенно в отношении рекурсивных определений.
Примеры типов, которые я пытаюсь...
550 просмотров
schedule
20.03.2022
Как устранить ошибку FParsec Комбинатор «многие» был применен к синтаксическому анализатору, который работает без использования
У меня есть парсер, который кажется достаточно простым. Я добавил этот вспомогательный анализатор в конец, чтобы предоставить информацию об общих ошибках синтаксического анализа, поскольку все остальные вспомогательные анализаторы не сработали -...
565 просмотров
schedule
07.07.2023
Разбор чисел в FParsec
Я начал изучать FParsec. У него очень гибкий способ анализа чисел; Я могу предоставить набор числовых форматов, которые я хочу использовать:
type Number =
| Numeral of int
| Decimal of float
| Hexadecimal of int
| Binary of int...
1459 просмотров
schedule
27.12.2022
Как заставить анализатор идентификаторов останавливаться на операторах OperationPrecedenceParser в FParsec?
Я реализую парсер для имен идентификаторов, которые будут использовать символы Unicode. Проблема, с которой я столкнулся, заключается в том, что у меня есть некоторые операторы, которые также написаны с помощью символов Юникода, и они могут быть...
146 просмотров
schedule
01.02.2023
Хвостовая рекурсия в FParsec
Я столкнулся с проблемой парсеров с двумя ветвями рекурсии. Чтобы упростить демонстрацию проблемы, я использую простую грамматику лямбда-исчисления из статья, написанная Лукой Болоньезе в качестве примера:
<expression> ::= <name>...
384 просмотров
schedule
28.07.2023
стили FParsec; продемонстрировать различия между комбинатором и монадическим стилем?
Я новичок в F#, около двух месяцев, и недавно я закончил руководство по FParsec и начал искать другие примеры. Чем больше я читал, тем больше запутывался, а потом начал видеть ссылки на стили. Я искал другие стили и придумал этот список....
220 просмотров
schedule
07.07.2022
FParsec - Как анализировать стандартный входной поток
Кажется, я не могу успешно разобрать стандартный входной поток с помощью FParsec. Я сократил свой случай до этого очень простого кода:
match (runParserOnStream (pstring "test" .>> FParsec.CharParsers.newline) () "stdin"...
538 просмотров
schedule
22.09.2022
Разбор int или float с помощью FParsec
Я пытаюсь проанализировать файл, используя FParsec, который состоит из значений типа float или int. У меня две проблемы, для которых я не могу найти хорошего решения.
1
И pint32 , и pfloat успешно проанализируют одну и ту же строку, но...
577 просмотров
schedule
06.04.2022
Откат FParsec во вложенном парсере
Я хочу анализировать выражения, построенные так: a is x or y or z or b is z or w , поэтому в основном у меня есть один и тот же разделитель для разных правил в моей грамматике.
Мне уже удалось разобрать такие выражения с помощью Antlr, поскольку...
107 просмотров
schedule
01.09.2022
Как разобрать последовательность слов, разделенных двойными пробелами, с помощью fparsec?
Учитывая ввод:
alpha beta gamma one two three
Как я могу разобрать это ниже?
[["alpha"; "beta"; "gamma"]; ["one"; "two"; "three"]]
Я могу написать это, когда есть лучший разделитель (например, __), как тогда
sepBy (sepBy word...
182 просмотров
schedule
24.06.2022
Пример простого списка FParsec
Я только начинаю работать с FParsec и не могу понять простой синтаксический анализатор списков. Учитывая ввод
"{
a;b;c
d;
}"
Я хочу получить результат ['a';'b';'c';'d']
If I do
let baseChars = ['0'..'9'] @ ['A'..'Z'] @...
115 просмотров
schedule
20.12.2022