void OutParam(out Expression exp) { exp = null; if (la.kind == 1) { Get(); exp = new PLRString(t.val); } else if (StartOf(2)) { Expression(out exp); } else SynErr(32); }
void InOrReadParam(out Expression exp) { exp = null; if (la.kind == 1) { Get(); exp = new PLRString(t.val); SetPos(exp, t); } else if (la.kind == 3) { Get(); exp = new VariableBinding(t.val.Replace("!", "")); SetPos(exp, t); } else if (StartOf(2)) { Expression(out exp); } else SynErr(33); }
void CallParam(out Expression exp) { Expression aexp = null; exp = null; if (StartOf(2)) { ArithmeticExpression(out aexp); exp = aexp; } else if (la.kind == 8) { Get(); exp = new PLRString(t.val.Substring(1, t.val.Length-2)); SetPos(exp, t); } else SynErr(46); }
public virtual void Visit(PLRString node) { }
public override void Visit(PLRString node) { PopChildren(); if (PLRString.DisplayWithoutQuotes) { Return(node.Value); } else { Return("\"" + node.Value + "\""); } }