util/lexgen/css2-simplified.lexgen
changeset 0 1918ee327afb
equal deleted inserted replaced
-1:000000000000 0:1918ee327afb
       
     1 [Options]
       
     2 case-sensitive
       
     3 classname = QCssScanner_Generated
       
     4 
       
     5 [Code Generator Options]
       
     6 MapToCode[a-z] = (ch.unicode() >= 'a' && ch.unicode() <= 'z') || (ch.unicode() >= 'A' && ch.unicode() <= 'Z') || ch.unicode() >= 256
       
     7 TokenPrefix = QCss::
       
     8 FileHeader = ../moc/licenseheader.txt
       
     9 
       
    10 [Macros]
       
    11 escape          = \\[^\r\n\f0-9a-f]
       
    12 nmstart         = [_a-z]|{escape}
       
    13 nmchar          = [_a-z0-9-]|{escape}
       
    14 nl              = \n|\r\n|\r|\f
       
    15 string1         = \"([^\n\r\f\\"]|\\{nl}|{escape})*\"
       
    16 string2         = \'([^\n\r\f\\']|\\{nl}|{escape})*\'
       
    17 invalid1        = \"([^\n\r\f\\"]|\\{nl}|{escape})*
       
    18 invalid2        = \'([^\n\r\f\\']|\\{nl}|{escape})*
       
    19 
       
    20 ident           = -?{nmstart}{nmchar}*
       
    21 name            = {nmchar}+
       
    22 num             = [0-9]+|[0-9]*"."[0-9]+
       
    23 string          = {string1}|{string2}
       
    24 invalid         = {invalid1}|{invalid2}
       
    25 url             = ([!#$%&*-~]|{escape})*
       
    26 s               = [ \t\r\n\f]
       
    27 w               = {s}*
       
    28 
       
    29 [Tokens]
       
    30 
       
    31 S = {s}+
       
    32 
       
    33 handleCommentStart() = \/\*
       
    34 
       
    35 CDO = "<!--"
       
    36 CDC = "-->"
       
    37 INCLUDES = "~="
       
    38 DASHMATCH = "|="
       
    39 
       
    40 LBRACE = {w}"{"
       
    41 PLUS = {w}"+"
       
    42 GREATER = {w}">"
       
    43 COMMA = {w}","
       
    44 
       
    45 STRING = {string}
       
    46 INVALID = {invalid}
       
    47 
       
    48 IDENT = {ident}
       
    49 
       
    50 HASH = "#"{name}
       
    51 
       
    52 ATKEYWORD_SYM = "@"{ident}
       
    53 
       
    54 EXCLAMATION_SYM = "!"
       
    55 
       
    56 #EMS = {num}em
       
    57 #EXS = {num}ex
       
    58 #LENGTH = {num}px
       
    59 #LENGTH = {num}cm
       
    60 #LENGTH = {num}mm
       
    61 #LENGTH = {num}in
       
    62 #LENGTH = {num}pt
       
    63 #LENGTH = {num}pc
       
    64 #ANGLE = {num}deg
       
    65 #ANGLE = {num}rad
       
    66 #ANGLE = {num}grad
       
    67 #TIME = {num}ms
       
    68 #TIME = {num}s
       
    69 #FREQ = {num}hz
       
    70 #FREQ = {num}khz
       
    71 #DIMENSION = {num}{ident}
       
    72 LENGTH = {num}{ident}
       
    73 
       
    74 PERCENTAGE = {num}%
       
    75 NUMBER = {num}
       
    76 
       
    77 #URI = "url("{w}{string}{w}")"
       
    78 #URI = "url("{w}{url}{w}")"
       
    79 FUNCTION = {ident}"("
       
    80 
       
    81 COLON = :
       
    82 SEMICOLON = ;
       
    83 RBRACE = \}
       
    84 SLASH = /
       
    85 MINUS = -
       
    86 DOT = \.
       
    87 STAR = \*
       
    88 LBRACKET = \[
       
    89 RBRACKET = \]
       
    90 EQUAL = \=
       
    91 LPAREN = \(
       
    92 RPAREN = \)
       
    93 OR = \|