Esempio n. 1
0
        public void SET_VARS_TYPES_TEST()
        {
            var symbolsTable = new VectorSymbolTable();

            for (int i = 0; i < 5; i++)
            {
                symbolsTable.Insert(new IdentificatorItem()
                {
                    Lexeme = "Item " + i, Type = ItemType.Boolean
                });
            }

            for (int i = 5; i < 8; i++)
            {
                symbolsTable.Insert(new IdentificatorItem()
                {
                    Lexeme = "Item " + i
                });
            }

            symbolsTable.SetTypeLastestVars(ItemType.Integer);

            for (int i = 5; i < 8; i++)
            {
                var item = symbolsTable.Search("Item " + i) as IdentificatorItem;

                Assert.IsNotNull(item);
                Assert.AreEqual(item.Type, ItemType.Integer);
            }
        }
Esempio n. 2
0
 private void AnalyzeType()
 {
     if (_token.Symbol != Symbols.SInteiro && _token.Symbol != Symbols.SBooleano)
     {
         RaiseUnexpectedTokenError("\"inteiro\" ou \"booleano\"");
     }
     else
     {
         _symbolTable.SetTypeLastestVars(_token.Symbol == Symbols.SInteiro ? ItemType.Integer : ItemType.Boolean);
         NextToken();
     }
 }