diff options
Diffstat (limited to 'usr.bin/f2c/gram.io')
-rw-r--r-- | usr.bin/f2c/gram.io | 173 |
1 files changed, 0 insertions, 173 deletions
diff --git a/usr.bin/f2c/gram.io b/usr.bin/f2c/gram.io deleted file mode 100644 index f1a6649..0000000 --- a/usr.bin/f2c/gram.io +++ /dev/null @@ -1,173 +0,0 @@ - /* Input/Output Statements */ - -io: io1 - { endio(); } - ; - -io1: iofmove ioctl - | iofmove unpar_fexpr - { ioclause(IOSUNIT, $2); endioctl(); } - | iofmove SSTAR - { ioclause(IOSUNIT, ENULL); endioctl(); } - | iofmove SPOWER - { ioclause(IOSUNIT, IOSTDERR); endioctl(); } - | iofctl ioctl - | read ioctl - { doio(CHNULL); } - | read infmt - { doio(CHNULL); } - | read ioctl inlist - { doio(revchain($3)); } - | read infmt SCOMMA inlist - { doio(revchain($4)); } - | read ioctl SCOMMA inlist - { doio(revchain($4)); } - | write ioctl - { doio(CHNULL); } - | write ioctl outlist - { doio(revchain($3)); } - | print - { doio(CHNULL); } - | print SCOMMA outlist - { doio(revchain($3)); } - ; - -iofmove: fmkwd end_spec in_ioctl - ; - -fmkwd: SBACKSPACE - { iostmt = IOBACKSPACE; } - | SREWIND - { iostmt = IOREWIND; } - | SENDFILE - { iostmt = IOENDFILE; } - ; - -iofctl: ctlkwd end_spec in_ioctl - ; - -ctlkwd: SINQUIRE - { iostmt = IOINQUIRE; } - | SOPEN - { iostmt = IOOPEN; } - | SCLOSE - { iostmt = IOCLOSE; } - ; - -infmt: unpar_fexpr - { - ioclause(IOSUNIT, ENULL); - ioclause(IOSFMT, $1); - endioctl(); - } - | SSTAR - { - ioclause(IOSUNIT, ENULL); - ioclause(IOSFMT, ENULL); - endioctl(); - } - ; - -ioctl: SLPAR fexpr SRPAR - { - ioclause(IOSUNIT, $2); - endioctl(); - } - | SLPAR ctllist SRPAR - { endioctl(); } - ; - -ctllist: ioclause - | ctllist SCOMMA ioclause - ; - -ioclause: fexpr - { ioclause(IOSPOSITIONAL, $1); } - | SSTAR - { ioclause(IOSPOSITIONAL, ENULL); } - | SPOWER - { ioclause(IOSPOSITIONAL, IOSTDERR); } - | nameeq expr - { ioclause($1, $2); } - | nameeq SSTAR - { ioclause($1, ENULL); } - | nameeq SPOWER - { ioclause($1, IOSTDERR); } - ; - -nameeq: SNAMEEQ - { $$ = iocname(); } - ; - -read: SREAD end_spec in_ioctl - { iostmt = IOREAD; } - ; - -write: SWRITE end_spec in_ioctl - { iostmt = IOWRITE; } - ; - -print: SPRINT end_spec fexpr in_ioctl - { - iostmt = IOWRITE; - ioclause(IOSUNIT, ENULL); - ioclause(IOSFMT, $3); - endioctl(); - } - | SPRINT end_spec SSTAR in_ioctl - { - iostmt = IOWRITE; - ioclause(IOSUNIT, ENULL); - ioclause(IOSFMT, ENULL); - endioctl(); - } - ; - -inlist: inelt - { $$ = mkchain((char *)$1, CHNULL); } - | inlist SCOMMA inelt - { $$ = mkchain((char *)$3, $1); } - ; - -inelt: lhs - { $$ = (tagptr) $1; } - | SLPAR inlist SCOMMA dospec SRPAR - { $$ = (tagptr) mkiodo($4,revchain($2)); } - ; - -outlist: uexpr - { $$ = mkchain((char *)$1, CHNULL); } - | other - { $$ = mkchain((char *)$1, CHNULL); } - | out2 - ; - -out2: uexpr SCOMMA uexpr - { $$ = mkchain((char *)$3, mkchain((char *)$1, CHNULL) ); } - | uexpr SCOMMA other - { $$ = mkchain((char *)$3, mkchain((char *)$1, CHNULL) ); } - | other SCOMMA uexpr - { $$ = mkchain((char *)$3, mkchain((char *)$1, CHNULL) ); } - | other SCOMMA other - { $$ = mkchain((char *)$3, mkchain((char *)$1, CHNULL) ); } - | out2 SCOMMA uexpr - { $$ = mkchain((char *)$3, $1); } - | out2 SCOMMA other - { $$ = mkchain((char *)$3, $1); } - ; - -other: complex_const - { $$ = (tagptr) $1; } - | SLPAR expr SRPAR - { $$ = (tagptr) $2; } - | SLPAR uexpr SCOMMA dospec SRPAR - { $$ = (tagptr) mkiodo($4, mkchain((char *)$2, CHNULL) ); } - | SLPAR other SCOMMA dospec SRPAR - { $$ = (tagptr) mkiodo($4, mkchain((char *)$2, CHNULL) ); } - | SLPAR out2 SCOMMA dospec SRPAR - { $$ = (tagptr) mkiodo($4, revchain($2)); } - ; - -in_ioctl: - { startioctl(); } - ; |