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.