public static Script AssignStmt(string varName, DiceDeclaration exp, AssignementType type = AssignementType.Number) { return(new Script { Statements = new List <Statement> { new AssignementStatement { Type = type, VariableName = varName, Expression = new DiceExpression { Dices = exp } } } }); }
private static DiceExpression ComputeDiceExpression( Maybe <string> name, DiceDeclaration diceExpr, Maybe <SumBonusDeclaration> sumBonus, Maybe <OptionGroup> optionGroupExpr) { var result = new DiceExpression { Dices = diceExpr, Options = optionGroupExpr.GetValueOrDefault(), Name = name.GetValueOrDefault() }; if (sumBonus.HasValue) { result.SumBonus = sumBonus.Value; } return(result); }
public static Script ToAst(DiceDeclaration exp) { return(ToAst(new DiceExpression { Dices = exp })); }