summaryrefslogtreecommitdiffstats
path: root/util/lexgen/css2-simplified.lexgen
blob: 53facb1d4af4396b8de0f38fa7d784120ab7a410 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
[Options]
case-sensitive
classname = QCssScanner_Generated

[Code Generator Options]
MapToCode[a-z] = (ch.unicode() >= 'a' && ch.unicode() <= 'z') || (ch.unicode() >= 'A' && ch.unicode() <= 'Z') || ch.unicode() >= 256
TokenPrefix = QCss::
FileHeader = ../moc/licenseheader.txt

[Macros]
escape          = \\[^\r\n\f0-9a-f]
nmstart         = [_a-z]|{escape}
nmchar          = [_a-z0-9-]|{escape}
nl              = \n|\r\n|\r|\f
string1         = \"([^\n\r\f\\"]|\\{nl}|{escape})*\"
string2         = \'([^\n\r\f\\']|\\{nl}|{escape})*\'
invalid1        = \"([^\n\r\f\\"]|\\{nl}|{escape})*
invalid2        = \'([^\n\r\f\\']|\\{nl}|{escape})*

ident           = -?{nmstart}{nmchar}*
name            = {nmchar}+
num             = [0-9]+|[0-9]*"."[0-9]+
string          = {string1}|{string2}
invalid         = {invalid1}|{invalid2}
url             = ([!#$%&*-~]|{escape})*
s               = [ \t\r\n\f]
w               = {s}*

[Tokens]

S = {s}+

handleCommentStart() = \/\*

CDO = "<!--"
CDC = "-->"
INCLUDES = "~="
DASHMATCH = "|="

LBRACE = {w}"{"
PLUS = {w}"+"
GREATER = {w}">"
COMMA = {w}","

STRING = {string}
INVALID = {invalid}

IDENT = {ident}

HASH = "#"{name}

ATKEYWORD_SYM = "@"{ident}

EXCLAMATION_SYM = "!"

#EMS = {num}em
#EXS = {num}ex
#LENGTH = {num}px
#LENGTH = {num}cm
#LENGTH = {num}mm
#LENGTH = {num}in
#LENGTH = {num}pt
#LENGTH = {num}pc
#ANGLE = {num}deg
#ANGLE = {num}rad
#ANGLE = {num}grad
#TIME = {num}ms
#TIME = {num}s
#FREQ = {num}hz
#FREQ = {num}khz
#DIMENSION = {num}{ident}
LENGTH = {num}{ident}

PERCENTAGE = {num}%
NUMBER = {num}

#URI = "url("{w}{string}{w}")"
#URI = "url("{w}{url}{w}")"
FUNCTION = {ident}"("

COLON = :
SEMICOLON = ;
RBRACE = \}
SLASH = /
MINUS = -
DOT = \.
STAR = \*
LBRACKET = \[
RBRACKET = \]
EQUAL = \=
LPAREN = \(
RPAREN = \)
OR = \|