Здравствуйте, гость ( Вход | Регистрация )
05 Jun 2010, 13:06
(Сообщение отредактировал tolich - 04 Jul 2020, 13:40)
Сообщение
#1
|
|
![]() 😸🧡✊✌️ Сообщений: 16 553 Спасибо сказали: 3514 раза |
Более полной документацией озабочусь позднее, пока только основные фишки:
1) Forth-подобный синтаксис. (Хотя это не совсем Forth...) 2) Компилятор на Refer, входит в поставку. 3) Только COM-файлы, никаких библиотек поддержки. Скачать 1.06 -------------------- Я слежу за тобой!
tolic.narod.ru![]() Цитата Всегда приятно осознавать, что кто-то делает что-то хуже, чем делал бы ты, если бы умел. Борис "Бонус" Репетур, "От винта!", выпуск 38. |
|
|
|
![]() |
02 Jun 2012, 09:14
Сообщение
#2
|
|
![]() 😸🧡✊✌️ Сообщений: 16 553 Спасибо сказали: 3514 раза |
Итак, прошло почти джва года... ну и Лентяй же ты, tolich...
Принцип работы парсера Перед тем, как продолжить. Немного о процедуре компиляции исходного текста. Интерперетатор прост, как грабли: пока не закончится исходный текст, он циклично делает следующее: 1) Прочитать строку из входного файла. 2) Обработать строку. Обработка строки тоже циклична: пока строка не закончилась: 1) Выделить из строки слово (последовательность символов, отличных от пробела, ограниченная пробелом или концом строки), при этом пробел-ограничитель также пропускается. 2) Поискать в контекстном словаре это слово. Если оно найдено, выполнить соответствующее ему действие (в словаре указано, какое именно) и перейти к 7. 3) Проверить, а не является ли слово записью числа (поддерживаются десятичные числа вида 125 и -125 и шестнадцатеричные вроде $7D и -$7D). Если является, положить его значение на стек, и перейти к 5. 4) Вызвать слово badword. Оно отображает информацию об неизвестном слове и прерывает работу программы. При этом на экране отображается строка исходного файла с указанием положения этого слова. 5) Поискать в контекстном словаре слово literal. Если оно найдено, выполнить соответствующее ему действие (в словаре указано, какое именно) и перейти к 7. 6) Вызвать слово badword. Оно отображает информацию об неизвестном слове literal и прерывает работу программы. При этом на экране отображается строка исходного файла с указанием положения числа. 7) С этим словом всё, плавно переходим к следующему. Замечание: прежде чем использовать числа в режиме компиляции, необходимо определить макрос literal, который будет их обрабатывать. В режиме интерпретации это слово определено, оно ничего не делает. Поэтому числа использовать можно. -------------------- Я слежу за тобой!
tolic.narod.ru![]() Цитата Всегда приятно осознавать, что кто-то делает что-то хуже, чем делал бы ты, если бы умел. Борис "Бонус" Репетур, "От винта!", выпуск 38. |
|
|
|
tolich Refer 05 Jun 2010, 13:06
Nariel какие особенности у Refer? 05 Jun 2010, 18:40
gamecreator нич-чего не понимаю! (с) 05 Jun 2010, 18:54
etoprostoya Присоединяюсь. 05 Jun 2010, 19:33
Flashback Одобряю эту тему 05 Jun 2010, 19:52
tolich Для тех, кто не понял, поясню:
refer.com - компиля... 05 Jun 2010, 20:11
Chrono Syndrome Хм, уже третий Forth-образный язык в разделе - зан... 05 Jun 2010, 20:34
gamecreator краткое описание команд не повредит. вообще язык п... 05 Jun 2010, 20:38
tolich Вступление
В далеком 1994 году я разрабатывал соб... 25 Dec 2010, 12:32
tolich Примечание: в дальнейшем если я буду писать ... 02 Jun 2012, 10:53
tolich Прямой шитый код и типы слов
В реализации применё... 02 Jun 2012, 12:40
tolich Цитата(tolich @ 02 Jun 2012, 12:40) Слово... 10 May 2020, 13:43
tolich Случайно заметил, что в мета-ассемблере есть ошибк... 29 Mar 2020, 18:16
hippocamus А вообще возможно под 10-й запустить com-файл? Без... 29 Mar 2020, 18:49
tolich Без досбокса или другой VM, насколько я знаю, нет.... 30 Mar 2020, 00:21
tolich Добавил распознавание слов вида 'X', где X... 10 Apr 2020, 13:58
tolich Оказывается, моё расширение 'X' для чисел ... 06 May 2020, 20:28
tolich Теперь в макросах допустимы комментарии (они больш... 13 May 2020, 13:36
tolich Новая версия. Изменения настолько глобальные, что ... 02 Jun 2020, 21:28
tolich Обновление.
1. Добавлен контроль управляющих струк... 15 Jun 2020, 12:02
tolich Обновление. Кроме упомянутого исправленного if-tru... 18 Jun 2020, 21:37
tolich Новая версия, 1.06.
1) Изменена командная строка.
... 04 Jul 2020, 13:39![]() ![]() |
| Текстовая версия | Сейчас: 9 February 2026 - 09:15 |
|
Copyright by Алексей Крючков
Programming by Degtyarev Dmitry |
|