sleep.parser
Class CodeGenerator
java.lang.Object
sleep.parser.CodeGenerator
- All Implemented Interfaces:
- ParserConstants
public class CodeGenerator
- extends java.lang.Object
- implements ParserConstants
Generates code for the parser. The main thing here developers might concern themselves with is the installEscapeConstant
function
Fields inherited from interface sleep.parser.ParserConstants |
EXPR_ASSERT, EXPR_ASSIGNMENT, EXPR_ASSIGNMENT_OP, EXPR_ASSIGNMENT_T, EXPR_ASSIGNMENT_T_OP, EXPR_BIND, EXPR_BIND_FILTER, EXPR_BIND_PRED, EXPR_BLOCK, EXPR_BREAK, EXPR_ESCAPE, EXPR_EVAL_STRING, EXPR_FOR, EXPR_FOREACH, EXPR_FOREACH_SPECIAL, EXPR_IF, EXPR_IF_ELSE, EXPR_RETURN, EXPR_TRYCATCH, EXPR_WHILE, EXPR_WHILE_SPECIAL, HACK_DEC, HACK_INC, IDEA_BLOCK, IDEA_BOOLEAN, IDEA_CLASS, IDEA_DOUBLE, IDEA_EXPR, IDEA_EXPR_I, IDEA_FUNC, IDEA_HASH_PAIR, IDEA_LITERAL, IDEA_NUMBER, IDEA_OPER, IDEA_PROPERTY, IDEA_STRING, OBJECT_ACCESS, OBJECT_ACCESS_S, OBJECT_CL_CALL, OBJECT_IMPORT, OBJECT_NEW, PRED_AND, PRED_BI, PRED_EXPR, PRED_IDEA, PRED_OR, PRED_UNI, VALUE_INDEXED, VALUE_SCALAR, VALUE_SCALAR_REFERENCE |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
CURRENT_BLOCK
protected Block CURRENT_BLOCK
BACKUP_BLOCKS
protected java.util.Stack BACKUP_BLOCKS
parser
protected Parser parser
escape_constants
protected static java.util.HashMap escape_constants
CodeGenerator
public CodeGenerator(Parser _parser)
installEscapeConstant
public static void installEscapeConstant(char c,
java.lang.String value)
- install a constant for escapes within strings i.e. \n could be "\n"
getRunnableBlock
public Block getRunnableBlock()
add
public void add(Step n,
Token token)
backup
public void backup()
restore
public Block restore()
parsePredicate
public Check parsePredicate(Token data)
parsePredicate
public Check parsePredicate(Statement parsePred)
parseObject
public void parseObject(Token data)
parseObject
public void parseObject(Statement datum)
parseBlock
public void parseBlock(Token data)
parseBlock
public void parseBlock(java.util.LinkedList data)
parseIdea
public void parseIdea(Token data)
parse
public void parse(Statement datum)
parseParameters
public void parseParameters(Token token)