qt5base-lts/util/lexgen/css3-simplified.lexgen
Edward Welbourne eafad93c3d Make util/lexgen/ mention itself in its auto-gen line
In the process, update the README's e-mail address for Simon and
mention all recognized command-line options in the usage message.  The
generated CSS scanner was also out of sync with our source, so update
it.  Also fixed handling of FileHeader to cope with running from a
shadow build by handling paths relative to __FILE__; and revised the
CSS3 config to use the same copyright header as was already in use by
the existing generated file.

Change-Id: I918ff84dbdc95d0478fd6aa4ea74e9a221d1a476
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2018-11-01 15:07:05 +00:00

98 lines
1.8 KiB
Plaintext

[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 = ../../header.LGPL
[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 = "|="
BEGINSWITH = "^="
ENDSWITH = "$="
CONTAINS = "*="
LBRACE = {w}"{"
PLUS = {w}"+"
GREATER = {w}">"
COMMA = {w}","
TILDE= {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 = \|