Script Debuger
#8
Эм... Можно багрепорты постить сюда? Smile

Короче вот что мне наобум пришло в голову:


Код:
//Превед!
GlobalVars
(
 Preved : object
)

DeclareScript Walker()

Script Walker
//Hello moto!
(
 if
 (
   IsEqual(HelloMoto,1)
 )
 then
 (
   ConsoleString("HelloMoto!")
   KillScript()
 )
)

WorldScript
(
 KillScript()
)

Что я ожидал увидеть:

Код:
Строка 7: Неправильное название скрипта. Имя скрипта типа "Стандартная функция"+"Некий текст" запрещено.
Строка 14: Необъявленная переменая типа float "HelloMoto"
Строка 18: КиллСкрипт может быть только на 1й строчке
Строка 25: КиллСкрипт не допустим в ворлдскрипте.
Предупреждение: Скрипт "Walker" объявлен, но не вызван ни разу.
Предупреждение: Скрипт "Walker" не содержит переменных, а это не всегда работает

Что я увидел:

Код:
Строки 2-14: "Вместо GlobalVars найдено %s".
Исключение на строке 02: Вместо GlobalVars ( найдено GlobalVars.

Строка 14: ожидалось выражение типа float
Строки 15-26: см. строки 2-14

То есть небольшая доработка всё-же нужна, не так ли? Smile

Edit: Поменял первые 2 строчки на одну "GlobalVars (". Ошибок осталось всего две:
Строка 14: ожидалось выражение типа float
Строка 14: непонятное выражение "HeloMoto"

Edit 2: После удаления нафиг всех переменных и условия скрипта, я удалил из ворлдскрипта киллскрипт, и сделал вызов Walker(1) (тогда как в декларации переменных не было). Программа вылетела с Run Time Error 9: subscript out of range. На этом пока прекращаю тестирование...

Edit 3: Да, и ещё. Первая версия валидатора работала по такому же принципу: шла по тексту, шота искала... Короче она была менее, конечно, завершена, чем этот Debugger - но тем не менее. Меня Сагрер вовремя предупредил, что нужно работать по другому принципу - считывание по символам и отслеживание своей позиции в коде... Ну не знаю, я сейчас вижу, что он прав...
Ответ


Сообщения в этой теме
Script Debuger - от KnightL - 06.08.2007, 15:58
Script Debuger - от KnightL - 08.08.2007, 15:59
Script Debuger - от KnightL - 08.08.2007, 17:15
Script Debuger - от Serж - 08.08.2007, 17:17
Script Debuger - от KnightL - 08.08.2007, 18:17
Script Debuger - от SnAIper - 10.08.2007, 14:41
Script Debuger - от SnAIper - 11.08.2007, 21:42
Script Debuger - от Sagrer - 11.08.2007, 23:56
Script Debuger - от KnightL - 12.08.2007, 00:17
Script Debuger - от Jet - 12.08.2007, 00:31
Script Debuger - от Sagrer - 12.08.2007, 13:44
Script Debuger - от KnightL - 15.08.2007, 17:33
Script Debuger - от Serж - 04.09.2007, 12:48
Script Debuger - от KnightL - 04.09.2007, 19:28
Script Debuger - от Serж - 05.09.2007, 18:27
Script Debuger - от KnightL - 05.09.2007, 22:23
Script Debuger - от KnightL - 20.09.2007, 18:19
Script Debuger - от EviL - 11.01.2008, 22:19
Script Debuger - от KnightL - 12.01.2008, 14:04
Script Debuger - от Влесам - 28.11.2010, 23:43
Script Debuger - от KnightL - 29.11.2010, 22:45
Script Debuger - от Влесам - 30.11.2010, 00:00
Script Debuger - от KnightL - 30.11.2010, 01:15
Script Debuger - от KnightL - 14.12.2010, 19:33
Script Debuger - от Влесам - 15.12.2010, 23:59
Script Debuger - от KnightL - 06.08.2007, 16:14
Script Debuger - от Sagrer - 06.08.2007, 21:40
Script Debuger - от Durane - 06.08.2007, 21:57
Script Debuger - от KnightL - 06.08.2007, 22:09
Script Debuger - от SnAIper - 06.08.2007, 23:53
Script Debuger - от KnightL - 06.08.2007, 23:59
Script Debuger - от SnAIper - 07.08.2007, 15:48
Script Debuger - от Sagrer - 07.08.2007, 22:04
Script Debuger - от SnAIper - 08.08.2007, 01:33
Script Debuger - от Sagrer - 08.08.2007, 09:52
Script Debuger - от KnightL - 08.08.2007, 13:53
Script Debuger - от Serж - 08.08.2007, 14:15
Script Debuger - от KnightL - 08.08.2007, 15:33
Script Debuger - от Sagrer - 08.08.2007, 15:56
Script Debuger - от Serж - 08.08.2007, 17:03
Script Debuger - от KnightL - 11.08.2007, 20:11

Перейти к форуму:


Пользователи, просматривающие эту тему: 13 Гость(ей)