|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.09.2009, 17:30 | #71 | |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,551
|
Цитата:
E-Mail: arigato.freelance@gmail.com
|
|
09.09.2009, 17:35 | #72 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
Может сначала надо подумать, какую версию компилятора будем использовать?
Лично у меня такая мысль : Использовать стары, добрый TPX. При запуске РУСпрограммы она запускает TPX и например сворачивает его (если не прячет вообще). При нажатии на кнопку RUN в РУСпрограмме она передает текст в TPX и запускает в нем компиляцию. Если TPX нашел ошибку - покажем её на экране всего мгновение, которого хватит, что-бы РУСпрограмма успела отсканировать её, распознать текст и номер строки. После сканинга сворачиваем TPX (прячем) и тыкаем пользователя в нужную строку в редакторе РУСпрограммы.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
09.09.2009, 17:38 | #73 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,551
|
Кстати, мы рассматриваем самый простейший случай - программа типа begin end.
А если там массивы, у нас же нет скобок []? Если их заменить на \..\ ( http://programmersforum.ru/showpost....2&postcount=44 ) опять же, простая замена не катит. E-Mail: arigato.freelance@gmail.com
|
09.09.2009, 17:42 | #74 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
Вот список того, что есть на русском:
ёЁ 1! 2" 3№ 4; 5% 6: 7? 8* 9( 0) -_ =+ йЙ цЦ уУ кК еЕ нН гГ шШ oO зЗ хХ ъЪ \/ фФ ыЫ вВ аА пП рР оО лЛ дД жЖ эЭ яЯ чЧ сС мМ иИ тТ ьЬ бБ юЮ ., Выбор небольшой. ____________________ Мысля! А что если "подвесить" нужные скобки, апострофы и проч. на клавиши F1-F12? ____________________ Сообщений: 666. Мрак. о_О
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ Последний раз редактировалось Alex Cones; 09.09.2009 в 17:45. |
10.09.2009, 08:27 | #75 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Лично я делал таким образом:
1. Читал построчно (а не входящий поток символов, как это принято в трансляторах). 2. Из строки читал по словно (а не по токенам). Это немного медленней, но в разы упрощает задачу. Итак получаем строку, обрабатываем ее (ну выкидываем лишние пробелы, и наооборот вставляем где надо, приводим к нужному регистру и прочие подготовительные операции). Далее читаем первые два-три слова. Исходя из них уже ясно что перед нами - оператор, выражение, заголовок подпрограммы и пр. Далее уже переводим в соответствии с правилами. Как видите рассматриваемые Вами проблемы не возникают в принципе. Еще одна примочка, улучшающая восприятие . Можно сделать большее количество сообщений об ошибках. Чтобы к примеру на одну ошибку приходилось 5-6 разных вариантов сообщения. Например: 1. Переменная не объявлена 2. Перед использованием переменной ее необходимо объявить в секции Переменные 3. Переменная не идентифицировано 4. Имя данной переменной не зарегистрировано в секции Переменные Ну все остальное в том же духе. Это должно придать больше интеллектуальности, дать ощущение что перед тобой не просто кусочки кремния
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика Последний раз редактировалось Utkin; 10.09.2009 в 14:06. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
крестики нолики | aesoem | Общие вопросы Delphi | 11 | 12.06.2011 11:32 |
Крестики нолики на C++ | Alar | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 11 | 15.03.2010 16:09 |
крестики-нолики | {PatRioT} | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 14.05.2009 13:24 |
Крестики-нолики | mish@ | Общие вопросы Delphi | 6 | 07.05.2009 11:01 |
Крестики нолики | Gorbunov | Общие вопросы C/C++ | 5 | 22.01.2009 16:04 |