class JavaLexer
Defined in:
minilexers/java.crConstant Summary
-
ABSTRACT =
"abstract"
-
Keywords
-
ADD =
"+"
-
ADD_ASSIGN =
"+="
-
AND =
"&&"
-
AND_ASSIGN =
"&="
-
ARROW =
"->"
-
Java 8 tokens
-
ASSERT =
"assert"
-
ASSIGN =
"="
-
Operators
-
AT =
"@"
-
Additional symbols not defined in the lexical specification
-
BANG =
"!"
-
BINARY_LITERAL =
/0[bB][01]([01_]*[01])?[lL]?/
-
BITAND =
"&"
-
BITOR =
"|"
-
BOOL_LITERAL =
/true|false/
-
BOOLEAN =
"boolean"
-
BREAK =
"break"
-
BYTE =
"byte"
-
CARET =
"^"
-
CASE =
"case"
-
CATCH =
"catch"
-
CHAR =
"char"
-
CHAR_LITERAL =
/'([^'\\\r\n]|\\['"\\bfnrt]|\\u[0-9a-fA-F]{4}|\\[^'"\r\n])*'/
-
CLASS =
"class"
-
COLON =
":"
-
COLONCOLON =
"::"
-
COMMA =
","
-
COMMENT =
/\/\*.*?\*\//m
-
CONST =
"const"
-
CONTINUE =
"continue"
-
DEC =
"--"
-
DECIMAL_LITERAL =
/0|[1-9]([_\d]*\d)?[lL]?/
-
Literals
-
DEFAULT =
"default"
-
Digits =
/\d([_\d]*\d)?/
-
DIV =
"/"
-
DIV_ASSIGN =
"/="
-
DO =
"do"
-
DOT =
"."
-
DOUBLE =
"double"
-
ELLIPSIS =
"..."
-
ELSE =
"else"
-
ENUM =
"enum"
-
EQUAL =
"=="
-
EscapeSequence =
/\\(?:u005c)?[btnfr"'\\]|\\u(?:[0-3]?[0-7])?[0-7]|\\u[0-9a-fA-F]{4}/
-
ExponentPart =
/[eE][+-]?\d+/
-
Fragment rules
-
EXPORTS =
"exports"
-
EXTENDS =
"extends"
-
FINAL =
"final"
-
FINALLY =
"finally"
-
FLOAT =
"float"
-
FLOAT_LITERAL =
/((\d+\.\d*|\.\d+)([eE][+-]?\d+)?|[+-]?\d+[eE][+-]?\d+)[fFdD]?/
-
FOR =
"for"
-
GE =
">="
-
GOTO =
"goto"
-
GT =
">"
-
HEX_FLOAT_LITERAL =
/0[xX]([0-9a-fA-F]+(\.[0-9a-fA-F]*)?|\.[0-9a-fA-F]+)[pP][+-]?\d+[fFdD]?/
-
HEX_LITERAL =
/0[xX][0-9a-fA-F]([0-9a-fA-F_]*[0-9a-fA-F])?[lL]?/
-
HexDigit =
/[0-9a-fA-F]/
-
HexDigits =
/[0-9a-fA-F]([_0-9a-fA-F]*[0-9a-fA-F])?/
-
IDENTIFIER =
/[a-zA-Z$_][a-zA-Z\d$_]*/
-
Identifiers
-
IF =
"if"
-
IMPLEMENTS =
"implements"
-
IMPORT =
"import"
-
INC =
"++"
-
INSTANCEOF =
"instanceof"
-
INT =
"int"
-
INTERFACE =
"interface"
-
LBRACE =
"{"
-
LBRACK =
"["
-
LE =
"<="
-
Letter =
/[a-zA-Z$_]|[^[:ascii:]]/
-
LetterOrDigit =
/[a-zA-Z\d$_]/
-
LINE_COMMENT =
/\/\/[^\r\n]*/
-
LONG =
"long"
-
LPAREN =
"("
-
Separators
-
LSHIFT_ASSIGN =
"<<="
-
LT =
"<"
-
MOD =
"%"
-
MOD_ASSIGN =
"%="
-
MODULE =
"module"
-
Module related keywords
-
MUL =
"*"
-
MUL_ASSIGN =
"*="
-
NATIVE =
"native"
-
NEW =
"new"
-
NON_SEALED =
"non-sealed"
-
NOTEQUAL =
"!="
-
NULL_LITERAL =
"null"
-
OCT_LITERAL =
/0[0-7]([0-7_]*[0-7])?[lL]?/
-
OPEN =
"open"
-
OPENS =
"opens"
-
OR =
"||"
-
OR_ASSIGN =
"|="
-
PACKAGE =
"package"
-
PERMITS =
"permits"
-
PRIVATE =
"private"
-
PROTECTED =
"protected"
-
PROVIDES =
"provides"
-
PUBLIC =
"public"
-
QUESTION =
"?"
-
RBRACE =
"}"
-
RBRACK =
"]"
-
RECORD =
"record"
-
Records
-
REQUIRES =
"requires"
-
RETURN =
"return"
-
RPAREN =
")"
-
RSHIFT_ASSIGN =
">>="
-
SEALED =
"sealed"
-
Sealed Classes
-
SEMI =
";"
-
SHORT =
"short"
-
STATIC =
"static"
-
STRICTFP =
"strictfp"
-
STRING_LITERAL =
/"([^"\\\r\n]|\\["\\bfnrt]|\\u[0-9a-fA-F]{4}|\\[^"\r\n])*"/
-
SUB =
"-"
-
SUB_ASSIGN =
"-="
-
SUPER =
"super"
-
SWITCH =
"switch"
-
SYNCHRONIZED =
"synchronized"
-
TEXT_BLOCK =
/"""\s*(.|\\["\\bfnrt])*?\s*"""/
-
THIS =
"this"
-
THROW =
"throw"
-
THROWS =
"throws"
-
TILDE =
"~"
-
TO =
"to"
-
TRANSIENT =
"transient"
-
TRANSITIVE =
"transitive"
-
TRY =
"try"
-
URSHIFT_ASSIGN =
">>>="
-
USES =
"uses"
-
VAR =
"var"
-
Local Variable Type Inference
-
VOID =
"void"
-
VOLATILE =
"volatile"
-
WHILE =
"while"
-
WITH =
"with"
-
WS =
/[ \t\r\n\x0C]+/
-
Whitespace and comments
-
XOR_ASSIGN =
"^="
-
YIELD =
"yield"
-
Switch Expressions
Constructors
Instance Method Summary
- #match_char_literal
- #match_identifier_or_keyword
- #match_number
- #match_other
- #match_string_literal_or_text_block
- #skip_whitespace_and_comments
- #tokenize(input : String) : Array(Token)
- #tokenize_logic(input : String) : Array(Token)
Instance methods inherited from class MiniLexer
<<(t : Tuple(Symbol, String))<<(t : Tuple(Symbol, Char))
<<(t : Tuple(Symbol, Char | String)) <<, find(token_type : Symbol) : Array(Token) find, line : Int line, mode : Symbol mode, mode=(mode : Symbol)
mode=(mode : Symbol) mode=, start_repl start_repl, tokenize(input : String) : Array(Token) tokenize, tokenize_logic(input : String) : Array(Token) tokenize_logic, tokens : Array(Token) tokens, tokens=(tokens : Array(Token)) tokens=, trace trace