Files
bds.mr.dpg/doc/tutorial/old/multiLexer/javaLexer.g
T
2026-01-03 18:31:15 +01:00

68 lines
1.1 KiB
Plaintext

unit JavaLexer;
uses
{
dpgTokenStreamSelector;
}
lexer TJavaLexer;
options
{
k = 2;
importVocab = JavaDoc;
exportVocab = Java;
}
tokens
{
"int";
}
memberdecl
{
public
Selector : IdpgTokenStreamSelector;
}
// ----------------------------------------------------------------------------
// Simple tokens
// ----------------------------------------------------------------------------
SEMI : ';';
// ----------------------------------------------------------------------------
// JavaDocOpen
// ----------------------------------------------------------------------------
JAVADOC_OPEN
: "/**" { Selector.Push('docLexer'); }
;
// ----------------------------------------------------------------------------
// Identifier
// ----------------------------------------------------------------------------
ID
options
{
testLiterals = true;
}
: ('a'..'z')+
;
WS
:
(
' '
| '\t'
|
(
'\r' '\n'
| '\r'
| '\n'
)
{
newLine;
}
)
{
_ttype := TT_SKIP;
}
;