|
// /************************************************************
// *
// * Copyright (c) 2012 Matthew So So. All Rights Reserved
// *
// * Author: Matthew So
// *
// ************************************************************/
using System;
using bsn.GoldParser.Semantic;
using System.CodeDom;
namespace EntityMapper.Semantic
{
[Terminal("DecimalValue")]
public class DecimalValue : Expression
{
private readonly CodeExpression _value;
public DecimalValue(string value)
{
int intValue;
if (int.TryParse(value, out intValue))
{
_value = new CodePrimitiveExpression(intValue);
}
else
{
_value = new CodePrimitiveExpression(Convert.ToDecimal(value));
}
}
public override CodeExpression GetValue(ExecutionContext ctx)
{
return _value;
}
}
[Terminal("StringLiteral")]
public class StringLiteral : Expression
{
private readonly CodeExpression _value;
public StringLiteral(string value)
{
string trimmedValue = value.Substring(1, value.Length - 2);
_value = new CodePrimitiveExpression(trimmedValue);
}
public override CodeExpression GetValue(ExecutionContext ctx)
{
return _value;
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
I am always interested in finding innovative ways for building better applications and founded a technology company since 2003. Welcome to exchange any idea with you and if I am not too busy before deadline of projects, I will reply your emails. Also, if you willing to pay for consulting works and customized software development, you can leave me message.