예제 #1
0
파일: AST.cs 프로젝트: EgorGumin/Automata
 internal UnivDecl(Cons <UnivArg> args)
     : base(DeclKind.universe)
 {
     this.args = args;
 }
예제 #2
0
파일: AST.cs 프로젝트: EgorGumin/Automata
 internal VarDecl(DeclKind kind, Cons <Token> univs, Cons <VarWhere> vars)
     : base(kind)
 {
     this.univs = univs;
     this.vars  = vars;
 }
예제 #3
0
파일: AST.cs 프로젝트: EgorGumin/Automata
 internal Var0Decl(Cons <Token> vars)
     : base(DeclKind.var0)
 {
     this.vars = vars;
 }
예제 #4
0
파일: AST.cs 프로젝트: EgorGumin/Automata
 internal QBFormula(Token quantifier, Cons <Token> vars, Expr formula) :
     base(quantifier)
 {
     this.vars    = vars;
     this.formula = formula;
 }
예제 #5
0
파일: AST.cs 프로젝트: EgorGumin/Automata
 internal Set(Token set, Cons <Expr> elems = null)
     : base(set, ExprType.SET)
 {
     this.elems = elems;
 }
예제 #6
0
파일: AST.cs 프로젝트: EgorGumin/Automata
 internal Program(Token token, Cons <Decl> declarations)
 {
     this.token        = token;
     this.declarations = declarations;
 }
예제 #7
0
파일: AST.cs 프로젝트: EgorGumin/Automata
 internal PredApp(Token token, Cons <Expr> expressions)
     : base(token)
 {
     this.expressions = expressions;
 }
예제 #8
0
        /// <summary>
        /// Pushes a new map at the top. Returns the new mapstack.
        /// </summary>
        /// <param name="map">map to be pushed</param>
        public MapStack <K, V> Push(Dictionary <K, V> map)
        {
            var maps1 = new Cons <Dictionary <K, V> >(map, maps);

            return(new MapStack <K, V>(maps1, this));
        }
예제 #9
0
 MapStack(Cons <Dictionary <K, V> > maps, MapStack <K, V> rest)
 {
     this.maps = maps;
     this.rest = rest;
 }
예제 #10
0
 Cons()
 {
     this.first = default(T);
     this.rest  = null;
     this.count = 0;
 }
예제 #11
0
 public void Reset()
 {
     this.cons    = this.orig;
     this.current = default(T);
 }
예제 #12
0
 internal ConsEnumerator(Cons <T> cons)
 {
     this.cons    = cons;
     this.orig    = cons;
     this.current = default(T);
 }