public class Parser
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
Parser.Array
[ a b ...]
[ k1=v1 k2=v2 ...]
|
static class |
Parser.Closure
{ program }
|
static class |
Parser.Executable |
static class |
Parser.Operator |
static class |
Parser.Pipeline
token1 | token2 | ...
|
static class |
Parser.Program
pipe1 ; pipe2 ; ...
|
static class |
Parser.Sequence
( program )
|
static class |
Parser.Statement |
Modifier and Type | Field and Description |
---|---|
private static java.util.regex.Pattern |
redirArg |
private static java.util.regex.Pattern |
redirHereDoc |
private static java.util.regex.Pattern |
redirNoArg |
protected java.util.LinkedList<java.lang.String> |
stack |
protected java.util.List<Parser.Statement> |
statements |
protected java.util.List<Token> |
tokens |
protected Tokenizer |
tz |
Constructor and Description |
---|
Parser(java.lang.CharSequence line) |
Modifier and Type | Method and Description |
---|---|
Parser.Array |
array() |
Parser.Closure |
closure() |
protected Token |
end(java.lang.String str) |
protected Token |
expect(java.lang.String str) |
protected void |
expectNotNull() |
private java.lang.String |
getMissing() |
private java.lang.String |
getMissing(java.lang.String additional) |
protected Token |
next() |
Parser.Program |
program() |
protected void |
push(Token t) |
Parser.Sequence |
sequence() |
protected Token |
start(java.lang.String str,
java.lang.String missing) |
Parser.Statement |
statement() |
java.util.List<Parser.Statement> |
statements() |
java.util.List<Token> |
tokens() |
protected Token |
whole(java.util.List<? extends Token> tokens,
int index) |
protected Token |
whole(Token b,
Token e) |
protected final Tokenizer tz
protected final java.util.LinkedList<java.lang.String> stack
protected final java.util.List<Token> tokens
protected final java.util.List<Parser.Statement> statements
private static final java.util.regex.Pattern redirNoArg
private static final java.util.regex.Pattern redirArg
private static final java.util.regex.Pattern redirHereDoc
public java.util.List<Token> tokens()
public java.util.List<Parser.Statement> statements()
public Parser.Program program()
protected void push(Token t)
protected Token next()
public Parser.Sequence sequence()
public Parser.Closure closure()
public Parser.Statement statement()
public Parser.Array array()
protected void expectNotNull()
private java.lang.String getMissing()
private java.lang.String getMissing(java.lang.String additional)
protected Token start(java.lang.String str, java.lang.String missing)
protected Token end(java.lang.String str)
protected Token expect(java.lang.String str)