sleep.parser
Class CodeGenerator

java.lang.Object
  extended by 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


Field Summary
protected  java.util.Stack BACKUP_BLOCKS
           
protected  Block CURRENT_BLOCK
           
protected static java.util.HashMap escape_constants
           
protected  Parser parser
           
 
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
 
Constructor Summary
CodeGenerator(Parser _parser)
           
 
Method Summary
 void add(Step n, Token token)
           
 void backup()
           
 Block getRunnableBlock()
           
static void installEscapeConstant(char c, java.lang.String value)
          install a constant for escapes within strings i.e.
 void parse(Statement datum)
           
 void parseBlock(java.util.LinkedList data)
           
 void parseBlock(Token data)
           
 void parseIdea(Token data)
           
 void parseObject(Statement datum)
           
 void parseObject(Token data)
           
 void parseParameters(Token token)
           
 Check parsePredicate(Statement parsePred)
           
 Check parsePredicate(Token data)
           
 Block restore()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

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
Constructor Detail

CodeGenerator

public CodeGenerator(Parser _parser)
Method Detail

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)