lexer.xrl (1300B)
1 Definitions. 2 3 WHITESPACE=[\s\t\r\n]+ 4 SCIENTIFIC_NOTATION = -?[0-9]+\.[0-9]+e-?[0-9]+ 5 INT = -?[0-9]+ 6 REST = \.\.\. 7 RANGE = \.\. 8 ATOM = \'[^']+\' 9 WHEN = \swhen\s 10 11 Rules. 12 13 {WHITESPACE} : skip_token. 14 15 {REST} : {token, {'...', TokenLine}}. 16 {WHEN} : {token, {'when', TokenLine}}. 17 fun\( : {token, {'fun(', TokenLine}}. 18 \* : {token, {'*', TokenLine}}. 19 \[ : {token, {'[', TokenLine}}. 20 \] : {token, {']', TokenLine}}. 21 \( : {token, {'(', TokenLine}}. 22 \) : {token, {')', TokenLine}}. 23 \{ : {token, {'{', TokenLine}}. 24 \} : {token, {'}', TokenLine}}. 25 \# : {token, {'#', TokenLine}}. 26 \| : {token, {'|', TokenLine}}. 27 _ : {token, {'_', TokenLine}}. 28 \:\: : {token, {'::', TokenLine}}. 29 \: : {token, {':', TokenLine}}. 30 \:\= : {token, {':=', TokenLine}}. 31 \=\> : {token, {'=>', TokenLine}}. 32 \-\> : {token, {'->', TokenLine}}. 33 \| : {token, {'|', TokenLine}}. 34 \< : {token, {'<', TokenLine}}. 35 \> : {token, {'>', TokenLine}}. 36 \' : {token, {'\'', TokenLine}}. 37 , : {token, {',', TokenLine}}. 38 \= : {token, {'=', TokenLine}}. 39 {RANGE} : {token, {'..', TokenLine}}. 40 {SCIENTIFIC_NOTATION} : {token, {int, TokenLine, TokenChars}}. 41 {INT} : {token, {int, TokenLine, list_to_integer(TokenChars)}}. 42 {ATOM} : {token, {atom_full, TokenLine, TokenChars}}. 43 . : {token, {atom_part, TokenLine, TokenChars}}. 44 45 Erlang code.