Back to the Coda Page
The compiler Page
Grammar
Tokens and Keywords
Lexic
The lexer defines the following tokens. All other tokens are
keywords.
[' ' '\t'] (* skip blanks *)
'\n' (* skip blanks *)
'=' { EQUAL }
'~' { OBSEQ }
"::" { DOUBLECOLON }
":=" { ASSIGN }
':' { COLON }
';' { SEMICOLON }
',' { COMMA }
'(' { OPAREN }
')' { CPAREN }
'[' { OBRACKET }
']' { CBRACKET }
'(' { OPAREN }
')' { CPAREN }
"->" { ARROW }
'{' { OBRACE}
'}' { CBRACE}
'%' [^'\n'] * -> Comment
"(*" -> Comment
"PVS " { PVS_FORMULA( f ) }
'"' -> String
"Proj_"[0-9]+ { PROJ_N(i) }
['A'-'Z' 'a'-'z']['A'-'Z' 'a'-'z' '_' '0'-'9' '?']*
{ ID( lexeme lexbuf ) }
['0'-'9']+ { VALUE(int_of_string(lexeme lexbuf))}
_ { raise Parsing.Parse_error }
eof { EOF }
PVS formulas start with "PVS " and have to be terminated with
"ENDPVS". Strings are enclosed in double quotes ("), Backslash
(\) can be used as escape character (eg "\""). Comments are
either PVS style starting with "%" including anything until the
end of the line or CAML style "(* ... *)".
Back to the Coda Page
Last modified:
23 Jan 2002
by Hendrik