alpaca.internal.parser
Members list
Type members
Experimental classlikes
Represents a non-terminal symbol in the grammar.
Represents a non-terminal symbol in the grammar.
Non-terminals are symbols that can be expanded into other symbols according to the grammar rules. For example, in a typical expression grammar, "expr" and "term" would be non-terminals.
Value parameters
- name
-
the name of the non-terminal
Attributes
- Companion
- object
- Experimental
- true
- Source
- Symbol.scala
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass AnyValtrait Matchableclass AnyShow all
Attributes
- Companion
- class
- Experimental
- true
- Source
- Symbol.scala
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
NonTerminal.type
Base class for parsers.
Base class for parsers.
Users should extend this class and define their grammar rules as Rule instances. The parser uses an LR parsing algorithm with automatic parse table generation.
Type parameters
- Ctx
-
the global context type, defaults to EmptyGlobalCtx
Attributes
- Experimental
- true
- Source
- Parser.scala
- Supertypes
-
class Objecttrait Matchableclass Any
Attributes
- Companion
- class
- Experimental
- true
- Source
- Symbol.scala
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
Terminal.type
Represents a terminal symbol in the grammar.
Represents a terminal symbol in the grammar.
Terminals are the basic tokens that come from the lexer and cannot be expanded further. For example, numbers, identifiers, and operators are typically terminals.
Value parameters
- name
-
the name of the terminal (token name)
Attributes
- Companion
- object
- Experimental
- true
- Source
- Symbol.scala
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass AnyValtrait Matchableclass AnyShow all
Value members
Experimental methods
Attributes
- Experimental
- true
- Source
- Parser.scala
