| Syntax Productions |
| Terminals |
| Literals |
| Production Cross Reference |
| Lookahead-1 Parser First Token |
| Lookahead-1 Parser Ambiguities |
| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
|---|
Start symbol = file
| Name | Production |
|---|---|
| andex | |
| appinfo | 'appinfo' block ';' |
| arith | |
| base |
|
| block | 'begin' { expr_value | modifier | block | value } 'end' |
| chunk | |
| condex | |
| datetime |
|
| double_float |
|
| eqex | |
| expr | condex |
| expr_value | '(' expr ')' |
| factor | |
| file | 'file' { file_attr } file_body ';' |
| file_attr |
|
| file_attr_flag |
|
| file_attr_value | file_attr_flag { ( '+' | '|' ) file_attr_flag } |
| file_body | 'begin' { chunk } 'end' |
| file_id |
|
| modifier | |
| nested | '(' expr ')' |
| orex | |
| pad |
|
| prim | |
| rec_attr_flag |
|
| rec_attr_value | rec_attr_flag { ( '+' | '|' ) rec_attr_flag } |
| rec_id |
|
| record | 'record' { record_attr } block ';' |
| record_attr |
|
| relex | |
| resource | 'resource' { resource_attr } block ';' |
| resource_attr |
|
| shiftex | |
| size |
|
| sortinfo | 'sortinfo' block ';' |
| term | |
| type_id |
|
| value |
|
| xorex |
| Terminal | Used in |
|---|---|
BINVALUE | value |
CHAR | file_id / rec_id / type_id / value |
DATEVALUE | datetime |
DECVALUE | base / pad / rec_attr_flag / resource_attr / size / value |
DOUBLE | value |
FLOAT | value |
HEXVALUE | datetime / file_attr / file_attr_flag / file_id / rec_attr_flag / rec_id / type_id / value |
OCTVALUE | value |
REAL | value |
STRING | file_attr / value |
TIMEVALUE | datetime |
| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
|---|
Start symbol = file
| Name | First Tokens |
|---|---|
| andex | '!''(''+''-''~'BINVALUECHARDECVALUEDOUBLEFLOATHEXVALUEOCTVALUEREALSTRING |
| appinfo | 'appinfo' |
| arith | '!''(''+''-''~'BINVALUECHARDECVALUEDOUBLEFLOATHEXVALUEOCTVALUEREALSTRING |
| base | 'base''bin''dec''hex''oct' |
| block | 'begin' |
| chunk | 'appinfo''record''resource''sortinfo' |
| condex | '!''(''+''-''~'BINVALUECHARDECVALUEDOUBLEFLOATHEXVALUEOCTVALUEREALSTRING |
| datetime | 'now''today'DATEVALUEHEXVALUE |
| double_float | 'double''float' |
| eqex | '!''(''+''-''~'BINVALUECHARDECVALUEDOUBLEFLOATHEXVALUEOCTVALUEREALSTRING |
| expr | '!''(''+''-''~'BINVALUECHARDECVALUEDOUBLEFLOATHEXVALUEOCTVALUEREALSTRING |
| expr_value | '(' |
| factor | '!''(''+''-''~'BINVALUECHARDECVALUEDOUBLEFLOATHEXVALUEOCTVALUEREALSTRING |
| file | 'file' |
| file_attr | 'attrib''backup_date''creation_date''creatorid''filename''modification''modification_date''typeid''uniqueid_seed''version' |
| file_attr_flag | 'backup''dirty''hidden''newer''nobeam''readonly''reset''resource''stream'HEXVALUE |
| file_attr_value | 'backup''dirty''hidden''newer''nobeam''readonly''reset''resource''stream'HEXVALUE |
| file_body | 'begin' |
| file_id | '{'CHARHEXVALUE |
| modifier | 'base''bin''byte''dec''double''float''hex''long''oct''padchar''padstring''size''word' |
| nested | '(' |
| orex | '!''(''+''-''~'BINVALUECHARDECVALUEDOUBLEFLOATHEXVALUEOCTVALUEREALSTRING |
| pad | 'padchar''padstring' |
| prim | '('BINVALUECHARDECVALUEDOUBLEFLOATHEXVALUEOCTVALUEREALSTRING |
| rec_attr_flag | 'busy''category''delete''dirty''secret'HEXVALUE |
| rec_attr_value | 'busy''category''delete''dirty''secret'HEXVALUE |
| rec_id | '{'CHARHEXVALUE |
| record | 'record' |
| record_attr | 'attrib''recordid' |
| relex | '!''(''+''-''~'BINVALUECHARDECVALUEDOUBLEFLOATHEXVALUEOCTVALUEREALSTRING |
| resource | 'resource' |
| resource_attr | 'id''typeid' |
| shiftex | '!''(''+''-''~'BINVALUECHARDECVALUEDOUBLEFLOATHEXVALUEOCTVALUEREALSTRING |
| size | 'byte''long''size''word' |
| sortinfo | 'sortinfo' |
| term | '!''(''+''-''~'BINVALUECHARDECVALUEDOUBLEFLOATHEXVALUEOCTVALUEREALSTRING |
| type_id | '{'CHARHEXVALUE |
| value | BINVALUECHARDECVALUEDOUBLEFLOATHEXVALUEOCTVALUEREALSTRING |
| xorex | '!''(''+''-''~'BINVALUECHARDECVALUEDOUBLEFLOATHEXVALUEOCTVALUEREALSTRING |
| Ref | Production | Ambiguous Literals/Terminals |
Can't decide between the following |
|---|---|---|---|
| #1 | andex | '!''(''+''-''~'BINVALUECHARDECVALUEDOUBLEFLOATHEXVALUEOCTVALUEREALSTRING |
|
| #2 | arith | '!''(''+''-''~'BINVALUECHARDECVALUEDOUBLEFLOATHEXVALUEOCTVALUEREALSTRING |
|
| #3 | condex | '!''(''+''-''~'BINVALUECHARDECVALUEDOUBLEFLOATHEXVALUEOCTVALUEREALSTRING |
|
| #4 | eqex | '!''(''+''-''~'BINVALUECHARDECVALUEDOUBLEFLOATHEXVALUEOCTVALUEREALSTRING |
|
| #5 | orex | '!''(''+''-''~'BINVALUECHARDECVALUEDOUBLEFLOATHEXVALUEOCTVALUEREALSTRING |
|
| #6 | relex | '!''(''+''-''~'BINVALUECHARDECVALUEDOUBLEFLOATHEXVALUEOCTVALUEREALSTRING |
|
| #7 | shiftex | '!''(''+''-''~'BINVALUECHARDECVALUEDOUBLEFLOATHEXVALUEOCTVALUEREALSTRING |
|
| #8 | term | '!''(''+''-''~'BINVALUECHARDECVALUEDOUBLEFLOATHEXVALUEOCTVALUEREALSTRING |
|
| #9 | xorex | '!''(''+''-''~'BINVALUECHARDECVALUEDOUBLEFLOATHEXVALUEOCTVALUEREALSTRING |