Skip to content

Commit e422a62

Browse files
tbspalecthomas
authored andcommitted
Add tal (uxntal) lexer
1 parent 4b11965 commit e422a62

File tree

3 files changed

+4810
-0
lines changed

3 files changed

+4810
-0
lines changed

lexers/embedded/tal.xml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
2+
<lexer>
3+
<config>
4+
<name>Tal</name>
5+
<alias>tal</alias>
6+
<alias>uxntal</alias>
7+
<filename>*.tal</filename>
8+
<mime_type>text/x-uxntal</mime_type>
9+
</config>
10+
<rules>
11+
<state name="comment">
12+
<rule pattern="(?&lt;!\S)\((?!\S)"><token type="CommentMultiline"/><push/></rule>
13+
<rule pattern="(?&lt;!\S)\)(?!\S)"><token type="CommentMultiline"/><pop depth="1"/></rule>
14+
<rule pattern="[^()]+"><token type="CommentMultiline"/></rule>
15+
<rule pattern="[()]+"><token type="CommentMultiline"/></rule>
16+
</state>
17+
<state name="root">
18+
<rule pattern="\s+"><token type="TextWhitespace"/></rule>
19+
<rule pattern="(?&lt;!\S)\((?!\S)"><token type="CommentMultiline"/><push state="comment"/></rule>
20+
<rule pattern="(?&lt;!\S)(BRK|LIT|INC|POP|DUP|NIP|SWP|OVR|ROT|EQU|NEQ|GTH|LTH|JMP|JCN|JSR|STH|LDZ|STZ|LDR|STR|LDA|STA|DEI|DEO|ADD|SUB|MUL|DIV|AND|ORA|EOR|SFT)2?k?r?(?!\S)"><token type="KeywordReserved"/></rule>
21+
<rule pattern="[][{}](?!\S)"><token type="Punctuation"/></rule>
22+
<rule pattern="#([0-9a-f]{2}){1,2}(?!\S)"><token type="LiteralNumberHex"/></rule>
23+
<rule pattern="&quot;\S+"><token type="LiteralString"/></rule>
24+
<rule pattern="([0-9a-f]{2}){1,2}(?!\S)"><token type="Literal"/></rule>
25+
<rule pattern="[|$][0-9a-f]{1,4}(?!\S)"><token type="KeywordDeclaration"/></rule>
26+
<rule pattern="%\S+"><token type="NameDecorator"/></rule>
27+
<rule pattern="@\S+"><token type="NameFunction"/></rule>
28+
<rule pattern="&amp;\S+"><token type="NameLabel"/></rule>
29+
<rule pattern="/\S+"><token type="NameTag"/></rule>
30+
<rule pattern="\.\S+"><token type="NameVariableMagic"/></rule>
31+
<rule pattern=",\S+"><token type="NameVariableInstance"/></rule>
32+
<rule pattern=";\S+"><token type="NameVariableGlobal"/></rule>
33+
<rule pattern="-\S+"><token type="Literal"/></rule>
34+
<rule pattern="_\S+"><token type="Literal"/></rule>
35+
<rule pattern="=\S+"><token type="Literal"/></rule>
36+
<rule pattern="!\S+"><token type="NameFunction"/></rule>
37+
<rule pattern="\?\S+"><token type="NameFunction"/></rule>
38+
<rule pattern="~\S+"><token type="KeywordNamespace"/></rule>
39+
<rule pattern="\S+"><token type="NameFunction"/></rule>
40+
</state>
41+
</rules>
42+
</lexer>
43+

0 commit comments

Comments
 (0)