ln.lexer/SharpLexer/TestGrammar.xml

23 lines
934 B
XML

<?xml version="1.0" encoding="UTF-8" ?>
<Grammar>
<Tokens>
<Token name="symbol" notice="yes" grouping="yes">alpha alphadigit{,}</Token>
<Token name="number" notice="yes" grouping="yes">[-]{,1} digit19 digit{0,} ( [.] digit{1,} ){0,1}</Token>
<Token name="string" notice="yes" grouping="yes">["] ( [../"] | [\\] ["] ){,} ["]</Token>
<Token name="const_literal">number | string</Token>
<Token name="lvalue">symbol</Token>
<Token name="rvalue">symbol</Token>
<Token name="operator">[+-*\/%=?]</Token>
<Token name="operation">(lvalue operator){0,1} rvalue [;]</Token>
<Token name="conditional">"if" whitespace "(" rvalue ")" statement</Token>
<Token name="block">"{" source "}"</Token>
<Token name="statement">operation | conditional | block</Token>
<Token name="source">statement{,}</Token>
<Token name="numbersandstrings">(whitespace{,} (number | string | symbol)){,}</Token>
</Tokens>
</Grammar>