Ejemplo n.º 1
0
        public void Handler(TmCodeGenerator generator)
        {
            generator.RemoveParentheses <OpenParenthesesToken>();
            generator.Instructions.Add(InstructionFactory.Read(generator.InstructionLine, generator.VarDictionary[generator.Token]));
            generator.RemoveParentheses <CloseParenthesesToken>();

            generator.GeneratorState = TinyCodeGeneratorState.Initial;
        }
Ejemplo n.º 2
0
        public void Handler(TmCodeGenerator generator)
        {
            generator.Stack.Push(generator.Token);

            generator.RemoveParentheses <OpenParenthesesToken>();
            var reg  = generator.VarDictionary[generator.Token];
            var line = generator.InstructionLine;

            generator.MoveNextToken();
            switch (generator.Token)
            {
            case GreatToken token:
                var item = InstructionFactory.JLT(line, reg);
                generator.Instructions.Add(item);
                generator.IfBackpack.Push(new IfBackpackItem(line, item));
                break;

            case GreatOrEqualToken token:
                break;

            case LessToken token:
                break;

            case LessOrEqualToken token:
                break;

            case EqualToken token:
                break;

            case NotEqualToken token:
                break;
            }



            generator.RemoveParentheses <CloseParenthesesToken>();

            generator.GeneratorState = TinyCodeGeneratorState.Initial;
        }