summaryrefslogtreecommitdiff
path: root/pretty.ml
blob: 87cc38334d4558a208bbf4df11e14a73c4d8a802 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
open Parser

let token_str = function
	| CLASS -> "class"
	| ELSE -> "else"
	| FALSE -> "false"
	| FOR -> "for"
	| IF -> "if"
	| INT -> "int"
	| NEW -> "new"
	| NULL -> "NULL"
	| PUBLIC -> "public"
	| RETURN -> "return"
	| THIS -> "this"
	| TRUE -> "true"
	| VIRTUAL -> "virtual"
	| VOID -> "void"
	| WHILE -> "while"
	| IDENT(s) -> "'"^s^"'"
	| ASSIGN -> "="
	| LOR -> "||"
	| LAND -> "&&"
	| EQ -> "=="
	| NE -> "!="
	| LT -> "<"
	| LE -> "<="
	| GT -> ">"
	| GE -> ">="
	| PLUS -> "+"
	| MINUS -> "-"
	| TIMES -> "*"
	| DIV -> "/"
	| MOD -> "%"
	| NOT -> "!"
	| INCR -> "++"
	| DECR -> "--"
	| REF -> "&"
	(* and also : unary dereference, plus, minus *)
	| LPAREN -> "("
	| RPAREN -> ")"
	| RARROW -> "->"
	| DOT -> "."
	(* OTHER SYMBOLZ *)
	| SEMICOLON -> ";"
	| DOUBLECOLON -> "::"
	| LFLOW -> "<<"
	| LBRACE -> "{"
	| RBRACE -> "}"
	(* DATAZ *)
	| INTVAL(i) -> "#" ^ (string_of_int i)
	| STRVAL(s) -> "`" ^ s ^ "`"