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; }
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; }