Add original unix v6
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
%term LCURL RCURL LPAR RPAR SCOL DIGITS
|
||||
%term XIF XELSE XFOR XWHILE XBREAK NEXT
|
||||
%term OLDDO NEWDO
|
||||
%term XGOK XDEFINE XINCLUDE
|
||||
%term REPEAT UNTIL
|
||||
%%
|
||||
|
||||
statl : statl stat
|
||||
|
|
||||
;
|
||||
stat : if stat ={ outcont($1); }
|
||||
| ifelse stat ={ outcont($1+1); }
|
||||
| while stat ={ whilestat($1); }
|
||||
| for stat ={ forstat($1); }
|
||||
| repeat stat UNTIL ={ untils($1); }
|
||||
| XBREAK ={ breakcode($1); }
|
||||
| NEXT ={ nextcode($1); }
|
||||
| newdo stat ={ dostat($1); }
|
||||
| OLDDO ={ docode(0,$1); }
|
||||
| XGOK ={ gokcode($1); }
|
||||
| SCOL
|
||||
| LCURL statl RCURL
|
||||
| label stat
|
||||
| error ={ errcode($1); yyclearin; }
|
||||
;
|
||||
label : DIGITS ={ outcode($1); outcode("\t"); }
|
||||
;
|
||||
if : XIF ={ ifcode($1); }
|
||||
;
|
||||
ifelse : if stat XELSE ={ outgoto($1+1); outcont($1); }
|
||||
;
|
||||
while : XWHILE ={ whilecode($1); }
|
||||
;
|
||||
for : XFOR ={ forcode($1); }
|
||||
;
|
||||
repeat : REPEAT ={ repcode($1); }
|
||||
;
|
||||
newdo : NEWDO ={ docode(1,$1); }
|
||||
;
|
||||
%%
|
||||
Reference in New Issue
Block a user