Example #1
0
        public override void Compile(LinkedListNode<Token> node, Listitem lastInsertedAction)
        {
            node = node.Next;
            if (node.Value.Text == "(")
            {
                DoNothing end = new DoNothing();

                JumpConditional jc = new JumpConditional();
                jc.Condition = GetExpression(ref node);
                jc.OnTrue = new DoNothing();
                ActionList.AddLast(jc);
                ActionList.AddLast(jc.OnTrue);

                node = node.Next;

                if (node.Value.Text == "{")
                {
                    List<LinkedListNode<Token>> statement = GetStatement(ref node);
                    Jump tmpjump = new Jump();
                    tmpjump.Goto = end;
                    tmpjump.Statement = statement;
                    ActionList.AddLast(tmpjump);
                }

                // Hier moet eigelijk nog een else check komen
                jc.OnFalse = end;

                ActionList.AddLast(end);
            }
            else
                Console.WriteLine("Expected '(' exception");
        }
Example #2
0
 public void InsertBefore(Listitem before, Listitem insert)
 {
     Listitem tmp = before.Previous;
     before.Previous = insert;
     insert.Previous = tmp;
     insert.Next = before;
 }
Example #3
0
        public override void Compile(LinkedListNode<Token> node, Listitem lastInsertedAction)
        {
            node = node.Next;
            if (node.Value.Text == "(")
            {
                List<LinkedListNode<Token>> expression = GetExpression(ref node);

                JumpConditional temp = new JumpConditional();
                temp.Condition = expression;
                temp.OnTrue = new DoNothing();
                ActionList.AddLast(temp);
                ActionList.AddLast(temp.OnTrue);

                node = node.Next;

                if (node.Value.Text == "{") {
                    List<LinkedListNode<Token>> statement = GetStatement(ref node);
                    Jump tempjump = new Jump();
                    tempjump.Goto = (Action) lastInsertedAction;
                    tempjump.Statement = statement;
                    ActionList.AddLast(tempjump);
                }
                temp.OnFalse = new DoNothing();
                ActionList.AddLast(temp.OnFalse);
            }
            else
                Console.WriteLine("Expected '(' exception");
        }
Example #4
0
        /// <summary>
        /// 获取统计大类ID
        /// </summary>
        /// <param name="statID">中心统计大类ID</param>
        /// <returns>本院统计大类ID</returns>
        private int getsubitemId(int statID)
        {
            Basic_StatItem subitem = Listitem.Find(x => x.StatID == statID);

            if (subitem == null)
            {
                return(0);
            }

            return(subitem.ID);
        }
Example #5
0
 public void AddLast(Listitem item)
 {
     if (First == null)
     {
         First = item;
     }
     else
     {
         Last.Next = item;
         item.Previous = Last;
     }
     Last = item;
 }
Example #6
0
        /// <summary>
        /// 获取分类明细ID
        /// </summary>
        /// <param name="subtype">类型</param>
        /// <param name="statID">统计大类ID</param>
        /// <returns>分类明细ID</returns>
        private int getsubclassId(int subtype, int statID)
        {
            Basic_StatItem subitem = Listitem.Find(x => x.StatID == statID);

            if (subitem == null)
            {
                return(0);
            }

            Basic_StatItemSubclass subclass = null;

            switch (subtype)
            {
            case 1:
                subclass = Listsubclass.Find(x => x.SubID == subitem.AccItemID);
                break;

            case 2:
                subclass = Listsubclass.Find(x => x.SubID == subitem.CostItemID);
                break;

            case 3:
                subclass = Listsubclass.Find(x => x.SubID == subitem.BaItemID);
                break;

            case 4:
                subclass = Listsubclass.Find(x => x.SubID == subitem.PoItemID);
                break;

            case 5:
                subclass = Listsubclass.Find(x => x.SubID == subitem.OutFpItemID);
                break;

            case 6:
                subclass = Listsubclass.Find(x => x.SubID == subitem.InFpItemID);
                break;
            }

            if (subclass == null)
            {
                return(0);
            }

            return(subclass.SubID);
        }
Example #7
0
 public virtual void Compile(LinkedListNode<Token> node, Listitem lastInsertedAction)
 {
 }
Example #8
0
 public override void Compile(LinkedListNode<Token> node, Listitem lastInsertedAction)
 {
     // add var node.next.value to varlist with type node.value
 }