o

xyz.cofe.stsl.ast

Parser

object Parser

Парсер

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Parser
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. type AstGR = GR[PTR, AST]
  2. type OpLiteral = GR[PTR, OperatorAST]
  3. type PTR = LPointer[CToken]

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. val add: AstGR

    Правило +, -

  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. val atom: AstGR

    Атомарное значение
    ::= lambdaWithoutParams
      | lambdaWithParams
      | parenthes
      | unary
      | literal
      | identifier

    Атомарное значение
    ::= lambdaWithoutParams
      | lambdaWithParams
      | parenthes
      | unary
      | literal
      | identifier

  7. def binary(init: AstGR, operatorLit: OpLiteral, follow: AstGR): AstGR

    Постраение правил бинарных операторов
    ::= init { operatorLit follow }

    Постраение правил бинарных операторов
    ::= init { operatorLit follow }

    init

    начальное правило

    operatorLit

    операторы

    follow

    последующие правила

    returns

    правило

  8. def binary(init: AstGR, operatorLit: OpLiteral, follow: AstGR, join: (AST, OperatorAST, AST) ⇒ AST): AstGR

    Постраение правил бинарных операторов
    ::= init { operatorLit follow }

    Постраение правил бинарных операторов
    ::= init { operatorLit follow }

    init

    начальное правило

    operatorLit

    операторы

    follow

    последующие правила

    join

    объединение узлов

    returns

    правило

  9. val bool: AstGR

    Правило &, |

  10. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native() @HotSpotIntrinsicCandidate()
  11. val cmp: AstGR

    Правило ==, !=, <, >, <=, >=

  12. val emptyObj1: GR[PTR, PojoAST]
  13. val emptyObj2: GR[PTR, PojoAST]
  14. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  16. val expression: ProxyGR

    "Начальное" правило

  17. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  18. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  19. val identifier: AstGR

    Правило распознования IdentifierAST

  20. val ifOp: AstGR

    Условный оператор

  21. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  22. val lambdaParam: GR[PTR, ParamAST]

    Параметр лямды ::= identifier ':' typeName

  23. val lambdaRecusionParam: GR[PTR, ParamAST]

    Параметр-рекурсия лямды ::= identifier '::' typeName

  24. val lambdaWithParams: GR[PTR, LambdaAST]

    Лямбда с параметрами ::= lambdaParam {',' lambdaParam} [ ',' lambdaRecusionParam ] '=>' expression
    Примеры

    Лямбда с параметрами ::= lambdaParam {',' lambdaParam} [ ',' lambdaRecusionParam ] '=>' expression
    Примеры

    x:int, y:int => x + y
    x:int, y:int, r::int => x + y
    x:int, r::int => x<0 ? 0 : r(x-1) + x
    

  25. val lambdaWithoutParams: GR[PTR, LambdaAST]

    Лямбда без параметров
    ::= '(' ')' '=>' expression
    ::= '()' '=>' expression
    ::= '()=>' expression

  26. val literal: AstGR

    Правило распознования LiteralAST

  27. val mul: AstGR

    Правило *, /, %
    ::= binary( postFix, operator("*","/","%"), postFix )

  28. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  29. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  30. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  31. val objDef: GR[PTR, PojoAST]
  32. val objKeyVal: GR[PTR, PojoItemAST]
  33. val objNonEmpty: GR[PTR, PojoAST]
  34. def operator(operators: String*): OpLiteral

    Создание правила для OperatorAST

    Создание правила для OperatorAST

    operators

    Список понимаемых операторов

    returns

    правило для распознования OperatorAST

  35. val parenthes: GR[PTR, DelegateAST]

    Скобочное выражение ::= '(' expression ')'

  36. def parse(source: String): Option[AST]

    Парсинг исходного текста в AST

    Парсинг исходного текста в AST

    source

    исходный текст

    returns

    AST

  37. val postFix: AstGR

    Правило postFix:
    ::= atom {

    Правило postFix:
    ::= atom {

    // Доступ к свойству
    '.' identifier

    // Вызов метода/функции
    | '(' [ expression { ',' expression } ] ')'
    }

  38. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  39. def ternary(condition: AstGR, question: OpLiteral, success: AstGR, elseOp: OpLiteral, failure: AstGR): AstGR
  40. def toString(): String
    Definition Classes
    AnyRef → Any
  41. val typeName: GR[PTR, TypeNameAST]
  42. val unary: GR[PTR, UnaryAST]

    Унарный оператор -, !
    ::= ( '-' | '!' ) expression

  43. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  44. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  45. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] ) @Deprecated @deprecated
    Deprecated

    (Since version ) see corresponding Javadoc for more information.

Inherited from AnyRef

Inherited from Any

Ungrouped