c

xyz.cofe.stsl.ast

LambdaAST

class LambdaAST extends AST

Определение лямбды

Пример парсинг выражения

a:int , b:int => a+b

Дерево AST:

LambdaAST
-| ParamAST IdentifierAST IdentifierTok a
-|-| IdentifierAST IdentifierTok a
-|-| TypeNameAST int
-| ParamAST IdentifierAST IdentifierTok b
-|-| IdentifierAST IdentifierTok b
-|-| TypeNameAST int
-| BinaryAST +
-|-| IdentifierAST IdentifierTok a
-|-| IdentifierAST IdentifierTok b

Пример парсинг выражения

a:int , b:int , r :: int => a+b

Дерево AST:

LambdaAST recursion: ParamAST IdentifierAST IdentifierTok r
-| ParamAST IdentifierAST IdentifierTok a
-|-| IdentifierAST IdentifierTok a
-|-| TypeNameAST int
-| ParamAST IdentifierAST IdentifierTok b
-|-| IdentifierAST IdentifierTok b
-|-| TypeNameAST int
-| ParamAST IdentifierAST IdentifierTok r
-|-| IdentifierAST IdentifierTok r
-|-| TypeNameAST int
-| BinaryAST +
-|-| IdentifierAST IdentifierTok a
-|-| IdentifierAST IdentifierTok b

Пример парсинг выражения

() => a+b

Дерево AST:

LambdaAST
-| BinaryAST +
-|-| IdentifierAST IdentifierTok a
-|-| IdentifierAST IdentifierTok b

Linear Supertypes
AST, Tok[PTR], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. LambdaAST
  2. AST
  3. Tok
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new LambdaAST(begin: PTR, end: PTR, params: List[ParamAST] = List(), body: AST, recursion: Option[ParamAST] = None)

    begin

    начало в тексте

    end

    конец в тексте

    params

    параметры

    body

    тело

    recursion

    параметр для рекурсии

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. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def begin(): PTR

    Возвращает указатель на начало лексемы

    Возвращает указатель на начало лексемы

    returns

    Указатель

    Definition Classes
    AST
  6. val body: AST
  7. def children(): List[AST]

    Возвращает список дочерних узлов

    Возвращает список дочерних узлов

    returns

    дочерние узлы

    Definition Classes
    AST
  8. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native() @HotSpotIntrinsicCandidate()
  9. def end(): PTR

    Возвращает указатель на конец лексемы

    Возвращает указатель на конец лексемы

    returns

    Указатель

    Definition Classes
    AST → Tok
  10. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  11. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  12. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  13. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  14. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  15. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  16. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  17. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  18. val params: List[ParamAST]
  19. val recursion: Option[ParamAST]
  20. def replace(what: AST, to: AST): LambdaAST

    Клонирование и замена дочернего узла

    Клонирование и замена дочернего узла

    what

    Что заеняется

    to

    На что заменяется

    returns

    клон с новым значением

    Definition Classes
    LambdaASTAST
  21. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  22. def toString(): String
    Definition Classes
    LambdaAST → AnyRef → Any
  23. def tree: ASTIterator

    Итератор по дереву AST

    Итератор по дереву AST

    returns

    Дерево

    Definition Classes
    AST
  24. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  26. 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 AST

Inherited from Tok[PTR]

Inherited from AnyRef

Inherited from Any

Ungrouped