public final class Lexers
extends java.lang.Object
| Constructor and Description |
|---|
Lexers() |
| Modifier and Type | Method and Description |
|---|---|
static Parser<Tok> |
allInteger()
Deprecated.
Use
lexLong(). |
static Parser<Tok> |
allInteger(java.lang.String name)
Deprecated.
Use
lexLong(String). |
static Parser<Tok> |
charLiteral()
returns the lexer that's gonna parse single quoted character literal (escaped by '\'),
and then converts the character to a Character.
|
static Parser<Tok> |
charLiteral(java.lang.String name)
returns the lexer that's gonna parse single quoted character literal (escaped by '\'),
and then converts the character to a Character.
|
static Parser<Tok> |
decimal()
returns the lexer that's gonna parse a decimal number (valid patterns are: 1, 2.3, 000, 0., .23),
and convert the string to a decimal typed token.
|
static Parser<Tok> |
decimal(java.lang.String name)
returns the lexer that's gonna parse a decimal number (valid patterns are: 1, 2.3, 000, 0., .23),
and convert the string to a decimal typed token.
|
static Parser<Tok> |
decInteger()
Deprecated.
Use
lexDecLong(). |
static Parser<Tok> |
decInteger(java.lang.String name)
Deprecated.
Use
lexDecLong(String). |
static Words |
getCaseInsensitive(Parser<?> wscanner,
java.lang.String[] ops,
java.lang.String[] keywords)
Creates a Words object for lexing the operators with names specified in ops,
and for lexing the keywords case insensitively.
|
static Words |
getCaseInsensitive(Parser<?> wscanner,
java.lang.String[] ops,
java.lang.String[] keywords,
FromString<?> toWord)
Creates a Words object for lexing the operators with names specified in ops,
and for lexing the keywords case insensitively.
|
static Words |
getCaseInsensitive(java.lang.String[] ops,
java.lang.String[] keywords)
Creates a Words object for lexing the operators with names specified in ops,
and for lexing the keywords case insensitively.
|
static Words |
getCaseSensitive(Parser<?> wscanner,
java.lang.String[] ops,
java.lang.String[] keywords)
Creates a Words object for lexing the operators with names specified in ops,
and for lexing the keywords case sensitively.
|
static Words |
getCaseSensitive(Parser<?> wscanner,
java.lang.String[] ops,
java.lang.String[] keywords,
FromString<?> toWord)
Creates a Words object for lexing the operators with names specified in ops,
and for lexing the keywords case sensitively.
|
static Words |
getCaseSensitive(java.lang.String[] ops,
java.lang.String[] keywords)
Creates a Words object for lexing the operators with names specified in ops,
and for lexing the keywords case sensitively.
|
static Words |
getOperators(java.lang.String... ops)
Creates a Words object for lexing the operators with names specified in ops.
|
static Parser<Tok> |
hexInteger()
Deprecated.
Use
lexHexLong(). |
static Parser<Tok> |
hexInteger(java.lang.String name)
Deprecated.
Use
lexHexLong(String). |
static Parser<Tok> |
integer()
returns the lexer that's gonna parse a integer number (valid patterns are: 0, 00, 1, 10),
and convert the string to an integer typed token.
|
static Parser<Tok> |
integer(java.lang.String name)
returns the lexer that's gonna parse a integer number (valid patterns are: 0, 00, 1, 10),
and convert the string to an integer typed token.
|
static Parser<Tok> |
lexDecLong()
returns the lexer that's gonna parse a decimal integer number (valid patterns are: 1, 10, 123),
and convert the string to a Long token.
|
static Parser<Tok> |
lexDecLong(java.lang.String name)
returns the lexer that's gonna parse a decimal integer number (valid patterns are: 1, 10, 123),
and convert the string to a Long token.
|
static Parser<Tok[]> |
lexeme(Parser<?> delim,
Parser<Tok> s)
Greedily runs Parser s repeatedly,
and ignores the pattern recognized by Parser delim before and after each s.
|
static Parser<Tok[]> |
lexeme(java.lang.String name,
Parser<?> delim,
Parser<Tok> s)
Greedily runs Parser s repeatedly,
and ignores the pattern recognized by Parser delim before and after each s.
|
static Parser<Tok> |
lexer(Parser<?> s,
Tokenizer tn)
Transform the recognized character range of scanner s to a token object
with a Tokenizer.
|
static Parser<Tok> |
lexer(Parser<?> s,
Tokenizer tn,
java.lang.String err)
Transform the recognized character range of scanner s to a token object
with a Tokenizer.
|
static Parser<Tok> |
lexer(java.lang.String name,
Parser<?> s,
Tokenizer tn)
Transform the recognized character range of scanner s to a token object
with a Tokenizer.
|
static Parser<Tok> |
lexer(java.lang.String name,
Parser<?> s,
Tokenizer tn,
java.lang.String err)
Transform the recognized character range of scanner s to a token object
with a Tokenizer.
|
static Parser<Tok> |
lexHexLong()
returns the lexer that's gonna parse a hex integer number (valid patterns are: 0x1, 0Xff, 0xFe1 etc.),
and convert the string to a Long token.
|
static Parser<Tok> |
lexHexLong(java.lang.String name)
returns the lexer that's gonna parse a hex integer number (valid patterns are: 0x1, 0Xff, 0xFe1 etc.),
and convert the string to a Long token.
|
static Parser<Tok> |
lexLong()
returns the lexer that's gonna parse decimal, hex, and octal numbers
and convert the string to a Long token.
|
static Parser<Tok> |
lexLong(java.lang.String name)
returns the lexer that's gonna parse decimal, hex, and octal numbers
and convert the string to a Long token.
|
static Parser<Tok> |
lexOctLong()
returns the lexer that's gonna parse a octal integer number (valid patterns are: 0, 07, 017, 0371 etc.),
and convert the string to a Long token.
|
static Parser<Tok> |
lexOctLong(java.lang.String name)
returns the lexer that's gonna parse a octal integer number (valid patterns are: 0, 07, 017, 0371 etc.),
and convert the string to a Long token.
|
static Parser<Tok> |
lexSimpleStringLiteral()
returns the lexer that's gonna parse double quoted string literal (escaped by '\'),
and convert the string to a String token.
|
static Parser<Tok> |
lexSimpleStringLiteral(java.lang.String name)
returns the lexer that's gonna parse double quoted string literal (escaped by '\'),
and convert the string to a String token.
|
static Parser<Tok> |
octInteger()
Deprecated.
Use
lexOctLong(). |
static Parser<Tok> |
octInteger(java.lang.String name)
Deprecated.
Use
lexOctLong(String). |
static Parser<Tok> |
quoted(char open,
char close)
Create a lexer that parsers a string literal quoted by open and close,
and then converts it to a TokenQuoted token instance.
|
static Parser<Tok> |
quoted(java.lang.String name,
char open,
char close)
Create a lexer that parsers a string literal quoted by open and close,
and then converts it to a TokenQuoted token instance.
|
static Parser<Tok> |
sqlStringLiteral()
returns the lexer that's gonna parse single quoted string literal (single quote is escaped with another single quote),
and convert the string to a String token.
|
static Parser<Tok> |
sqlStringLiteral(java.lang.String name)
returns the lexer that's gonna parse single quoted string literal (single quote is escaped with another single quote),
and convert the string to a String token.
|
static Parser<Tok> |
stringLiteral()
Deprecated.
|
static Parser<Tok> |
stringLiteral(java.lang.String name)
Deprecated.
|
static Parser<Tok> |
word()
returns the lexer that's gonna parse any word.
|
static Parser<Tok> |
word(java.lang.String name)
returns the lexer that's gonna parse any word.
|
public static Parser<Tok> charLiteral()
public static Parser<Tok> charLiteral(java.lang.String name)
name - the lexer name.public static Parser<Tok> stringLiteral()
lexSimpleStringLiteral()public static Parser<Tok> lexSimpleStringLiteral()
public static Parser<Tok> stringLiteral(java.lang.String name)
lexSimpleStringLiteral(String)name - the lexer name.public static Parser<Tok> lexSimpleStringLiteral(java.lang.String name)
name - the lexer name.public static Parser<Tok> sqlStringLiteral()
public static Parser<Tok> sqlStringLiteral(java.lang.String name)
name - the lexer name.public static Parser<Tok> decimal()
public static Parser<Tok> decimal(java.lang.String name)
name - the lexer name.public static Parser<Tok> integer()
public static Parser<Tok> integer(java.lang.String name)
name - the lexer name.public static Parser<Tok> decInteger()
lexDecLong().public static Parser<Tok> decInteger(java.lang.String name)
lexDecLong(String).name - the lexer name.public static Parser<Tok> octInteger()
lexOctLong().public static Parser<Tok> octInteger(java.lang.String name)
lexOctLong(String).name - the lexer name.public static Parser<Tok> hexInteger()
lexHexLong().public static Parser<Tok> hexInteger(java.lang.String name)
lexHexLong(String).name - the lexer name.public static Parser<Tok> allInteger()
lexLong().public static Parser<Tok> allInteger(java.lang.String name)
lexLong(String).name - the lexer name.public static Parser<Tok> lexDecLong()
public static Parser<Tok> lexDecLong(java.lang.String name)
name - the lexer name.public static Parser<Tok> lexOctLong()
public static Parser<Tok> lexOctLong(java.lang.String name)
name - the lexer name.public static Parser<Tok> lexHexLong()
public static Parser<Tok> lexHexLong(java.lang.String name)
name - the lexer name.public static Parser<Tok> lexLong()
public static Parser<Tok> lexLong(java.lang.String name)
name - the lexer name.public static Parser<Tok> word()
public static Parser<Tok> word(java.lang.String name)
name - the lexer name.public static Parser<Tok> quoted(java.lang.String name, char open, char close)
name - the lexer name.open - the opening character.close - the closing character.public static Parser<Tok> quoted(char open, char close)
open - the opening character.close - the closing character.public static Words getOperators(java.lang.String... ops)
ops - the operator names.public static Words getCaseInsensitive(java.lang.String[] ops, java.lang.String[] keywords)
ops - the operator names.keywords - the keyword names.public static Words getCaseSensitive(java.lang.String[] ops, java.lang.String[] keywords)
ops - the operator names.keywords - the keyword names.public static Words getCaseInsensitive(Parser<?> wscanner, java.lang.String[] ops, java.lang.String[] keywords)
wscanner - the scanner for a word in the language.ops - the operator names.keywords - the keyword names.public static Words getCaseSensitive(Parser<?> wscanner, java.lang.String[] ops, java.lang.String[] keywords)
wscanner - the scanner for a word in the language.ops - the operator names.keywords - the keyword names.public static Words getCaseInsensitive(Parser<?> wscanner, java.lang.String[] ops, java.lang.String[] keywords, FromString<?> toWord)
wscanner - the scanner for a word in the language.ops - the operator names.keywords - the keyword names.toWord - the FromString object used to create a token for non-key words recognized by wscanner.public static Words getCaseSensitive(Parser<?> wscanner, java.lang.String[] ops, java.lang.String[] keywords, FromString<?> toWord)
wscanner - the scanner for a word in the language.ops - the operator names.keywords - the keyword names.toWord - the FromString object used to create a token for non-key words recognized by wscanner.public static Parser<Tok> lexer(java.lang.String name, Parser<?> s, Tokenizer tn)
name - the name of the new Scanner.tn - the Tokenizer object.s - the scanner to transform.public static Parser<Tok> lexer(Parser<?> s, Tokenizer tn)
s - the scanner to transform.tn - the Tokenizer object.public static Parser<Tok> lexer(Parser<?> s, Tokenizer tn, java.lang.String err)
s - the scanner to transform.tn - the Tokenizer object.err - the error message when the tokenizer returns null.public static Parser<Tok> lexer(java.lang.String name, Parser<?> s, Tokenizer tn, java.lang.String err)
name - the name of the new Scanner.s - the scanner to transform.tn - the Tokenizer object.err - the error message when the tokenizer returns null.public static Parser<Tok[]> lexeme(java.lang.String name, Parser<?> delim, Parser<Tok> s)
name - the name of the new Parser object.delim - the delimiter Parser object.s - the Parser object.public static Parser<Tok[]> lexeme(Parser<?> delim, Parser<Tok> s)
delim - the delimiter Parser object.s - the Parser object.