Class: Lit

EBNF~ Lit

Represents a literal symbol for EBNF.


new Lit( [literal])

Creates a literal symbol for EBNF; see factory method grammar.lit(). Sets .expect to contain this.

Parameters:
Name Type Argument Description
literal string <optional>

a (quoted) representation for the literal.

Properties:
Name Type Argument Description
expect module:EBNF~Set

set of terminals which a node expects to see as parser.current.t, maps terminal names to true; expect is not empty.

follow module:EBNF~Set <nullable>

see node.follow().

name string

representation for a literal. Empty string is reserved for $eof, the end of input.

used boolean

true if used in a grammar.

prec Object

precedence, only for translation to BNF.

Properties
Name Type Argument Description
assoc string <optional>

associativity, '%left', '%right', or '%nonassoc', if any.

level number <optional>

precedence level, from 0, if any.

value string

(unquoted) value for the literal; empty string for $eof.

screened boolean <optional>

set true only during scanner construction if literal value matches a token pattern.

Mixes In:
Source:

Extends

Methods


dump()

Displays description and precedence, if any.

Inherited From:
Overrides:
Source:
Returns:
Type
string

toString()

Displays representation of a literal or $eof.

Inherited From:
Overrides:
Source:
Returns:
Type
string

unescape(s)

Removes leading and trailing delimiter character and elaboarates backslash escapes.

Parameters:
Name Type Description
s string

string to unescape.

Inherited From:
Overrides:
Source:
Returns:

unquoted, unescaped string.

Type
string