コード例 #1
0
ファイル: MoveRule.cs プロジェクト: hgabor/boardgame
 public MoveRule(string piece, CoordExpr from, CoordExpr to, bool targetEmpty, string label, Expression condition, Statement action, Game g)
 {
     PieceType = piece;
     From = from;
     To = to;
     TargetMustBeEmpty = targetEmpty;
     Label = label;
     Condition = condition;
     this.action = action;
 }
コード例 #2
0
ファイル: CoordExpr.cs プロジェクト: hgabor/boardgame
 static CoordExpr()
 {
     Expression.RegisterParser("LIT_COORDS", tree =>
     {
         Expression[] e = new Expression[tree.ChildCount];
         for (int i = 0; i < tree.ChildCount; i++)
         {
             e[i] = Expression.Parse(tree.GetChild(i));
         }
         return new CoordExpr(e);
     });
 }
コード例 #3
0
ファイル: SelectExpr.cs プロジェクト: hgabor/boardgame
 static SelectExpr()
 {
     Expression.RegisterParser("SELECT", tree =>
     {
         Expression varName = Expression.Parse(tree.GetChild("REF"));
         Expression from = Expression.Parse(tree.GetChild("SELECT_FROM").GetOnlyChild());
         Expression where = null;
         if (tree.HasChild("SELECT_WHERE"))
         {
             where = Expression.Parse(tree.GetChild("SELECT_WHERE").GetOnlyChild());
         }
         return new SelectExpr(varName, from, where);
     });
 }
コード例 #4
0
ファイル: ModExpr.cs プロジェクト: hgabor/boardgame
 public ModExpr(Expression lhs, Expression rhs)
 {
     this.lhs = lhs;
     this.rhs = rhs;
 }
コード例 #5
0
ファイル: ExprStatement.cs プロジェクト: hgabor/boardgame
 public ExprStatement(Expression e)
 {
     this.e = e;
 }
コード例 #6
0
ファイル: IfStatement.cs プロジェクト: hgabor/boardgame
 public IfStatement(Expression condition, Statement action)
 {
     this.condition = condition;
     this.action = action;
 }
コード例 #7
0
ファイル: RangeExpr.cs プロジェクト: hgabor/boardgame
 public RangeExpr(Expression lhs, Expression rhs)
 {
     this.lhs = lhs;
     this.rhs = rhs;
 }
コード例 #8
0
ファイル: Board.cs プロジェクト: hgabor/boardgame
 public void AddRule(Expression exp)
 {
     ruleList.Add(exp);
 }
コード例 #9
0
ファイル: ReturnStatement.cs プロジェクト: hgabor/boardgame
 public ReturnStatement(Expression exp)
 {
     this.exp = exp;
 }
コード例 #10
0
ファイル: NotExpr.cs プロジェクト: hgabor/boardgame
 public NotExpr(Expression expr)
 {
     this.expr = expr;
 }
コード例 #11
0
ファイル: PlayerRefExpr.cs プロジェクト: hgabor/boardgame
 public PlayerRefExpr(Expression playerID)
 {
     this.playerID = playerID;
 }
コード例 #12
0
ファイル: MemberAccessExpr.cs プロジェクト: hgabor/boardgame
 public MemberAccessExpr(Expression parent, Expression member)
 {
     this.parent = parent;
     this.member = member;
 }
コード例 #13
0
ファイル: SelectExpr.cs プロジェクト: hgabor/boardgame
 public SelectExpr(Expression varName, Expression from, Expression where = null)
 {
     this.varName = varName;
     this.from = from;
     this.where = where;
 }
コード例 #14
0
ファイル: FunctionCallExpr.cs プロジェクト: hgabor/boardgame
 public FunctionCallExpr(Expression name, params Expression[] p)
 {
     this.name = name;
     this.p = (Expression[])p.Clone();
 }
コード例 #15
0
 public AssignmentStatement(Expression variable, Expression value)
 {
     this.variable = variable;
     this.value = value;
 }