Пример #1
0
        public Node lit_list()
        {
            //Console.WriteLine("lit_list");
            //Node lit_list = new Lit_list_();
            Node lit = new Lit_list_();

            if (CurrentToken == TokenCategory.FALSE)
            {
                lit = new False_();
                var r = Expect(TokenCategory.FALSE);
                lit.AnchorToken = r;
            }
            else if (CurrentToken == TokenCategory.TRUE)
            {
                lit = new True_();
                var r = Expect(TokenCategory.TRUE);
                lit.AnchorToken = r;
            }
            else if (CurrentToken == TokenCategory.CHARACTER)   //y si le ponemos que espera un valor
            {
                lit = new Character_();
                var r = Expect(TokenCategory.CHARACTER);
                lit.AnchorToken = r;
            }
            else if (CurrentToken == TokenCategory.INTEGER)
            {
                lit = new Integer_();
                var r = Expect(TokenCategory.INTEGER);
                lit.AnchorToken = r;
            }
            else if (CurrentToken == TokenCategory.BINARYINT)
            {
                lit = new Integer_();
                var r = Expect(TokenCategory.BINARYINT);
                lit.AnchorToken = r;
            }
            else if (CurrentToken == TokenCategory.OCTALINT)
            {
                lit = new Integer_();
                var r = Expect(TokenCategory.OCTALINT);
                lit.AnchorToken = r;
            }
            else if (CurrentToken == TokenCategory.HEXAINT)
            {
                lit = new Integer_();
                var r = Expect(TokenCategory.HEXAINT);
                lit.AnchorToken = r;
            }
            else
            {
                throw new SyntaxError(firstOfSimpleExpression, tokenStream.Current);//hay que arreglar estos diccionarios al final
            }
            //lit_list.Add(lit);
            while (CurrentToken == TokenCategory.COMA)
            {
                Expect(TokenCategory.COMA);
                lit.Add(lit_list());
            }
            return(lit);
        }
Пример #2
0
 public void Visit(Lit_list_ node, int modo)
 {
     VisitChildren(node, modo);
 }