/* -*- c -*- */ %{ #include "vdm.tab.h" %} %x comment %% \!\= { return EXCLAMATION_EQUAL; } \ \=\= { return SPACE_EQUAL_EQUAL; } \*\* { return STAR_STAR; } \+\+ { return PLUS_PLUS; } \+\> { return PLUS_GREATER; } \-\- { BEGIN(comment); } { [^\n]* /* eat till the end of the line */ \n { BEGIN(INITIAL); } } \-\> { return MINUS_GREATER; } \.\.\. { return DOT_DOT_DOT; } \:\-\> { return COLON_MINUS_GREATER; } \:\: { return COLON_COLON; } \:\= { return COLON_EQUAL; } \:\> { return COLON_GREATER; } \<\-\: { return LESS_MINUS_COLON; } \<\: { return LESS_COLON; } \<\= { return LESS_EQUAL; } \<\=\> { return LESS_EQUAL_GREATER; } \=\= { return EQUAL_EQUAL; } \=\=\> { return EQUAL_EQUAL_GREATER; } \=\>\ { return EQUAL_GREATER; } \>\= { return GREATER_EQUAL; } \|\-\> { return PIPE_MINUS_GREATER; } \|\| { return PIPE_PIPE; } "abs" { return ABS; } "all" { return ALL; } "always" { return ALWAYS; } "and" { return AND; } "as" { return AS; } "be" { return BE; } "bool" { return BOOL; } "by" { return BY; } "card" { return CARD; } "cases" { return CASES; } "char" { return CHAR; } "comp" { return COMP; } "compose" { return COMPOSE; } "conc" { return CONC; } "dcl" { return DCL; } "def" { return DEF; } "definitions" { return DEFINITIONS; } "dinter" { return DINTER; } "div" { return DIV; } "dlmodule" { return DLMODULE; } "do" { return DO; } "dom" { return DOM; } "dunion" { return DUNION; } "elems" { return ELEMS; } "else" { return ELSE; } "elseif" { return ELSEIF; } "end" { return END; } "error" { return ERROR; } "errs" { return ERRS; } "exists" { return EXISTS; } "exists1" { return EXISTS1; } "exit" { return EXIT; } "exports" { return EXPORTS; } "ext" { return EXT; } "false" { return FALSE; } "floor" { return FLOOR; } "for" { return FOR; } "forall" { return FORALL; } "from" { return FROM; } "functions" { return FUNCTIONS; } "hd" { return HD; } "if" { return IF; } "imports" { return IMPORTS; } "in" { return IN; } "in"[ \t\n]+"set" { return IN_SET; } "inds" { return INDS; } "init" { return INIT; } "inmap" { return INMAP; } "instantiations" { return INSTANTIATIONS; } "int" { return INT; } "inter" { return INTER; } "inv" { return INV; } "inverse" { return INVERSE; } "iota" { return IOTA; } "is_" { return IS_ ; } "lambda" { return LAMBDA; } "len" { return LEN; } "let" { return LET; } "map" { return MAP; } "merge" { return MERGE; } "mk_" { return MK_; } "mod" { return MOD; } "module" { return MODULE; } "mu" { return MU; } "munion" { return MUNION; } "nat" { return NAT; } "nat1" { return NAT1; } "nil" { return NIL; } "not" { return NOT; } "not"[ \t\n]+"in"[ \t\n]+"set" { return NOT_IN_SET; } "of" { return OF; } "operations" { return OPERATIONS; } "or" { return OR; } "others" { return OTHERS; } "parameters" { return PARAMETERS; } "post" { return POST; } "power" { return POWER; } "pre" { return PRE; } "psubset" { return PSUBSET; } "rat" { return RAT; } "rd" { return RD; } "real" { return REAL; } "rem" { return REM; } "renamed" { return RENAMED; } "return" { return RETURN; } "reverse" { return REVERSE; } "rng" { return RNG; } "seq1_of" { return SEQ1_OF; } "seq_of" { return SEQ_OF; } "set of" { return SET_OF; } "skip" { return SKIP; } "st" { return ST; } "state" { return STATE; } "struct" { return STRUCT; } "subset" { return SUBSET; } "then" { return THEN; } "tixe" { return TIXE; } "tl" { return TL; } "to" { return TO; } "token" { return TOKEN; } "trap" { return TRAP; } "true" { return TRUE; } "types" { return TYPES; } "undefined" { return UNDEFINED; } "union" { return UNION; } "uselib" { return USELIB; } "using" { return USING; } "values" { return VALUES; } "while" { return WHILE; } "with" { return WITH; } "wr" { return WR; } [0-9]+([.][0-9]+)?([eE][-+]?[0-9]+)? { return NUMERIC_LITERAL; } [#]?[a-zA-Z]([#]?[a-zA-Z]|[0-9]|\'|_)* { return IDENTIFIER; } \"[^\"\n]*((\"\")[^\"\n]+)*\" { return TEXT_LITERAL; } [ \t]+ ; \n ; %% int vdmwrap() { yywrap(); }