aboutsummaryrefslogtreecommitdiff
path: root/src/elixir_math_parser_lexer.xrl
blob: a9e91b7548faf8879fba58aa94472958974a8872 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Definitions.
INT        = [0-9]+
NAME       = [a-zA-Z_][a-zA-Z0-9_]*
WHITESPACE = [\s\t\n\r]

Rules.
\+            : {token, {'+',  TokenLine}}.
\-            : {token, {'-',  TokenLine}}.
\*            : {token, {'*',  TokenLine}}.
\/            : {token, {'/',  TokenLine}}.
\=            : {token, {'=',  TokenLine}}.
\(            : {token, {'(',  TokenLine}}.
\)            : {token, {')',  TokenLine}}.
;;            : {token, {';;',  TokenLine}}.
{NAME}        : {token, {var, TokenLine, TokenChars}}.
{INT}         : {token, {int,  TokenLine, TokenChars}}.
{WHITESPACE}+ : skip_token.

Erlang code.