Class EBNFParser
Represents EBNF Parser Generator Object
Defined in: generator01.js.
Constructor Attributes | Constructor Name and Description |
---|---|
EBNFParser(syntax, name, ver)
EBNF Parser Generator Object
|
Field Attributes | Field Name and Description |
---|---|
syntax buffer
|
|
name of the parser
|
|
syntax buffer pointer
|
|
version of the parser
|
Method Attributes | Method Name and Description |
---|---|
alternative = sequence, {'|', sequence}.
|
|
character = symbol | letter | digit;
|
|
group()
group = '(', alternative, ')'.
|
|
id()
id = letter, {letter | digit};
|
|
id0()
id0 = letter, {letter | digit};
|
|
letter()
letter = lower | upper;
|
|
option()
opttion = '[', alternative, ']'.
|
|
primary()
primary = terminal | id | repeat | option | group.
|
|
repeat()
repeat = '{', alternative, '}';
|
|
rule()
rule = id, '=', alternative, '.
|
|
run(n, match[], parser)
Parser Runner (Generator) for EBNF Syntax
|
|
sequence()
sequence = term, {',', term};
|
|
symbol()
symbol = ',' | '=' | '.
|
|
syntax()
syntax = rule, {rule}.
|
|
term()
term = primary.
|
|
terminal()
terminal = sq, character, {character}, sq;
|
Class Detail
EBNFParser(syntax, name, ver)
EBNF Parser Generator Object
- Parameters:
- {String} syntax
- syntax object for generate parser
- {String} name
- name of the parser
- {String} ver
- version of the parser
- Since:
- 0.1
Field Detail
{String}
buf
syntax buffer
{String}
name
name of the parser
{Integer}
ptr
syntax buffer pointer
{String}
ver
version of the parser
Method Detail
{String}
alternative()
alternative = sequence, {'|', sequence}.
- Returns:
- {String} code generated if matched, null if not matched
{String}
character()
character = symbol | letter | digit;
- Returns:
- {String} code generated if matched, null if not matched
{String}
group()
group = '(', alternative, ')'.
- Returns:
- {String} code generated if matched, null if not matched
{String}
id()
id = letter, {letter | digit};
- Returns:
- {String} code generated if matched, null if not matched
{String}
id0()
id0 = letter, {letter | digit};
- Returns:
- {String} code generated if matched, null if not matched
{String}
letter()
letter = lower | upper;
- Returns:
- {String} code generated if matched, null if not matched
{String}
option()
opttion = '[', alternative, ']'.
- Returns:
- {String} code generated if matched, null if not matched
{String}
primary()
primary = terminal | id | repeat | option | group.
- Returns:
- {String} code generated if matched, null if not matched
{String}
repeat()
repeat = '{', alternative, '}';
- Returns:
- {String} code generated if matched, null if not matched
{String}
rule()
rule = id, '=', alternative, '.'.
- Returns:
- {String} code generated if matched, null if not matched
{Float}
run(n, match[], parser)
Parser Runner (Generator) for EBNF Syntax
- Parameters:
- {String} n
- - number of match
- {Object} match[]
- - array of parsed result
- {String} parser
- - caller method name
- Since:
- 0.1
- Returns:
- {Float} generated code
{String}
sequence()
sequence = term, {',', term};
- Returns:
- {String} code generated if matched, null if not matched
{String}
symbol()
symbol = ',' | '=' | '.' | '|' | '[' | ']' | '{' | '}' '(' | ')';
- Returns:
- {String} code generated if matched, null if not matched
{String}
syntax()
syntax = rule, {rule}.
- Returns:
- {String} code generated if matched, null if not matched
{String}
term()
term = primary.
- Returns:
- {String} code generated if matched, null if not matched
{String}
terminal()
terminal = sq, character, {character}, sq;
- Returns:
- {String} code generated if matched, null if not matched