Example #1
0
        private LiteralExpr TranslateLiteral(TokenLiteral l)
        {
            LiteralExpr m;

            if (l.OnBooleanValue)
            {
                m = LiteralExpr.CreateBooleanValue(l.BooleanValue);
            }
            else if (l.OnIntValue)
            {
                m = LiteralExpr.CreateIntValue(l.IntValue);
            }
            else if (l.OnRealValue)
            {
                m = LiteralExpr.CreateRealValue(l.RealValue);
            }
            else
            {
                throw new InvalidOperationException();
            }
            Positions.Add(m, Positions[l]);
            return(m);
        }
Example #2
0
 /// <summary>字面量表达式</summary>
 public static Expr CreateLiteral(LiteralExpr Value)
 {
     return(new Expr {
         _Tag = ExprTag.Literal, Literal = Value
     });
 }