axle.ast

LLLanguage

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

http://www.scribd.com/doc/7185137/First-and-Follow-Set

Linear Supertypes
Serializable, Serializable, Product, Equals, Language, AnyRef, Any
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
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

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

Value Members

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

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

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

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. val _llRuleDescriptions: List[(String, List[String])]

  7. val _llRules: List[LLRule]

  8. val _nonTerminals: List[NonTerminal]

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

  10. val _terminals: List[Terminal]

  11. final def asInstanceOf[T0]: T0

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

    Definition Classes
    Language
  13. def clone(): AnyRef

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

    Definition Classes
    AnyRef
  15. def finalize(): Unit

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

    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)

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

    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.
  18. def follow(symbol: NonTerminal, followMemo: Map[Symbol, Set[Symbol]]): (Set[Symbol], Map[Symbol, Set[Symbol]])

    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)

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

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

    Definition Classes
    Any
  21. def llRules: List[LLRule]

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

    Definition Classes
    Language
  23. val name: String

  24. val name2rule: Map[String, Rule]

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

    Definition Classes
    AnyRef
  26. def nonTerminals: List[NonTerminal]

  27. val nonTerminalsByName: Map[String, NonTerminal]

  28. final def notify(): Unit

    Definition Classes
    AnyRef
  29. final def notifyAll(): Unit

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

  31. def parseDebug(input: String): String

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

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

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

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

  36. def precedenceOf(rule: Rule): Option[Int]

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

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

    Definition Classes
    Language
  39. def startState(input: String): LLParserState

  40. val startSymbol: NonTerminal

  41. val startSymbolString: String

  42. def symbol(label: String): Option[Product with Serializable with Symbol]

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

    Definition Classes
    AnyRef
  44. def terminals: List[Terminal]

  45. val terminalsByName: Map[String, Terminal]

  46. def toString(): String

    Definition Classes
    LLLanguage → AnyRef → Any
  47. def trim(ast: AstNode): AstNode

    Definition Classes
    Language
  48. final def wait(): Unit

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

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

    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