09.06.2013 Views

Intel XENIX 286 Programmers Guide (86) - Tenox.tc

Intel XENIX 286 Programmers Guide (86) - Tenox.tc

Intel XENIX 286 Programmers Guide (86) - Tenox.tc

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

yacc: Compiler-Compiler<br />

10-36<br />

vexp : dexp<br />

{ $$.hi = $$.1o = $1; }<br />

I '(' dexp ',' dexp ')'<br />

{<br />

$$.1o = $2;<br />

$$.hi = $4;<br />

if( $$.1o > $$.hi ){<br />

printf("interval out of order\n");<br />

YYERROR;<br />

}<br />

}<br />

IVREG<br />

{ $$ = vreg[$1 ]; }<br />

I vexp ' + ' vexp<br />

{$$.hi = $1.hi + $3.hi;<br />

$$.1o = $1.1o + $3.1o; }<br />

I dexp ' + ' vexp<br />

{$$.hi = $1 + $3.hi;<br />

$$.1o = $1 + $3.1o; }<br />

I vexp '-' vexp<br />

{ $$.hi = $1.hi -$3.1o;<br />

$$.1o = $1.1o -$3.hi; }<br />

I dexp '-' vexp<br />

{$$.hi = $1 -$3.1o;<br />

$$.1o = $1 -$3.hi;}<br />

l vexp '*' vexp<br />

{ $$ = vmul( $1.1o, $1.hi, $3 ); }<br />

I dexp '*' vexp<br />

{ $$ = vmul($1,$1 ,$3); }<br />

I vexp '/' vexp<br />

{ if ( dcheck( $3 )) YYERROR;<br />

$$ = vdiv( $1.1o, $1.hi, $3 ); }<br />

I dexp '/' vexp<br />

{ if ( dcheck( $3 )) YYERROR;<br />

$$ = vdiv( $1, $1,$3 ); }<br />

I '-' vexp %prec UMI NUS<br />

{ $$.hi = -$2.1o; $$.Ia = -$2.hi; }<br />

I '(' vexp ')'<br />

{ $$ = $2; }<br />

%%<br />

# define BSZ 50 /* buffer size for fp numbers */<br />

<strong>XENIX</strong> Programming

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!