...
1<lexer>
2 <config>
3 <name>Hy</name>
4 <alias>hylang</alias>
5 <filename>*.hy</filename>
6 <mime_type>text/x-hy</mime_type>
7 <mime_type>application/x-hy</mime_type>
8 </config>
9 <rules>
10 <state name="root">
11 <rule pattern=";.*$">
12 <token type="CommentSingle"/>
13 </rule>
14 <rule pattern="[,\s]+">
15 <token type="Text"/>
16 </rule>
17 <rule pattern="-?\d+\.\d+">
18 <token type="LiteralNumberFloat"/>
19 </rule>
20 <rule pattern="-?\d+">
21 <token type="LiteralNumberInteger"/>
22 </rule>
23 <rule pattern="0[0-7]+j?">
24 <token type="LiteralNumberOct"/>
25 </rule>
26 <rule pattern="0[xX][a-fA-F0-9]+">
27 <token type="LiteralNumberHex"/>
28 </rule>
29 <rule pattern=""(\\\\|\\"|[^"])*"">
30 <token type="LiteralString"/>
31 </rule>
32 <rule pattern="'(?!#)[\w!$%*+<=>?/.#-]+">
33 <token type="LiteralStringSymbol"/>
34 </rule>
35 <rule pattern="\\(.|[a-z]+)">
36 <token type="LiteralStringChar"/>
37 </rule>
38 <rule pattern="^(\s*)([rRuU]{,2}"""(?:.|\n)*?""")">
39 <bygroups>
40 <token type="Text"/>
41 <token type="LiteralStringDoc"/>
42 </bygroups>
43 </rule>
44 <rule pattern="^(\s*)([rRuU]{,2}'''(?:.|\n)*?''')">
45 <bygroups>
46 <token type="Text"/>
47 <token type="LiteralStringDoc"/>
48 </bygroups>
49 </rule>
50 <rule pattern="::?(?!#)[\w!$%*+<=>?/.#-]+">
51 <token type="LiteralStringSymbol"/>
52 </rule>
53 <rule pattern="~@|[`\'#^~&@]">
54 <token type="Operator"/>
55 </rule>
56 <rule>
57 <include state="py-keywords"/>
58 </rule>
59 <rule>
60 <include state="py-builtins"/>
61 </rule>
62 <rule pattern="(eval-when-compile|eval-and-compile|with-decorator|unquote-splice|quasiquote|list_comp|unquote|foreach|kwapply|import|not-in|unless|is-not|quote|progn|slice|assoc|first|while|when|rest|cond|<<=|->>|for|get|>>=|let|cdr|car|is|->|do|in|\||~|,) ">
63 <token type="Keyword"/>
64 </rule>
65 <rule pattern="(defmacro|defclass|lambda|defun|defn|setv|def|fn) ">
66 <token type="KeywordDeclaration"/>
67 </rule>
68 <rule pattern="(repeatedly|take_while|iterator\?|iterable\?|instance\?|distinct|take_nth|numeric\?|iterate|filter|repeat|remove|even\?|none\?|cycle|zero\?|odd\?|pos\?|neg\?|take|drop|inc|dec|nth) ">
69 <token type="NameBuiltin"/>
70 </rule>
71 <rule pattern="(?<=\()(?!#)[\w!$%*+<=>?/.#-]+">
72 <token type="NameFunction"/>
73 </rule>
74 <rule pattern="(?!#)[\w!$%*+<=>?/.#-]+">
75 <token type="NameVariable"/>
76 </rule>
77 <rule pattern="(\[|\])">
78 <token type="Punctuation"/>
79 </rule>
80 <rule pattern="(\{|\})">
81 <token type="Punctuation"/>
82 </rule>
83 <rule pattern="(\(|\))">
84 <token type="Punctuation"/>
85 </rule>
86 </state>
87 <state name="py-keywords">
88 <rule pattern="(yield from|continue|finally|lambda|assert|global|except|return|print|yield|while|break|raise|elif|pass|exec|else|with|try|for|del|as|if)\b">
89 <token type="Keyword"/>
90 </rule>
91 </state>
92 <state name="py-builtins">
93 <rule pattern="(?<!\.)(staticmethod|classmethod|__import__|isinstance|basestring|issubclass|frozenset|raw_input|bytearray|enumerate|property|callable|reversed|execfile|hasattr|setattr|compile|complex|delattr|unicode|globals|getattr|unichr|reduce|xrange|buffer|intern|filter|locals|divmod|coerce|sorted|reload|object|slice|round|float|super|input|bytes|apply|tuple|range|iter|dict|long|type|hash|vars|next|file|exit|open|repr|eval|bool|list|bin|pow|zip|ord|oct|min|set|any|max|map|all|len|sum|int|dir|hex|chr|abs|cmp|str|id)\b">
94 <token type="NameBuiltin"/>
95 </rule>
96 <rule pattern="(?<!\.)(self|None|Ellipsis|NotImplemented|False|True|cls)\b">
97 <token type="NameBuiltinPseudo"/>
98 </rule>
99 <rule pattern="(?<!\.)(PendingDeprecationWarning|UnicodeTranslateError|NotImplementedError|UnicodeEncodeError|UnicodeDecodeError|DeprecationWarning|FloatingPointError|UnboundLocalError|KeyboardInterrupt|ZeroDivisionError|EnvironmentError|IndentationError|ArithmeticError|OverflowWarning|ReferenceError|RuntimeWarning|AttributeError|AssertionError|NotImplemented|UnicodeWarning|FutureWarning|BaseException|StopIteration|SyntaxWarning|OverflowError|StandardError|ImportWarning|GeneratorExit|RuntimeError|WindowsError|UnicodeError|LookupError|SyntaxError|SystemError|ImportError|MemoryError|UserWarning|ValueError|IndexError|SystemExit|Exception|TypeError|NameError|EOFError|VMSError|KeyError|TabError|IOError|OSError|Warning)\b">
100 <token type="NameException"/>
101 </rule>
102 </state>
103 </rules>
104</lexer>
View as plain text