zf

zenflows testing
git clone https://s.sonu.ch/~srfsh/zf.git
Log | Files | Refs | Submodules | README | LICENSE

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.