public:
ExpressionType type;
- virtual float Compute();
+ virtual float compute();
bool debugValue;
return { constant = CopyString(readToken().text); };
}
- float Compute()
+ float compute()
{
return (float)atof(constant);
}
return exp;
}
- float Compute()
+ float compute()
{
if(exp1 && exp2)
{
switch(op)
{
- case '*': return exp1.Compute() * exp2.Compute();
- case '/': return exp1.Compute() / exp2.Compute();
- case '-': return exp1.Compute() - exp2.Compute();
- case '+': return exp1.Compute() + exp2.Compute();
+ case '*': return exp1.compute() * exp2.compute();
+ case '/': return exp1.compute() / exp2.compute();
+ case '-': return exp1.compute() - exp2.compute();
+ case '+': return exp1.compute() + exp2.compute();
}
}
else if(exp2)
{
switch(op)
{
- case '-': return -exp2.Compute();
- case '+': return exp2.Compute();
+ case '-': return -exp2.compute();
+ case '+': return exp2.compute();
}
}
return 0;
Print(")");
}
- float Compute()
+ float compute()
{
- return (list && list.lastIterator.data) ? list.lastIterator.data.Compute() : 0;
+ return (list && list.lastIterator.data) ? list.lastIterator.data.compute() : 0;
}
}
public class AST : ASTList<ASTNode>
{
- ASTNode ::ParseExternalDeclaration()
+ ASTNode ::parseExternalDeclaration()
{
SpecsList specs = null;
InitDeclList decls = null;
AST ast = null;
while(peekToken())
{
- ASTNode n = ParseExternalDeclaration();
+ ASTNode n = parseExternalDeclaration();
if(n)
{
if(!ast) ast = { };
{
get
{
- return this == '='|| this == mulAssign || this == divAssign || this == modAssign ||
+ return this == '='|| this == mulAssign || this == divAssign || this == modAssign ||
this == addAssign || this == subAssign || this == leftAssign || this == rightAssign ||
this == andAssign || this == xorAssign || this == orAssign;
}
case neOp: Print("!="); break;
case andOp: Print("&&"); break;
case orOp: Print("||"); break;
- case mulAssign: Print("*="); break;
- case divAssign: Print("/="); break;
- case modAssign: Print("%="); break;
- case addAssign: Print("+="); break;
- case subAssign: Print("-="); break;
- case leftAssign: Print("<<="); break;
- case rightAssign: Print(">>="); break;
- case andAssign: Print("&="); break;
- case xorAssign: Print("^="); break;
- case orAssign: Print("|="); break;
+ case mulAssign: Print("*="); break;
+ case divAssign: Print("/="); break;
+ case modAssign: Print("%="); break;
+ case addAssign: Print("+="); break;
+ case subAssign: Print("-="); break;
+ case leftAssign: Print("<<="); break;
+ case rightAssign: Print(">>="); break;
+ case andAssign: Print("&="); break;
+ case xorAssign: Print("^="); break;
+ case orAssign: Print("|="); break;
}
}
}