|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectslogo.parser.SLogoParser
public class SLogoParser
Illustrates the java.io.StreamTokenizer class and how it can be used to parse tokens for a toy example programming language (elan). For this example simple instructions are parsed, but lots of infrastructure is in place for parsing a more complete language.
slogo.expression
,
slogo.instruction
,
InstructionParser
Field Summary | |
---|---|
protected SLogoContext |
myContext
|
java.lang.Object |
myResult
|
protected Token |
myToken
|
protected java.io.StreamTokenizer |
myTokenizer
|
Constructor Summary | |
---|---|
SLogoParser(Turtle turtle)
|
Method Summary | |
---|---|
void |
error(Token t)
|
Context |
getContext()
|
java.lang.Object |
getMyResult()
|
Token |
getToken()
returns the current token, doesn't fetch a new one |
java.lang.Object |
interpret(java.io.Reader r)
parses an expression and prints the result of evaluating the expression. |
java.lang.Object |
interpret(java.lang.String cmd)
|
static void |
main(java.lang.String[] args)
Basic driver for SLogoParser |
Token |
match(Token rhs)
try to match a token, if unsuccessful throw an exception, otherwise match succeeds, and next token is obtained and returned |
protected Token |
nextToken()
get the next token and store it for retrieval by getToken() |
protected GrammarElement |
parseInstructionParameter()
|
protected java.util.List<GrammarElement> |
parseInstructionParameters(int numParameters)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected java.io.StreamTokenizer myTokenizer
protected Token myToken
protected SLogoContext myContext
public java.lang.Object myResult
Constructor Detail |
---|
public SLogoParser(Turtle turtle)
Method Detail |
---|
public java.lang.Object interpret(java.lang.String cmd)
cmd
- string command from text fieldpublic java.lang.Object interpret(java.io.Reader r)
r
- the reader that will be tokenized
protected Token nextToken()
public Token getToken()
protected GrammarElement parseInstructionParameter()
protected java.util.List<GrammarElement> parseInstructionParameters(int numParameters)
numParameters
-
public Token match(Token rhs)
rhs
- token being matched
ParseException
- if match failspublic void error(Token t)
t
- token where error occurred
a
- ParseException labeled by tpublic Context getContext()
public java.lang.Object getMyResult()
public static void main(java.lang.String[] args)
args
-
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |