Пример #1
0
        public override int Compile(FunctionContext context)
        {
            context.Line(FileName, Line);

            var target = context.BreakLabel();
            if (target == null)
                throw new MondCompilerException(FileName, Line, "Unresolved jump");

            context.Jump(target);
            return 0;
        }
Пример #2
0
        public override int Compile(FunctionContext context)
        {
            context.Position(Token);

            var target = context.BreakLabel();

            if (target == null)
            {
                throw new MondCompilerException(this, CompilerError.UnresolvedJump);
            }

            return(context.Jump(target));
        }
Пример #3
0
        public override int Compile(FunctionContext context)
        {
            context.Line(FileName, Line);

            var target = context.BreakLabel();

            if (target == null)
            {
                throw new MondCompilerException(FileName, Line, CompilerError.UnresolvedJump);
            }

            return(context.Jump(target));
        }
Пример #4
0
 public override LabelOperand BreakLabel()
 {
     return(_parent.BreakLabel());
 }