Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.09.2009, 06:43   #51
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Сообщение от pu4koff Посмотреть сообщение
Код:
процедура НачалоМычало;
переменные
  начало_целое: целое;
начало
  ...
конец;
заменяем и получаем:
Код:
procedure beginМычало;
var
  begin_целое: integer;
begin
  ...
end;
Так что лексический анализатор по любому прикручивать придется.
Это потому что Вы не внимательны и не подумали. Заменять нужно не 'Начало', а ' Начало ' на ' begin '. И второй случай, если начало начинается с начала строки : 'Начало ' на 'begin '. Да анализатор будет нужен, но лишь в зачаточном состоянии. Для начала , можно попробовать все это дело в Memo. На самом деле проблему составляют собственные имена - переменных, массивов, функций и пр. Можно конечно как в старых сотовых телефонах , но есть вероятность попадания на какую-нибудь настоящую переменную или константу. Можно предварительно ставить какой-нибудь знак, ну типа подчеркивания или что-то в этом роде, но точно не тильду .
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 09.09.2009 в 06:51.
Utkin вне форума Ответить с цитированием
Старый 09.09.2009, 09:05   #52
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Нет, ну зачем так сразу? Просто весь русский шрифт, кроме тех переменных, которые уже заменили заменяется на транслит.
Код:
Переменные
 Строки : Массив\0..10\ типа Байт
Код:
Var
 Строки : Array[0..10] of Byte
Код:
Var
 Stroki : Array[0..10] of Byte
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 09.09.2009, 09:31   #53
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Ну-ну.
Цитата:
Переменные
Стринг: Массив\0..10\ типа Байт
Сами переведете?
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 09.09.2009, 09:32   #54
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

А что по русски означает Стринг??? Зачем пользователю создавать такие имена???
Мы же не создаем переменные с именами in, Mod, Dev!
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 09.09.2009, 09:37   #55
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Модель самолета пойдет? Запомните пользователь всегда тупое абсолютно глупое животное, навроде коровы (такая мегаблондинка), и если будет большая красная кнопка с надписью "Не нажимать", первым делом он на нее нажмет. Поэтому нужно учитывать все варианты, дабы не слышать о себе много нового, как Билл Гейтс, например .

И второй вопрос: не всегда удасться использовать только русский имена. Как быть? Запретить английские? Ну это вряд ли, получится узко националистический язык, тогда число пользователей упадет до числа его создателей. А если разрешить английские тоже, тогда вероятность совпадения при переводе русских в английский возрастет в разы.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 09.09.2009 в 10:04.
Utkin вне форума Ответить с цитированием
Старый 09.09.2009, 10:25   #56
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,902
По умолчанию

Цитата:
Сообщение от Utkin
Заменять нужно не 'Начало', а ' Начало ' на ' begin '. И второй случай, если начало начинается с начала строки : 'Начало ' на 'begin '. Да анализатор будет нужен, но лишь в зачаточном состоянии.
Не походит. А если у нас такое:
Код:
Если а Больше 5 тогда {типа коммент}начало
//...
конец
Т.е. нужно делать анализ. Ещё нужно учитывать, что есть строки.
Кстати, как комменты записывать?
Код:
// однострочный
(* многострочный *)
Придется только так.

Цитата:
Сообщение от Utkin
Можно конечно как в старых сотовых телефонах , но есть вероятность попадания на какую-нибудь настоящую переменную или константу. Можно предварительно ставить какой-нибудь знак, ну типа подчеркивания или что-то в этом роде, но точно не тильду
Да, префикс необходим. Переводим в транслит и добавляем что-то типа var_.
Получим из "стринг" -> "var_string".

Цитата:
Сообщение от Alex Cones
А что по русски означает Стринг??? Зачем пользователю создавать такие имена???
Ну это не правильная постановка вопроса. Не программерская, я бы даже так сказал.

Цитата:
Сообщение от Utkin
И второй вопрос: не всегда удасться использовать только русский имена. Как быть? Запретить английские? Ну это вряд ли, получится узко националистический язык, тогда число пользователей упадет до числа его создателей.
Можно, конечно, не запрещать, просто игнорировать все английские слова при анализе. Но я не думаю, что кто-то будет писать переменные на английском. Это же гемор какой каждый раз менять раскладку. На то и русский язык программирования, что бы всё по русски было.
Arigato вне форума Ответить с цитированием
Старый 09.09.2009, 10:36   #57
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Хорошо, простенький анализ слов, а не автозамена в тексте. В любом случае это возможно и не проблема. Основная задача: правильная формулировка задания, технически это не сложно.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 09.09.2009, 16:18   #58
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Цитата:
а не автозамена в тексте
Нет, ну почему же.
Заменяем следующее на Begin:
Начало[пробел]
}Начало[пробел]
[пробел]Начало[пробел]
;Начало[пробел]
+то же самое, но с маленькой буквы.
Зачем анализатор? Так вы 50-ти килограммовый текст будет 30 минут анализировать.

Цитата:
Ну это не правильная постановка вопроса. Не программерская, я бы даже так сказал.
Создайте еще более понятный интерфейс и природа создаст еще более тупого юзера.

Можно "запомнить" имена переменных после Var и всем им приписывать префикс.

Цитата:
А если разрешить английские тоже, тогда вероятность совпадения при переводе русских в английский возрастет в разы.
А если переводить не в транслит, а скажем просто от аск кода отнимать число?
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ

Последний раз редактировалось Alex Cones; 09.09.2009 в 16:23.
Alex Cones вне форума Ответить с цитированием
Старый 09.09.2009, 16:26   #59
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,902
По умолчанию

Замена не подходит, т.к. (как я уже выше писал) есть же ещё и стринги.
Arigato вне форума Ответить с цитированием
Старый 09.09.2009, 16:32   #60
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Цитата:
есть же ещё и стринги.
В смысле треугольные такие? :-)
Тогда надо придумать формулу перевода русского слова через ASC код в английский шифрованный аналог.
Тогда Стринг и String будут иметь разный перевод

Например (написано от балды):

Стринг = fdtrg
Прожект = lokty
Вар = bddcd
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
крестики нолики 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