Transformation of Applicative Specifications into Imperative ...

Transformation of Applicative Specifications into Imperative ... Transformation of Applicative Specifications into Imperative ...

26.09.2013 Views

APPENDIX E. ANTLR GRAMMAR } t e s t L i t e r a l s=f a l s e ; COMMA : " , " ; COLON : " : " ; CROSS : ">" ; FORWHICH : ":−" ; PARTIAL : "−~" ; INFMAP : "~m−>" ; MAP : "m−>" ; MAPSTO : "+>" ; LPAREN : " ( " ; RPAREN : " ) " ; LBRACKET : " [ " ; RBRACKET : " ] " ; LSET : "{" ; RSET : "}" ; PLUS : "+" ; MINUS : "−" ; STAR : "∗" ; EXP : "∗∗" ; SLASH : "/" ; BACKSLASH : "\\" ; HAT : "^" ; EQUAL : "=" ; EQUALEQUAL : "==" ; NOTEQUAL : "~=" ; LT : "" ; LLIST : "" ; CURLYDASH : "~" ; BAR : " | " ; UNDERSCORE : "_" ; PROPSUBSET : "" ; OVERRIDE : " ! ! " ; COMPOSITION : "#" ; OR : " \\/" ; AND : "/\\" ; IMPLIES : "=>" ; /∗DOT i s matched by r u l e f o r i n t e g e r s and r e a l s . ∗/ //DOT : " . " ; CHAR_LITERAL : ’ \ ’ ’ ! ( ESC| ~ ( ’ \ ’ ’ | ’ \\ ’ ) ) ’ \ ’ ’ ! ; 504

TEXT_LITERAL : ’ " ’ ! ( ESC| ~ ( ’ " ’ | ’ \\ ’ ) ) ∗ ’ " ’ ! ; protected ESC : ’ \\ ’ ( ’ r ’ | ’ n ’ | ’ t ’ | ’ a ’ | ’ b ’ | ’ f ’ | ’ v ’ | ’ ? ’ | ’ \\ ’ | ’ \ ’ ’ | ’ " ’ | OCT_DIGIT ( options { warnWhenFollowAmbig = f a l s e ; } : OCT_DIGIT ( options { warnWhenFollowAmbig = f a l s e ; } : OCT_DIGIT ) ? ) ? | ’ x ’ ( options { greedy=true ; } : ’ 0 ’ . . ’ 9 ’ | ’ a ’ . . ’ f ’ | ’A ’ . . ’F ’ )+ ) ; protected OCT_DIGIT : ’ 0 ’ . . ’ 7 ’ ; // a numeric l i t e r a l INTEGER_LITERAL { boolean isDecimal=f a l s e ; Token t = null ; 505

APPENDIX E. ANTLR GRAMMAR<br />

}<br />

t e s t L i t e r a l s=f a l s e ;<br />

COMMA : " , " ;<br />

COLON : " : " ;<br />

CROSS : ">" ;<br />

FORWHICH : ":−" ;<br />

PARTIAL : "−~" ;<br />

INFMAP : "~m−>" ;<br />

MAP : "m−>" ;<br />

MAPSTO : "+>" ;<br />

LPAREN : " ( " ;<br />

RPAREN : " ) " ;<br />

LBRACKET : " [ " ;<br />

RBRACKET : " ] " ;<br />

LSET : "{" ;<br />

RSET : "}" ;<br />

PLUS : "+" ;<br />

MINUS : "−" ;<br />

STAR : "∗" ;<br />

EXP : "∗∗" ;<br />

SLASH : "/" ;<br />

BACKSLASH : "\\" ;<br />

HAT : "^" ;<br />

EQUAL : "=" ;<br />

EQUALEQUAL : "==" ;<br />

NOTEQUAL : "~=" ;<br />

LT : "" ;<br />

LLIST : "" ;<br />

CURLYDASH : "~" ;<br />

BAR : " | " ;<br />

UNDERSCORE : "_" ;<br />

PROPSUBSET : "" ;<br />

OVERRIDE : " ! ! " ;<br />

COMPOSITION : "#" ;<br />

OR : " \\/" ;<br />

AND : "/\\" ;<br />

IMPLIES : "=>" ;<br />

/∗DOT i s matched by r u l e f o r i n t e g e r s and r e a l s . ∗/<br />

//DOT : " . " ;<br />

CHAR_LITERAL : ’ \ ’ ’ ! ( ESC| ~ ( ’ \ ’ ’ | ’ \\ ’ ) ) ’ \ ’ ’ ! ;<br />

504

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

Saved successfully!

Ooh no, something went wrong!