На английском, но с примерами есть тут:
http://lua-users.org/wiki/GotoStatement
>>здесь главное форма реализации,
>>Мой код умеет так же, но он намного более компактный
Можно вопрос - а зачем? Зачем тебе такой компактный код? В биосе 4к места, почему бы им не воспользоваться?
>>А вот здесь поподробней пожалуйста.
А вот тут я уже не удержался, что бы посидеть 2 часа и выжать из каждого символа максимум.
Твой код написан хорошо, и абсолютно без изменения функционала удалось сжать его всего на 4-10 символов.
С небольшими изменениями, которые не отразятся на условиях работы программы при 90% случаев, можно сжать 230 вариант примерно до 150 байтВ принципе можно остановиться на этом варианте, но я пошел дальше.
Если отказаться от входных параметров, которые не нужны, так как их можно реализовать в клиентской программе, можно сжать первый вариант до 130 байт
Если добавить еще небольших условностей, типа без проверки на сигнал модема, можно сжать код до 107 байт
Если отказаться от отсылки сообщений об ошибках обратно, которые можно и так определить первым сообщением, код получается 92 байта