Rules


Content:

public static class CommonParserRules

Language: C#

Коллекция базовых правил парсера для распространённых конструкций

public class BinaryOperatorRule : IParserRule

Language: C#

Правило для бинарных операторов: left op right

public class UnaryOperatorRule : IParserRule

Language: C#

Правило для унарных операторов: op operand

public class PostfixOperatorRule : IParserRule

Language: C#

Правило для постфиксных операторов: operand op

public class ParenthesesRule : IParserRule

Language: C#

Правило для скобочных выражений: (expression)

public class FunctionCallRule : IParserRule

Language: C#

Правило для вызова функции: identifier(args)
Упрощённая версия - обрабатывает только один аргумент

public class ArrayIndexRule : IParserRule

Language: C#

Правило для индексации массива: expression[index]

public class SimpleParserRule : IParserRule

Language: C#

Простое правило парсера для совпадения с одним или несколькими токенами определенного типа.

Parameters:

  • targetTokenType: Тип токена, который ищет это правило
  • validator: Дополнительная функция проверки токена. Если null, проверяется только тип

public class SequenceParserRule : IParserRule

Language: C#

Правило парсера для совпадения последовательности и вызова обработчика
Ожидает последовательность токенов заданных типов в указанном порядке

Массив типов токенов, которые должны идти последовательно Функция для создания результирующего токена из совпавших токенов. Если null, возвращается первый токен

public class AlternativeParserRule : IParserRule

Language: C#

Правило парсера для совпадения с одной из альтернатив
Проверяет, совпадает ли текущий токен с одним из указанных типов

Массив допустимых типов токенов