Описание тега sprache

Sprache is a lightweight library for constructing parsers directly in C# code with capabilities generally in the range between regular expressions and tools like ANTLR.
1 ответ

Парсер "Sprache" Семантика настоящего

Я пишу синтаксический анализатор, который соответствует Системе для управления междоменной идентификацией: спецификация фильтрации протокола. Я смог проанализировать практически любое выражение с помощью Sprache, кроме оператора "pr". Не могу оберну…
30 ноя '15 в 22:23
1 ответ

Получение исключения при разборе файла с помощью Sprache "Ошибка разбора: достигнут неожиданный конец ввода; ожидается ="

Я хочу разобрать файл ниже, first=The_First_Step { { value=First.Value, } } second=The_Second_Step { { another = Second_Value, more = Yet.More, } } Я написал грамматику как, public static NGSection ParseSections(string ngServerConfig) { return Secti…
28 авг '17 в 07:06
2 ответа

Sprache парсер и символы, убегающие

Я не нашел пример - что делать с убегающими персонажами. Я нашел пример кода: static void Main(string[] args) { string text = "'test \\\' text'"; var result = Grammar.QuotedText.End().Parse(text); } public static class Grammar { private static reado…
28 сен '15 в 20:38
1 ответ

Разбор текстовых запросов в Sprache

Я пытаюсь написать код для соответствия строк на основе шаблона: образец: "собака и (кошка или коза)" тестовая строка: "doggoat" результат: true тестовая строка: "dogfrog" результат: false Я пытаюсь написать парсер, используя Sprache, с большей част…
2 ответа

Сбросить строки оператора LINQ "from"

Я использую библиотеку Sprache, которая позволяет создавать парсеры с использованием LINQ. Однако иногда мне нужно что-то анализировать, а затем отбрасывать результат. Например: from key in Identifier from __ws1 in OptionalWhitespace from __setter i…
15 дек '17 в 08:59
0 ответов

Как создать синтаксический анализатор (XAML) с помощью Sprache?

Я создал pull-парсер как часть моего проекта OmniXaml. Он читает файл XML и преобразует его в перечисляемый узел XAML. Но я не доволен результатом, поэтому решил попробовать построить еще один более элегантный способ. Вот почему я попытался сделать …
19 апр '15 в 21:38
0 ответов

"Sprache" монадический синтаксический анализатор `Or` и`Many`

Я использую Sprache monadic parser для разбора DSL. Это фрагмент моей грамматики: public static readonly Parser<IExpression> TerminatedStatement = from exp in Parse.Ref(() => Expression) from _ in Parse.Char(';').Token() select exp; public …
13 июл '15 в 11:16
1 ответ

Sprache: анализировать целое число со знаком

Интересно, есть ли лучший способ для анализа подписанного целого числа с использованием фреймворка Sprache? Хорошо известно определение парсера для целых чисел без знакаParse.Number.Select(int.Parse) Но я хочу разобрать целые числа с - префикс также…
28 янв '14 в 18:52
1 ответ

Sprache парсер с настраиваемыми полями

У меня есть сервер отчетов, который должен проанализировать строку с некоторыми аргументами, управляющими содержимым отчета. Я использую Sprache библиотеки парсера, чтобы помочь с этим. Все работает нормально, кроме одной вещи, на которой я застрял.…
05 мар '13 в 09:19
1 ответ

Как перевести запрос linq на вызовы метода

Я пытаюсь сделать парсер с помощью Sprache Я использую F#. Все примеры, которые я когда-либо видел для библиотеки, используют синтаксис запроса Linq. Я пытался перевести linq в F#, используя выражение для вычисления "query", но там я заблудился. Вот…
30 июл '15 в 17:10
1 ответ

Разбор рекурсивного выражения в Sprache

Я создаю анализатор Sprache для анализа выражений, похожих на условия поиска SQL. например Property = 123 или же Property > AnotherProperty Пока оба этих примера работают, однако я изо всех сил пытаюсь выяснить, что мне нужно сделать, чтобы разре…
06 авг '18 в 18:37
2 ответа

Использование Sprache для анализа Enums по идентификаторам?

Я начинаю использовать Sprache для разбора предметного языка для математических выражений. Я знаю, что могу разобрать идентификатор, используя что-то вроде этого: static readonly Parser<string> Identifier = from leading in Parse.WhiteSpace.Man…
21 сен '15 в 16:08
4 ответа

Регулярное выражение для игнорирования последовательных кавычек в строке

Я создал парсер в Sprache и C# для файлов, использующих формат, который я не контролирую. С его помощью я могу правильно конвертировать: a = "my string"; в my string Парсер (только для цитируемого текста) в настоящее время выглядит так: public stati…
13 июн '14 в 02:14
1 ответ

Разбор списка значений с опцией очистки пустого списка

Я пытаюсь разобрать массив элементов, используя библиотеку Sprache для C# У меня есть рабочий код, который выглядит следующим образом. public static Parser<string> Array = from open in OpenBrackets.Named("open bracket") from items in Literal.O…
10 мар '18 в 22:12
0 ответов

Sprache как инструмент туда и обратно

Можно ли использовать Sprache в качестве инструмента кругового обхода? Я понимаю, что с его помощью я могу создать парсер, который может извлекать информацию из заданного текста. Но я могу использовать тот же (простой *) шаблон, который я использова…
15 ноя '17 в 13:14
1 ответ

Как использовать метод Token() в парсере Sprache

Я использую метод Token() для удаления начальных и конечных пробелов, но это не так, этот тест завершается с сообщениемExpected string to be "token", but it has unexpected whitespace at the end. Я пытался вызвать метод Token() перед методом Text() н…
19 дек '17 в 09:34
1 ответ

Sprache: левая рекурсия в грамматике

Я разрабатываю синтаксический анализатор для языка, похожего на SQL, и у меня есть проблема создания некоторых правил языка, таких как: expression IS NULL а также expression IN (expression1, expression2, ...) с приоритетом между логическими и матема…
11 ноя '13 в 11:18
1 ответ

Как улучшить обмен сообщениями об ошибках анализатора Sprache с отсутствующей закрывающей скобкой?

Я строю простую грамматику в командном стиле, используя Sprache. Я пытаюсь выяснить, есть ли способ улучшить отчетность об ошибках при отсутствии закрывающего символа (например,],), }). Если закрывающий символ отсутствует, моя грамматика правильно с…
12 июн '16 в 19:51
1 ответ

Sprache: Как исключить буквы из числовых совпадений?

Использование монадического синтаксического анализатора Sprache для поиска совпадений с числовыми символами (0..9), за исключением нечисловых символов, но с пробелом в начале или в конце, все в порядке. Я думал, что это должно работать: public stati…
26 мар '13 в 03:29
1 ответ

Sprache - комбинация парсеров

Используя Sprache, у меня есть парсеры A,B,C,D, которые совпадают с разными входными частями и выбирают (возвращают) разные экземпляры классов. В моем входе есть много частей в случайном порядке, экв. "Abaabccbdbabddba". Мне нужно выбрать все "а" и …
15 сен '15 в 05:46