class DefaultParser extends Object implements Parser
Parsed grammar:
imputline = command { argument } .
command = keyword [ keyword ] .
keyword = character { character } .
argument = literal | number | string | boolean.
literal = alphanum { alphanum } .
number = integer | float .
integer = [ sign ] digit { digit } .
float = [ sign ] digit { digit } '.' digit { digit } [ exponent ] .
exponent = ( 'e' | 'E' ) [ sign ] digit { digit } .
boolean = 'true' | 'false' .
string = '\'' alphanum { whitespace | alphanum } '\''
| '"' alphanum { whitespace | alphanum } '"' .
alphanum = character
| digit .
character = 'a' .. 'z'
| 'A' .. 'Z' .
digit = '0' .. '9' .
sign = '-' | '+' .
whitespace = ' ' .
| Modifier and Type | Field and Description |
|---|---|
private LiteralCommandMap |
commandMap
Map used to determine command keywords.
|
private Scanner |
scanner
Tokenize the input line.
|
private CommandVerifier |
verifier
Verifies the parsed commands.
|
| Constructor and Description |
|---|
DefaultParser(Scanner scanner,
CommandVerifier verifier,
LiteralCommandMap commandMap)
Dedicated constructor.
|
private final Scanner scanner
private final CommandVerifier verifier
private final LiteralCommandMap commandMap
public DefaultParser(Scanner scanner, CommandVerifier verifier, LiteralCommandMap commandMap)
scanner - must not be nullverifier - must not be nullcommandMap - must not be nullpublic ShellCommand parse(String input) throws SyntaxException
parse in interface Parserinput - line to parseSyntaxException - if, the parsed line has syntax errorsCopyright © 2014 Sven Strittmatter. All Rights Reserved.