|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
15.07.2009, 14:23 | #11 |
Заблокирован
Старожил
Регистрация: 20.07.2008
Сообщений: 4,032
|
В тему не вникал, но можно заюзать оператор GoTo.
|
15.07.2009, 14:25 | #12 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Это каким образом?
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
15.07.2009, 14:54 | #13 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Код:
I'm learning to live...
|
|
15.07.2009, 15:00 | #14 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Мой алгоритм учитывает вложения . Он не учитывает условия в ложной ветви.
Там идет обработка при встрече заголовка и конца фрагмента. Для этого используется стек имен фрагментов (ну просто числа) в виде StringList. Посмотрите внимательно при встрече заголовка фрагмента его имя помещается в стринглист, а при выходе выталкивается (условия для Id=3 и Id=4 соответственно) . Это стек F, изначально мы находимся в -1 фрагменте . Данные записываются в тот фрагмент, который находится последним в списке. В конце должен быть контроль - если список не пуст - значит указанные фрагменты не были завершены (просто в тексте нет нижней границы фрагмента). Я приводил тест работы данной подпрограммы - там цикл находится в фрагменте - там все видно.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика Последний раз редактировалось Utkin; 15.07.2009 в 15:06. |
15.07.2009, 15:18 | #15 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
15.07.2009, 15:21 | #16 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Ну в принципе ответ - использовать стек .
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
15.07.2009, 15:38 | #17 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
15.07.2009, 15:46 | #18 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Собственно так и есть . Имеется программный интерфейс - набор процедур и функций для работы с концепциями языка (все есть строка) и есть программный интерфейс для поддержки внутренних структур языка (те самые фрагменты, циклы и еще очень много всего). Имеется аналог встроенного лексического анализатора типа яка или бизона (только проще и заточенного под себя), я могу автоматически формировать форму БНФ для введеных команд (теоретически, просто нет времени этим заниматься). Он позволяет загружать команды (хотите русские, хотите английские), менять параметры и порядок их следования, автоматически переводить с одного языка на другой (в смысле русский-украинский или белорусский или допустим реализовать свой Бейсик) и много еще всяких приколюшек в проекте. Смесь Паскаля и Лиспа и соответствующих стилей программирования. Посматриваю на включение ООП возможностей. Но это все в будущем , пока основное - это разбить программу на логические блоки. Я пробовал в два-три прохода. Интересно, просто и медленно. А мне надо все и сразу . Да, только это не компилятор, а интерпретатор, но общая структура в принципе у всех одинакова. Сам интерпретатор будет представлять собой один класс - то есть можно будет встраивать его по аналогии Лиспа и Lua.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика Последний раз редактировалось Utkin; 15.07.2009 в 15:56. |
15.07.2009, 16:12 | #19 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Оффтоп:
Цитата:
I'm learning to live...
|
|
15.07.2009, 16:14 | #20 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Ну то есть это возможно (в смысле разложить прогу в один проход), но я запутался и поэтому попросил сторонних мнений по этому поводу .
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Разбор кода программы на Bison+Flex | Corol | Помощь студентам | 2 | 03.07.2009 09:57 |
Разбиение текста на блоки. | gosu | Общие вопросы C/C++ | 11 | 04.06.2009 19:12 |
Как имея один exe файл получить исходник программы? | Skoroxod | Общие вопросы Delphi | 4 | 20.02.2009 10:41 |
один файл, две программы... | Deathwatcher | Общие вопросы Delphi | 0 | 18.11.2008 12:39 |
Сортирование масивов за один проход | NightWishMaster | Паскаль, Turbo Pascal, PascalABC.NET | 10 | 18.10.2007 08:05 |