14 using System.Collections.Generic;
18 using Irony.Interpreter;
20 namespace Irony.Interpreter.Ast {
29 base.Init(context, treeNode);
30 FindOpAndDetectPostfix(context, treeNode);
31 int argIndex = IsPostfix? 0 : 1;
32 Argument = AddChild(
"Arg", treeNode.
ChildNodes[argIndex]);
33 BinaryOp = Op[0].ToString();
34 base.AsString = Op + (IsPostfix ?
"(postfix)" :
"(prefix)");
39 Op = treeNode.ChildNodes[0].FindTokenAndGetText();
40 if (Op ==
"--" || Op ==
"++")
return;
42 Op = treeNode.ChildNodes[1].FindTokenAndGetText();
43 if (Op ==
"--" || Op ==
"++")
return;
49 Argument.Evaluate(context, AstMode.Read);
50 var result = context.LastResult;
52 context.CallDispatcher.ExecuteBinaryOperator(BinaryOp);
55 result = context.LastResult;
56 Argument.Evaluate(context, AstMode.Write);
57 context.Data.Push(result);
A strongly-typed resource class, for looking up localized strings, etc.
ParseTreeNodeList ChildNodes
override void EvaluateNode(EvaluationContext context, AstMode mode)
override void Init(ParsingContext context, ParseTreeNode treeNode)
static string ErrInvalidArgsForIncDec
Looks up a localized string similar to Invalid arguments for IncDecNode AST node: either first or sec...