Delete nasal.bison
This commit is contained in:
parent
1c540a779b
commit
51208294fe
|
@ -1,269 +0,0 @@
|
||||||
%%
|
|
||||||
|
|
||||||
program
|
|
||||||
:statement program
|
|
||||||
;
|
|
||||||
|
|
||||||
scalar
|
|
||||||
:number
|
|
||||||
|string
|
|
||||||
|calculation
|
|
||||||
;
|
|
||||||
call
|
|
||||||
:call_list
|
|
||||||
|call_hash
|
|
||||||
|call_function
|
|
||||||
;
|
|
||||||
id_list
|
|
||||||
:id ',' id
|
|
||||||
|id ',' id_list
|
|
||||||
;
|
|
||||||
scalar_list
|
|
||||||
:scalar ',' scalar
|
|
||||||
|scalar ',' call
|
|
||||||
|scalar ',' function
|
|
||||||
|scalar ',' id_list
|
|
||||||
|scalar ',' list
|
|
||||||
|scalar ',' hash
|
|
||||||
|call ',' scalar
|
|
||||||
|call ',' call
|
|
||||||
|call ',' function
|
|
||||||
|call ',' id_list
|
|
||||||
|call ',' list
|
|
||||||
|call ',' hash
|
|
||||||
|function ',' scalar
|
|
||||||
|function ',' call
|
|
||||||
|function ',' function
|
|
||||||
|function ',' id_list
|
|
||||||
|function ',' list
|
|
||||||
|function ',' hash
|
|
||||||
|scalar ',' scalar_list
|
|
||||||
|call ',' scalar_list
|
|
||||||
|function ',' scalar_list
|
|
||||||
|id ',' scalar_list
|
|
||||||
|list ',' scalar_list
|
|
||||||
|hash ',' scalar_list
|
|
||||||
;
|
|
||||||
|
|
||||||
subvec
|
|
||||||
:'['id':'']'
|
|
||||||
|'['id':'id']'
|
|
||||||
|'['id':'scalar']'
|
|
||||||
|'['id':'call']'
|
|
||||||
|'['scalar':'']'
|
|
||||||
|'['scalar':'id']'
|
|
||||||
|'['scalar':'scalar']'
|
|
||||||
|'['scalar':'call']'
|
|
||||||
|'['call':'']'
|
|
||||||
|'['call':'id']'
|
|
||||||
|'['call':'scalar']'
|
|
||||||
|'['call':'call']'
|
|
||||||
;
|
|
||||||
call_list
|
|
||||||
:id'['id']'
|
|
||||||
|id'['scalar']'
|
|
||||||
|id'['call']'
|
|
||||||
|id subvec
|
|
||||||
|call'['id']'
|
|
||||||
|call'['scalar']'
|
|
||||||
|call'['call']'
|
|
||||||
|call subvec
|
|
||||||
;
|
|
||||||
call_hash
|
|
||||||
:id '.' id
|
|
||||||
|id '.' call
|
|
||||||
|call '.' id
|
|
||||||
|call '.' call
|
|
||||||
;
|
|
||||||
call_function
|
|
||||||
:id '('')'
|
|
||||||
|id '(' id ')'
|
|
||||||
|id '(' scalar ')'
|
|
||||||
|id '(' dynamic_id ')'
|
|
||||||
|id '(' call ')'
|
|
||||||
|id '(' function ')'
|
|
||||||
|id '(' id_list ')'
|
|
||||||
|id '(' scalar_list ')'
|
|
||||||
;
|
|
||||||
list
|
|
||||||
:'['']'
|
|
||||||
|'['id']'
|
|
||||||
|'['scalar']'
|
|
||||||
|'['call']'
|
|
||||||
|'['list']'
|
|
||||||
|'['hash']'
|
|
||||||
|'['id_list']'
|
|
||||||
|'['scalar_list']'
|
|
||||||
;
|
|
||||||
hash_member
|
|
||||||
:id':'id
|
|
||||||
|id':'scalar
|
|
||||||
|id':'call
|
|
||||||
|id':'function
|
|
||||||
|id':'list
|
|
||||||
|id':'hash
|
|
||||||
;
|
|
||||||
hash_members
|
|
||||||
:hash_member,hash_member
|
|
||||||
|hash_member,hash_members
|
|
||||||
;
|
|
||||||
hash
|
|
||||||
:'{''}'
|
|
||||||
|'{'hash_member'}'
|
|
||||||
|'{'hash_members'}'
|
|
||||||
;
|
|
||||||
operator
|
|
||||||
:'+'
|
|
||||||
|'-'
|
|
||||||
|'*'
|
|
||||||
|'/'
|
|
||||||
|'~'
|
|
||||||
|'=='
|
|
||||||
|'!='
|
|
||||||
|'<'
|
|
||||||
|'<='
|
|
||||||
|'>'
|
|
||||||
|'>='
|
|
||||||
|and
|
|
||||||
|or
|
|
||||||
;
|
|
||||||
|
|
||||||
calculation
|
|
||||||
:id operator id
|
|
||||||
|id operator scalar
|
|
||||||
|id operator call
|
|
||||||
|scalar operator id
|
|
||||||
|scalar operator scalar
|
|
||||||
|scalar operator call
|
|
||||||
|call operator id
|
|
||||||
|call operator scalar
|
|
||||||
|call operator call
|
|
||||||
|'('id')'
|
|
||||||
|'('scalar')'
|
|
||||||
|'('call')'
|
|
||||||
|'!' id
|
|
||||||
|'!' scalar
|
|
||||||
|'!' call
|
|
||||||
|'-' id
|
|
||||||
|'-' scalar
|
|
||||||
|'-' call
|
|
||||||
|'+' id
|
|
||||||
|'+' scalar
|
|
||||||
|'+' call
|
|
||||||
;
|
|
||||||
|
|
||||||
definition
|
|
||||||
:var id '=' id ';'
|
|
||||||
|var id '=' scalar ';'
|
|
||||||
|var id '=' call ';'
|
|
||||||
|var id '=' function
|
|
||||||
|var id '=' list ';'
|
|
||||||
|var id '=' hash ';'
|
|
||||||
;
|
|
||||||
|
|
||||||
assign_operator
|
|
||||||
:'+='
|
|
||||||
|'-='
|
|
||||||
|'*='
|
|
||||||
|'/='
|
|
||||||
|'~='
|
|
||||||
|'='
|
|
||||||
;
|
|
||||||
pre_assignment
|
|
||||||
:id assign_operator id
|
|
||||||
|id assign_operator scalar
|
|
||||||
|id assign_operator call
|
|
||||||
|call assign_operator id
|
|
||||||
|call assign_operator scalar
|
|
||||||
|call assign_operator call
|
|
||||||
;
|
|
||||||
assignment
|
|
||||||
:pre_assignment ';'
|
|
||||||
|id '=' function
|
|
||||||
|call '=' function
|
|
||||||
;
|
|
||||||
|
|
||||||
function
|
|
||||||
:func'{''}'
|
|
||||||
|func'{'statement'}'
|
|
||||||
|func'('')''{''}'
|
|
||||||
|func'('')''{'statement'}'
|
|
||||||
|func'('id')''{''}'
|
|
||||||
|func'('id')''{'statement'}'
|
|
||||||
|func'('scalar')''{''}'
|
|
||||||
|func'('scalar')''{'statement'}'
|
|
||||||
|func'('call')''{''}'
|
|
||||||
|func'('call')''{'statement'}'
|
|
||||||
|func'('list')''{''}'
|
|
||||||
|func'('list')''{'statement}'
|
|
||||||
|func'('hash')''{''}'
|
|
||||||
|func'('hash')''{'statement'}'
|
|
||||||
|func'('function')''{''}'
|
|
||||||
|func'('function')''{'statement'}'
|
|
||||||
|func'('dynamic_id')''{''}'
|
|
||||||
|func'('dynamic_id')''{'statement'}'
|
|
||||||
|func'('id_list')''{''}'
|
|
||||||
|func'('id_list')''{'statement'}'
|
|
||||||
;
|
|
||||||
|
|
||||||
choose
|
|
||||||
:if'('id')''{''}'
|
|
||||||
|if'('scalar')''{''}'
|
|
||||||
|if'('call')''{'statement'}'
|
|
||||||
|if'('id')''{'statement'}'
|
|
||||||
|if'('scalar')''{'statement'}'
|
|
||||||
|if'('call')''{'statement'}'
|
|
||||||
|else if'('id')''{''}'
|
|
||||||
|else if'('scalar')''{''}'
|
|
||||||
|else if'('call')''{'statement'}'
|
|
||||||
|else if'('id')''{'statement'}'
|
|
||||||
|else if'('scalar')''{'statement'}'
|
|
||||||
|else if'('call')''{'statement'}'
|
|
||||||
|elsif'('id')''{''}'
|
|
||||||
|elsif'('scalar')''{''}'
|
|
||||||
|elsif'('call')''{'statement'}'
|
|
||||||
|elsif'('id')''{'statement'}'
|
|
||||||
|elsif'('scalar')''{'statement'}'
|
|
||||||
|elsif'('call')''{'statement'}'
|
|
||||||
|else'{''}'
|
|
||||||
|else'{'statement'}'
|
|
||||||
;
|
|
||||||
|
|
||||||
loop
|
|
||||||
:while'('id')''{''}'
|
|
||||||
|while'('scalar')''{''}'
|
|
||||||
|while'('call')''{''}'
|
|
||||||
|while'('id')''{'statement'}'
|
|
||||||
|while'('scalar')''{'statement'}'
|
|
||||||
|while'('call')''{'statement'}'
|
|
||||||
|foreach'('statement id')''{''}'
|
|
||||||
|foreach'('statement scalar')''{''}'
|
|
||||||
|foreach'('statement call')''{''}'
|
|
||||||
|foreach'('statement list')''{''}'
|
|
||||||
|foreach'('statement id')''{'statement'}'
|
|
||||||
|foreach'('statement scalar')''{'statement'}'
|
|
||||||
|foreach'('statement call')''{'statement'}'
|
|
||||||
|foreach'('statement list')''{'statement'}'
|
|
||||||
|forindex'('statement id')''{''}'
|
|
||||||
|forindex'('statement scalar')''{''}'
|
|
||||||
|forindex'('statement call')''{''}'
|
|
||||||
|forindex'('statement list')''{''}'
|
|
||||||
|forindex'('statement id')''{'statement'}'
|
|
||||||
|forindex'('statement scalar')''{'statement'}'
|
|
||||||
|forindex'('statement call')''{'statement'}'
|
|
||||||
|forindex'('statement list')''{'statement'}'
|
|
||||||
|for'('statement pre_assignment')''{''}'
|
|
||||||
|for'('statement pre_assignment')''{'statement'}'
|
|
||||||
;
|
|
||||||
|
|
||||||
statement
|
|
||||||
:definition
|
|
||||||
|assignment
|
|
||||||
|loop
|
|
||||||
|choose
|
|
||||||
|return_scalar
|
|
||||||
|continue ';'
|
|
||||||
|break ';'
|
|
||||||
|call_function';'
|
|
||||||
|';'
|
|
||||||
;
|
|
Loading…
Reference in New Issue