Class/Object

axle.ast

LLLanguage

Related Docs: object LLLanguage | package ast

Permalink

case class LLLanguage(name: String, _llRuleDescriptions: List[(String, List[String])], startSymbolString: String = "S") extends Language with Product with Serializable

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. LLLanguage
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. Language
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new LLLanguage(name: String, _llRuleDescriptions: List[(String, List[String])], startSymbolString: String = "S")

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. val _llRuleDescriptions: List[(String, List[String])]

    Permalink
  5. val _llRules: List[LLRule]

    Permalink
  6. lazy val _parseTable: Map[(NonTerminal, Symbol), LLRule]

    Permalink
  7. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  8. def associativityOf(rule: Rule): String

    Permalink
    Definition Classes
    Language
  9. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  10. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  11. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  12. def first(X: Symbol): Set[Symbol]

    Permalink

    1.

    1. If X is a terminal then First(X) is just X 2. If there is a Production X -> epsilon then add epsilon to first(X) 3. If there is a Production X -> Y1Y2..Yk then add first(Y1Y2..Yk) to first(X)

  13. def first(XS: List[Symbol]): Set[Symbol]

    Permalink

    4.

    4. First(Y1Y2..Yk) is either

    1. First(Y1) (if First(Y1) doesn't contain epsilon) 2. OR (if First(Y1) does contain epsilon) then First (Y1Y2..Yk) is everything in First(Y1) <except for epsilon > as well as everything in First(Y2..Yk) 3. If First(Y1) First(Y2)..First(Yk) all contain epsilon then add epsilon to First(Y1Y2..Yk) as well.
  14. def follow(symbol: NonTerminal, followMemo: Map[Symbol, Set[Symbol]]): (Set[Symbol], Map[Symbol, Set[Symbol]])

    Permalink

    1.

    1. First put ⊥ (the end of input marker) in Follow(S) (S is the start symbol) 2. If there is a production A -> aBb, (where 'a' can be a whole string) then everything in FIRST(b) except for epsilon is placed in FOLLOW(B). 3. If there is a production A -> aB, then everything in FOLLOW(A) is in FOLLOW(B) 4. If there is a production A -> aBb, where FIRST(b) contains epsilon, then everything in FOLLOW(A) is in FOLLOW(B)

  15. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  16. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  17. def llRules: List[LLRule]

    Permalink
  18. def lowerThan(x: Rule, y: Rule): Option[Boolean]

    Permalink
    Definition Classes
    Language
  19. val name: String

    Permalink
    Definition Classes
    LLLanguageLanguage
  20. val name2rule: Map[String, Rule]

    Permalink
    Definition Classes
    Language
  21. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  22. val nonTerminals: List[NonTerminal]

    Permalink
  23. val nonTerminalsByName: Map[String, NonTerminal]

    Permalink
  24. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  25. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  26. def parse(input: String): Option[List[LLRule]]

    Permalink
  27. def parseDebug(input: String): String

    Permalink
  28. def parseFile(filename: String): Option[AstNode]

    Permalink
    Definition Classes
    Language
  29. def parseStateStream(state: LLParserState): Stream[(LLParserAction, LLParserState)]

    Permalink
  30. def parseString(code: String): Option[AstNode]

    Permalink
    Definition Classes
    Language
  31. def parseTable: Map[(NonTerminal, Symbol), LLRule]

    Permalink
  32. def parser: (String) ⇒ None.type

    Permalink
    Definition Classes
    LLLanguageLanguage
  33. def precedenceGroups: Nil

    Permalink
    Definition Classes
    LLLanguageLanguage
  34. def precedenceOf(rule: Rule): Option[Int]

    Permalink
    Definition Classes
    Language
  35. val rulename2associativity: Map[String, String]

    Permalink
    Definition Classes
    Language
  36. val rulename2precedence: Map[String, Int]

    Permalink
    Definition Classes
    Language
  37. def rules: Nil

    Permalink
    Definition Classes
    LLLanguageLanguage
  38. def startState(input: String): LLParserState

    Permalink
  39. val startSymbol: NonTerminal

    Permalink
  40. val startSymbolString: String

    Permalink
  41. def symbol(label: String): Option[Symbol]

    Permalink
  42. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  43. val terminals: List[Terminal]

    Permalink
  44. val terminalsByName: Map[String, Terminal]

    Permalink
  45. def trim(ast: AstNode): AstNode

    Permalink
    Definition Classes
    Language
  46. def trimmer: (AstNode) ⇒ AstNode

    Permalink
    Definition Classes
    LLLanguageLanguage
  47. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  48. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  49. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from Language

Inherited from AnyRef

Inherited from Any

Ungrouped