コード例 #1
0
 public override void Visit(PLRString node)
 {
     PopChildren();
     if (PLRString.DisplayWithoutQuotes)
     {
         Return(node.Value);
     }
     else
     {
         Return("\"" + node.Value + "\"");
     }
 }
コード例 #2
0
 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);
     }
 }
コード例 #3
0
        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);
            }
        }
コード例 #4
0
 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);
     }
 }
コード例 #5
0
 public virtual void Visit(PLRString node)
 {
 }