Package picasso.parser
Class SemanticAnalyzer
- java.lang.Object
-
- picasso.parser.SemanticAnalyzer
-
- All Implemented Interfaces:
SemanticAnalyzerInterface
public class SemanticAnalyzer extends Object implements SemanticAnalyzerInterface
SemanticAnalyzer calls appropriate SemanticAnalyzer for the given token
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddefineVariable(String name, ExpressionTreeNode expr)ExpressionTreeNodegenerateExpressionTree(Stack<Token> tokens)From a stack of tokens in postfix order, creates an expression treestatic SemanticAnalyzergetInstance()Make sure that there is only one semantic analyzer for the application.ExpressionTreeNodegetVariable(String name)Map<String,ExpressionTreeNode>getVariables()booleanisVariableDefined(String name)voidsetVariables(Map<String,ExpressionTreeNode> variables)
-
-
-
Method Detail
-
setVariables
public void setVariables(Map<String,ExpressionTreeNode> variables)
-
getVariables
public Map<String,ExpressionTreeNode> getVariables()
-
defineVariable
public void defineVariable(String name, ExpressionTreeNode expr)
-
isVariableDefined
public boolean isVariableDefined(String name)
-
getVariable
public ExpressionTreeNode getVariable(String name)
-
getInstance
public static SemanticAnalyzer getInstance()
Make sure that there is only one semantic analyzer for the application.- Returns:
- the semantic analyzer
-
generateExpressionTree
public ExpressionTreeNode generateExpressionTree(Stack<Token> tokens)
From a stack of tokens in postfix order, creates an expression tree- Specified by:
generateExpressionTreein interfaceSemanticAnalyzerInterface- Parameters:
tokens- in postfix order- Returns:
- the root node of the expression tree.
-
-