189 lines
5.1 KiB
XML
189 lines
5.1 KiB
XML
|
<lexer>
|
||
|
<config>
|
||
|
<name>Hexdump</name>
|
||
|
<alias>hexdump</alias>
|
||
|
</config>
|
||
|
<rules>
|
||
|
<state name="offset">
|
||
|
<rule pattern="^([0-9A-Ha-h]+)(:)">
|
||
|
<bygroups>
|
||
|
<token type="NameLabel"/>
|
||
|
<token type="Punctuation"/>
|
||
|
</bygroups>
|
||
|
<push state="offset-mode"/>
|
||
|
</rule>
|
||
|
<rule pattern="^[0-9A-Ha-h]+">
|
||
|
<token type="NameLabel"/>
|
||
|
</rule>
|
||
|
</state>
|
||
|
<state name="offset-mode">
|
||
|
<rule pattern="\s">
|
||
|
<token type="Text"/>
|
||
|
<pop depth="1"/>
|
||
|
</rule>
|
||
|
<rule pattern="[0-9A-Ha-h]+">
|
||
|
<token type="NameLabel"/>
|
||
|
</rule>
|
||
|
<rule pattern=":">
|
||
|
<token type="Punctuation"/>
|
||
|
</rule>
|
||
|
</state>
|
||
|
<state name="piped-strings">
|
||
|
<rule pattern="\n">
|
||
|
<token type="Text"/>
|
||
|
</rule>
|
||
|
<rule>
|
||
|
<include state="offset"/>
|
||
|
</rule>
|
||
|
<rule pattern="[0-9A-Ha-h]{2}">
|
||
|
<token type="LiteralNumberHex"/>
|
||
|
</rule>
|
||
|
<rule pattern="(\s{2,3})(\|)(.{1,16})(\|)$">
|
||
|
<bygroups>
|
||
|
<token type="Text"/>
|
||
|
<token type="Punctuation"/>
|
||
|
<token type="LiteralString"/>
|
||
|
<token type="Punctuation"/>
|
||
|
</bygroups>
|
||
|
</rule>
|
||
|
<rule pattern="\s">
|
||
|
<token type="Text"/>
|
||
|
</rule>
|
||
|
<rule pattern="^\*">
|
||
|
<token type="Punctuation"/>
|
||
|
</rule>
|
||
|
</state>
|
||
|
<state name="bracket-strings">
|
||
|
<rule pattern="\n">
|
||
|
<token type="Text"/>
|
||
|
</rule>
|
||
|
<rule>
|
||
|
<include state="offset"/>
|
||
|
</rule>
|
||
|
<rule pattern="[0-9A-Ha-h]{2}">
|
||
|
<token type="LiteralNumberHex"/>
|
||
|
</rule>
|
||
|
<rule pattern="(\s{2,3})(\>)(.{1,16})(\<)$">
|
||
|
<bygroups>
|
||
|
<token type="Text"/>
|
||
|
<token type="Punctuation"/>
|
||
|
<token type="LiteralString"/>
|
||
|
<token type="Punctuation"/>
|
||
|
</bygroups>
|
||
|
</rule>
|
||
|
<rule pattern="\s">
|
||
|
<token type="Text"/>
|
||
|
</rule>
|
||
|
<rule pattern="^\*">
|
||
|
<token type="Punctuation"/>
|
||
|
</rule>
|
||
|
</state>
|
||
|
<state name="nonpiped-strings">
|
||
|
<rule pattern="\n">
|
||
|
<token type="Text"/>
|
||
|
</rule>
|
||
|
<rule>
|
||
|
<include state="offset"/>
|
||
|
</rule>
|
||
|
<rule pattern="([0-9A-Ha-h]{2})(\-)([0-9A-Ha-h]{2})">
|
||
|
<bygroups>
|
||
|
<token type="LiteralNumberHex"/>
|
||
|
<token type="Punctuation"/>
|
||
|
<token type="LiteralNumberHex"/>
|
||
|
</bygroups>
|
||
|
</rule>
|
||
|
<rule pattern="[0-9A-Ha-h]{2}">
|
||
|
<token type="LiteralNumberHex"/>
|
||
|
</rule>
|
||
|
<rule pattern="(\s{19,})(.{1,20}?)$">
|
||
|
<bygroups>
|
||
|
<token type="Text"/>
|
||
|
<token type="LiteralString"/>
|
||
|
</bygroups>
|
||
|
</rule>
|
||
|
<rule pattern="(\s{2,3})(.{1,20})$">
|
||
|
<bygroups>
|
||
|
<token type="Text"/>
|
||
|
<token type="LiteralString"/>
|
||
|
</bygroups>
|
||
|
</rule>
|
||
|
<rule pattern="\s">
|
||
|
<token type="Text"/>
|
||
|
</rule>
|
||
|
<rule pattern="^\*">
|
||
|
<token type="Punctuation"/>
|
||
|
</rule>
|
||
|
</state>
|
||
|
<state name="root">
|
||
|
<rule pattern="\n">
|
||
|
<token type="Text"/>
|
||
|
</rule>
|
||
|
<rule>
|
||
|
<include state="offset"/>
|
||
|
</rule>
|
||
|
<rule pattern="([0-9A-Ha-h]{2})(\-)([0-9A-Ha-h]{2})">
|
||
|
<bygroups>
|
||
|
<token type="LiteralNumberHex"/>
|
||
|
<token type="Punctuation"/>
|
||
|
<token type="LiteralNumberHex"/>
|
||
|
</bygroups>
|
||
|
</rule>
|
||
|
<rule pattern="[0-9A-Ha-h]{2}">
|
||
|
<token type="LiteralNumberHex"/>
|
||
|
</rule>
|
||
|
<rule pattern="(\s{2,3})(\>)(.{16})(\<)$">
|
||
|
<bygroups>
|
||
|
<token type="Text"/>
|
||
|
<token type="Punctuation"/>
|
||
|
<token type="LiteralString"/>
|
||
|
<token type="Punctuation"/>
|
||
|
</bygroups>
|
||
|
<push state="bracket-strings"/>
|
||
|
</rule>
|
||
|
<rule pattern="(\s{2,3})(\|)(.{16})(\|)$">
|
||
|
<bygroups>
|
||
|
<token type="Text"/>
|
||
|
<token type="Punctuation"/>
|
||
|
<token type="LiteralString"/>
|
||
|
<token type="Punctuation"/>
|
||
|
</bygroups>
|
||
|
<push state="piped-strings"/>
|
||
|
</rule>
|
||
|
<rule pattern="(\s{2,3})(\>)(.{1,15})(\<)$">
|
||
|
<bygroups>
|
||
|
<token type="Text"/>
|
||
|
<token type="Punctuation"/>
|
||
|
<token type="LiteralString"/>
|
||
|
<token type="Punctuation"/>
|
||
|
</bygroups>
|
||
|
</rule>
|
||
|
<rule pattern="(\s{2,3})(\|)(.{1,15})(\|)$">
|
||
|
<bygroups>
|
||
|
<token type="Text"/>
|
||
|
<token type="Punctuation"/>
|
||
|
<token type="LiteralString"/>
|
||
|
<token type="Punctuation"/>
|
||
|
</bygroups>
|
||
|
</rule>
|
||
|
<rule pattern="(\s{2,3})(.{1,15})$">
|
||
|
<bygroups>
|
||
|
<token type="Text"/>
|
||
|
<token type="LiteralString"/>
|
||
|
</bygroups>
|
||
|
</rule>
|
||
|
<rule pattern="(\s{2,3})(.{16}|.{20})$">
|
||
|
<bygroups>
|
||
|
<token type="Text"/>
|
||
|
<token type="LiteralString"/>
|
||
|
</bygroups>
|
||
|
<push state="nonpiped-strings"/>
|
||
|
</rule>
|
||
|
<rule pattern="\s">
|
||
|
<token type="Text"/>
|
||
|
</rule>
|
||
|
<rule pattern="^\*">
|
||
|
<token type="Punctuation"/>
|
||
|
</rule>
|
||
|
</state>
|
||
|
</rules>
|
||
|
</lexer>
|