Package | Description |
---|---|
jfun.parsec |
Provides classes and interfaces for parser combinator logic and basic parsers.
|
Modifier and Type | Method and Description |
---|---|
Tok |
IsToken.fromToken(Tok tok)
return the token if the token is the same object that we are expecting.
|
Modifier and Type | Method and Description |
---|---|
static Parser<Tok> |
Lexers.allInteger()
Deprecated.
Use
Lexers.lexLong() . |
static Parser<Tok> |
Lexers.allInteger(java.lang.String name)
Deprecated.
|
static Parser<Tok> |
Parsers.anyToken()
Consumes a token.
|
static Parser<Tok> |
Parsers.anyToken(java.lang.String name)
Consumes a token.
|
static Parser<Tok> |
Lexers.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> |
Lexers.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> |
Lexers.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> |
Lexers.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> |
Lexers.decInteger()
Deprecated.
Use
Lexers.lexDecLong() . |
static Parser<Tok> |
Lexers.decInteger(java.lang.String name)
Deprecated.
|
Parser<Tok> |
Terms.getLexer()
gets the lexer for the terminals.
|
Parser<Tok> |
Words.getLexer()
gets the lexer object.
|
Parser<Tok> |
Terms.getParser(java.lang.String... tnames)
gets the parser for the terminals identified by tnames.
|
Parser<Tok> |
Terms.getParser(java.lang.String tname)
gets the parser for a terminal identified by tname.
|
Parser<Tok> |
Terms.getParser(java.lang.String[] tnames,
java.lang.String expected)
gets the parser for the terminals identified by tnames.
|
Parser<Tok> |
Terms.getParser(java.lang.String tname,
java.lang.String expected)
gets the parser for a terminal identified by tname.
|
Parser<Tok> |
Terms.getParser(java.lang.String name,
java.lang.String[] tnames)
gets the parser for the terminals identified by tnames.
|
Parser<Tok> |
Terms.getParser(java.lang.String name,
java.lang.String[] tnames,
java.lang.String expected)
gets the parser for the terminals identified by tnames.
|
Parser<Tok> |
Terms.getParser(java.lang.String name,
java.lang.String tname,
java.lang.String expected)
gets the parser for a terminal identified by tname.
|
static Parser<Tok> |
Lexers.hexInteger()
Deprecated.
Use
Lexers.lexHexLong() . |
static Parser<Tok> |
Lexers.hexInteger(java.lang.String name)
Deprecated.
|
static FromToken<Tok> |
IsToken.instance(java.lang.Object t)
Creates a FromToken instance using the given expected token t.
|
static Parser<Tok> |
Lexers.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> |
Lexers.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> |
Lexers.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> |
Lexers.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> |
Lexers.lexer(Parser<?> s,
Tokenizer tn)
Transform the recognized character range of scanner s to a token object
with a Tokenizer.
|
static Parser<Tok> |
Scanners.lexer(Parser<?> s,
Tokenizer tn)
Deprecated.
|
static Parser<Tok> |
Lexers.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> |
Scanners.lexer(Parser<?> s,
Tokenizer tn,
java.lang.String err)
Deprecated.
|
static Parser<Tok> |
Lexers.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> |
Scanners.lexer(java.lang.String name,
Parser<?> s,
Tokenizer tn)
Deprecated.
|
static Parser<Tok> |
Lexers.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> |
Scanners.lexer(java.lang.String name,
Parser<?> s,
Tokenizer tn,
java.lang.String err)
Deprecated.
|
static Parser<Tok> |
Lexers.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> |
Lexers.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> |
Lexers.lexLong()
returns the lexer that's gonna parse decimal, hex, and octal numbers
and convert the string to a Long token.
|
static Parser<Tok> |
Lexers.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> |
Lexers.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> |
Lexers.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> |
Lexers.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> |
Lexers.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> |
Lexers.octInteger()
Deprecated.
Use
Lexers.lexOctLong() . |
static Parser<Tok> |
Lexers.octInteger(java.lang.String name)
Deprecated.
|
static Parser<Tok> |
Lexers.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> |
Lexers.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> |
Lexers.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> |
Lexers.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> |
Lexers.stringLiteral()
Deprecated.
|
static Parser<Tok> |
Lexers.stringLiteral(java.lang.String name)
Deprecated.
|
static Parser<Tok> |
Parsers.token(java.lang.Object t)
Token level parser.
|
static Parser<Tok> |
Parsers.token(java.lang.String name,
java.lang.Object t)
Token level parser.
|
static <T> Map<Tok,T> |
Maps.toToken()
Transform a Tok object to the wrapped token object.
|
static Parser<Tok> |
Lexers.word()
returns the lexer that's gonna parse any word.
|
static Parser<Tok> |
Lexers.word(java.lang.String name)
returns the lexer that's gonna parse any word.
|
Modifier and Type | Method and Description |
---|---|
R |
FromToken.fromToken(Tok tok)
Transform a token to an Object.
|
Tok |
IsToken.fromToken(Tok tok)
return the token if the token is the same object that we are expecting.
|
static <R> R |
Parsers.runParser(Tok[] toks,
int end_index,
Parser<R> p,
ShowToken show,
java.lang.String eof_title,
PositionMap pmap,
java.lang.String module)
Runs a token level Parser object with an array of tokens.
|
Modifier and Type | Method and Description |
---|---|
static Parser<Tok[]> |
Lexers.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[]> |
Scanners.lexeme(Parser<?> delim,
Parser<Tok> s)
Deprecated.
|
static Parser<Tok[]> |
Lexers.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[]> |
Scanners.lexeme(java.lang.String name,
Parser<?> delim,
Parser<Tok> s)
Deprecated.
|