예제 #1
0
        public Node ExpSimple()
        {
            Node nodo = null;

            switch (CurrentToken)
            {
            case TokenCategory.FLOTANTE:
                nodo = new Flotante()
                {
                    GetToken = Expect(TokenCategory.FLOTANTE)
                };
                break;

            case TokenCategory.DUP:
                nodo = new Dup()
                {
                    GetToken = Expect(TokenCategory.DUP)
                };
                nodo.Add(ExpSimple());
                break;

            case TokenCategory.BRACKET_OPEN:
                nodo = ExpSum();
                break;

            default:
                Console.WriteLine("Switch");
                throw new SyntaxError();
            }
            return(nodo);
        }
예제 #2
0
 public string Visit(Flotante node)
 {
     return(String.Format("\t\tldc.r8 {0}\n", node.GetToken.Value));
 }