Beispiel #1
0
        /*********************************************************************
         *** FUNCTION    : All                                             ***
         *********************************************************************
         *** DESCRIPTION : find all                                        ***
         *** INPUT ARGS  : NONE                                            ***
         *** OUTPUT ARGS : NONE                                            ***
         *** RETURN      : Literal[]                                       ***
         ********************************************************************/
        public Literal[] All()
        {
            List <Literal> symbols = new List <Literal>();
            Listsymbol     ptr     = head;

            while (ptr != null)
            {
                symbols.Add(ptr.literal);
                ptr = ptr.next;
            }
            return(symbols.ToArray());
        }
Beispiel #2
0
        /********************************************************************
         *** FUNCTION    : Display                                         ***
         *********************************************************************
         *** DESCRIPTION : Display the literal table                       ***
         *** INPUT ARGS  : NONE                                            ***
         *** OUTPUT ARGS : NONE                                            ***
         *** RETURN      : void                                            ***
         *********************************************************************/
        public void Display()
        {
            Console.WriteLine("                    LITERAL TABLE");
            Console.WriteLine("{0,-12} {1,-18} {2,-10} {3,-10}", "NAME", "VALUE", "LENGTH", "ADDRESS");
            Console.WriteLine("-------------------------------------------------------");
            Listsymbol ptr = head;

            while (ptr != null)
            {
                Console.WriteLine("{0,-12} {1,-18} {2,-10} {3,-10}", ptr.literal.name, ptr.literal.value, ptr.literal.length, ptr.literal.address);
                ptr = ptr.next;
            }
        }
Beispiel #3
0
        /*********************************************************************
         *** FUNCTION    : Replace                                         ***
         *********************************************************************
         *** DESCRIPTION : Search and Replace the symbol                   ***
         *** INPUT ARGS  : Literals                                        ***
         *** OUTPUT ARGS : None                                            ***
         *** RETURN      : Void                                            ***
         ********************************************************************/
        public void Replace(Literal newSym, Literal prev)
        {
            Listsymbol ptr = head;

            while (ptr != null)
            {
                if (prev.name == ptr.literal.name)
                {
                    ptr.literal = newSym;
                }
                ptr = ptr.next;
            }
        }
Beispiel #4
0
        /********************************************************************
         *** FUNCTION    : Add                                             ***
         *********************************************************************
         *** DESCRIPTION : add nodes to linked list                        ***
         *** INPUT ARGS  : Literal lit                                     ***
         *** OUTPUT ARGS : NONE                                            ***
         *** RETURN      : void                                            ***
         *********************************************************************/
        public void Add(Literal lit)
        {
            Listsymbol newsymbol = new Listsymbol()
            {
                literal = lit, next = null
            };
            Listsymbol ptr;

            if (head == null)
            {
                head = newsymbol;
            }
            else
            {
                ptr = head;
                while (ptr.next != null)
                {
                    ptr = ptr.next;
                }
                ptr.next = newsymbol;
            }
        }
Beispiel #5
0
 /*********************************************************************
 *** FUNCTION    : LiteralList                                     ***
 *********************************************************************
 *** DESCRIPTION : Constructor                                     ***
 *** INPUT ARGS  : NONE                                            ***
 *** OUTPUT ARGS : NONE                                            ***
 *** RETURN      : NONE                                            ***
 *********************************************************************/
 public LinkedList()
 {
     head = null;
 }