libsndfile source files.
[Faustine.git] / interpretor / lexer.mll
1 {
2 open Parser
3 open Types
4 }
5
6 rule token = parse
7 [' ' '\t' '\n' ] { token lexbuf }
8
9 | "+" { IDENT Add}
10 | "-" { IDENT Sub}
11 | "*" { IDENT Mul}
12 | "/" { IDENT Div}
13 | "_" { IDENT Pass}
14 | "!" { IDENT Stop}
15 | "mem" { IDENT Mem}
16 | "@" { IDENT Delay}
17 | "floor" { IDENT Floor}
18 | "int" { IDENT Int}
19 | "sin" { IDENT Sin}
20 | "cos" { IDENT Cos}
21 | "atan" { IDENT Atan}
22 | "atantwo" { IDENT Atan2}
23 | "sqrt" { IDENT Sqrt}
24 | "rdtable" { IDENT Rdtable}
25 | "%" { IDENT Mod}
26 | "vectorize" { IDENT Vectorize}
27 | "#" { IDENT Vconcat}
28 | "[]" { IDENT Vpick }
29 | "serialize" { IDENT Serialize}
30 | ">" { IDENT Larger}
31 | "<" { IDENT Smaller}
32 | "max" { IDENT Max}
33 | "min" { IDENT Min}
34 | "prefix" { IDENT Prefix}
35 | "selecttwo" { IDENT Select2}
36 | "selectthree" { IDENT Select3}
37
38
39 | ['0'-'9']+ as a { CONST a }
40 | '.' { POINT }
41
42
43 | '(' { LPAR }
44 | ')' { RPAR }
45 | ',' { PAR }
46 | ':' { SEQ }
47 | "<:" { SPLIT }
48 | ":>" { MERGE }
49 | "~" { REC }
50 | eof { EOF }