smacc/scanner.txt
author Jan Vrany <jan.vrany@fit.cvut.cz>
Thu, 03 Oct 2013 10:31:41 +0200
changeset 2760 818fa434937a
parent 749 e898eaeff091
child 2380 9195eccdcbd9
permissions -rw-r--r--
initial checkin
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
749
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
     1
<DECIMAL_INTEGER>: 0 | [1-9] [0-9]*    ;
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
     2
<HEX_INTEGER>: 0[xX][0-9a-fA-F]+        ;
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
     3
<OCTAL_INTEGER>: 0[0-7]+        ;
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
     4
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
     5
<EXPONENT>: [eE] [\-\+]? [0-9]+         ;
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
     6
<FLOAT_TYPE>: [fFdD]    ;
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
     7
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
     8
<ESCAPE_SEQUENCE>: \\ ([btnfr\"\'\\] | ([0-3] [0-7]{0,2} | [4-7][0-7]?))       ;
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
     9
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    10
<INTEGER_LITERAL>: (<DECIMAL_INTEGER> | <HEX_INTEGER> | <OCTAL_INTEGER>) [lL]?  ;
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    11
<FLOATING_POINT_LITERAL>: [0-9]+ \. [0-9]* <EXPONENT>? <FLOAT_TYPE>? | \. [0-9]+ <EXPONENT>? <FLOAT_TYPE>? | [0-9]+ <EXPONENT> <FLOAT_TYPE>? | [0-9]+ <FLOAT_TYPE>      ;
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    12
<BOOLEAN_LITERAL>: true | false ;
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    13
<CHARACTER_LITERAL>: \' ([^\\\'] | <ESCAPE_SEQUENCE> ) \'       ;
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    14
<STRING_LITERAL>: \" ([^\\\"] | <ESCAPE_SEQUENCE> )* \"      ;
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    15
<NULL_LITERAL>: null    ;
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    16
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    17
<IDENTIFIER>: [a-zA-Z_] \w*     ;
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    18
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    19
<GT>: \> ;
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    20
<LT>: \< ;
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    21
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    22
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    23
<eol>: \r | \n | \r\n   ;
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    24
<whitespace>: \s+       ;
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    25
<JAVADOC>: \/\*\*;
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    26
<comment>: \/\/ [^\r\n]* <eol>  ;
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    27
<comment2>: \/\* ;