Added lexars
This commit is contained in:
parent
382b2ce94b
commit
f9f64b0558
820 changed files with 149371 additions and 0 deletions
lexers/embedded
176
lexers/embedded/dylan.xml
Normal file
176
lexers/embedded/dylan.xml
Normal file
|
@ -0,0 +1,176 @@
|
|||
<lexer>
|
||||
<config>
|
||||
<name>Dylan</name>
|
||||
<alias>dylan</alias>
|
||||
<filename>*.dylan</filename>
|
||||
<filename>*.dyl</filename>
|
||||
<filename>*.intr</filename>
|
||||
<mime_type>text/x-dylan</mime_type>
|
||||
<case_insensitive>true</case_insensitive>
|
||||
</config>
|
||||
<rules>
|
||||
<state name="string">
|
||||
<rule pattern=""">
|
||||
<token type="LiteralString"/>
|
||||
<pop depth="1"/>
|
||||
</rule>
|
||||
<rule pattern="\\([\\abfnrtv"\']|x[a-f0-9]{2,4}|[0-7]{1,3})">
|
||||
<token type="LiteralStringEscape"/>
|
||||
</rule>
|
||||
<rule pattern="[^\\"\n]+">
|
||||
<token type="LiteralString"/>
|
||||
</rule>
|
||||
<rule pattern="\\\n">
|
||||
<token type="LiteralString"/>
|
||||
</rule>
|
||||
<rule pattern="\\">
|
||||
<token type="LiteralString"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="root">
|
||||
<rule pattern="\s+">
|
||||
<token type="TextWhitespace"/>
|
||||
</rule>
|
||||
<rule pattern="//.*?\n">
|
||||
<token type="CommentSingle"/>
|
||||
</rule>
|
||||
<rule pattern="([a-z0-9-]+:)([ \t]*)(.*(?:\n[ \t].+)*)">
|
||||
<bygroups>
|
||||
<token type="NameAttribute"/>
|
||||
<token type="TextWhitespace"/>
|
||||
<token type="LiteralString"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule>
|
||||
<push state="code"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="code">
|
||||
<rule pattern="\s+">
|
||||
<token type="TextWhitespace"/>
|
||||
</rule>
|
||||
<rule pattern="//.*?\n">
|
||||
<token type="CommentSingle"/>
|
||||
</rule>
|
||||
<rule pattern="/\*">
|
||||
<token type="CommentMultiline"/>
|
||||
<push state="comment"/>
|
||||
</rule>
|
||||
<rule pattern=""">
|
||||
<token type="LiteralString"/>
|
||||
<push state="string"/>
|
||||
</rule>
|
||||
<rule pattern="'(\\.|\\[0-7]{1,3}|\\x[a-f0-9]{1,2}|[^\\\'\n])'">
|
||||
<token type="LiteralStringChar"/>
|
||||
</rule>
|
||||
<rule pattern="#b[01]+">
|
||||
<token type="LiteralNumberBin"/>
|
||||
</rule>
|
||||
<rule pattern="#o[0-7]+">
|
||||
<token type="LiteralNumberOct"/>
|
||||
</rule>
|
||||
<rule pattern="[-+]?(\d*\.\d+([ed][-+]?\d+)?|\d+(\.\d*)?e[-+]?\d+)">
|
||||
<token type="LiteralNumberFloat"/>
|
||||
</rule>
|
||||
<rule pattern="[-+]?\d+">
|
||||
<token type="LiteralNumberInteger"/>
|
||||
</rule>
|
||||
<rule pattern="#x[0-9a-f]+">
|
||||
<token type="LiteralNumberHex"/>
|
||||
</rule>
|
||||
<rule pattern="(\?\\?)([\w!&*<>|^$%@+~?/=-]+)(:)(token|name|variable|expression|body|case-body|\*)">
|
||||
<bygroups>
|
||||
<token type="Operator"/>
|
||||
<token type="NameVariable"/>
|
||||
<token type="Operator"/>
|
||||
<token type="NameBuiltin"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="(\?)(:)(token|name|variable|expression|body|case-body|\*)">
|
||||
<bygroups>
|
||||
<token type="Operator"/>
|
||||
<token type="Operator"/>
|
||||
<token type="NameVariable"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="(\?\\?)([\w!&*<>|^$%@+~?/=-]+)">
|
||||
<bygroups>
|
||||
<token type="Operator"/>
|
||||
<token type="NameVariable"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="(=>|::|#\(|#\[|##|\?\?|\?=|\?|[(){}\[\],.;])">
|
||||
<token type="Punctuation"/>
|
||||
</rule>
|
||||
<rule pattern=":=">
|
||||
<token type="Operator"/>
|
||||
</rule>
|
||||
<rule pattern="#[tf]">
|
||||
<token type="Literal"/>
|
||||
</rule>
|
||||
<rule pattern="#"">
|
||||
<token type="LiteralStringSymbol"/>
|
||||
<push state="symbol"/>
|
||||
</rule>
|
||||
<rule pattern="#[a-z0-9-]+">
|
||||
<token type="Keyword"/>
|
||||
</rule>
|
||||
<rule pattern="#(all-keys|include|key|next|rest)">
|
||||
<token type="Keyword"/>
|
||||
</rule>
|
||||
<rule pattern="[\w!&*<>|^$%@+~?/=-]+:">
|
||||
<token type="KeywordConstant"/>
|
||||
</rule>
|
||||
<rule pattern="<[\w!&*<>|^$%@+~?/=-]+>">
|
||||
<token type="NameClass"/>
|
||||
</rule>
|
||||
<rule pattern="\*[\w!&*<>|^$%@+~?/=-]+\*">
|
||||
<token type="NameVariableGlobal"/>
|
||||
</rule>
|
||||
<rule pattern="\$[\w!&*<>|^$%@+~?/=-]+">
|
||||
<token type="NameConstant"/>
|
||||
</rule>
|
||||
<rule pattern="(let|method|function)([ \t]+)([\w!&*<>|^$%@+~?/=-]+)">
|
||||
<bygroups>
|
||||
<token type="NameBuiltin"/>
|
||||
<token type="TextWhitespace"/>
|
||||
<token type="NameVariable"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="(error|signal|return|break)">
|
||||
<token type="NameException"/>
|
||||
</rule>
|
||||
<rule pattern="(\\?)([\w!&*<>|^$%@+~?/=-]+)">
|
||||
<bygroups>
|
||||
<token type="Operator"/>
|
||||
<token type="Name"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="comment">
|
||||
<rule pattern="[^*/]">
|
||||
<token type="CommentMultiline"/>
|
||||
</rule>
|
||||
<rule pattern="/\*">
|
||||
<token type="CommentMultiline"/>
|
||||
<push/>
|
||||
</rule>
|
||||
<rule pattern="\*/">
|
||||
<token type="CommentMultiline"/>
|
||||
<pop depth="1"/>
|
||||
</rule>
|
||||
<rule pattern="[*/]">
|
||||
<token type="CommentMultiline"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="symbol">
|
||||
<rule pattern=""">
|
||||
<token type="LiteralStringSymbol"/>
|
||||
<pop depth="1"/>
|
||||
</rule>
|
||||
<rule pattern="[^\\"]+">
|
||||
<token type="LiteralStringSymbol"/>
|
||||
</rule>
|
||||
</state>
|
||||
</rules>
|
||||
</lexer>
|
Loading…
Add table
Add a link
Reference in a new issue