Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Вт апр 07, 2020 15:05

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Ответить
Имя пользователя:
Заголовок:
Текст сообщения:
Введите текст вашего сообщения. Длина сообщения в символах не более: 60000

Размер шрифта:
Цвет шрифта
Настройки:
BBCode ВКЛЮЧЕН
[img] ВЫКЛЮЧЕН
[flash] ВЫКЛЮЧЕН
[url] ВКЛЮЧЕН
Смайлики ВЫКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Не преобразовывать адреса URL в ссылки
Вопрос
Теперь гостю придется вводить здесь пароль. Не от своей учетной записи, а ПАРОЛЬ ДЛЯ ГОСТЯ, получить который можно после регистрации на форуме через ЛС.:
Этот вопрос предназначен для выявления и предотвращения автоматических регистраций.
   

Обзор темы - Идеальный язык программирования.
Автор Сообщение
  Заголовок сообщения:  Re: Идеальный язык программирования.  Ответить с цитатой
В поисках идеального языка программирования
RSBLang
http://rsblang.110mb.com/
Код:
...
ЭТОТ ДОКУМЕНТ:
  Это очень-очень черновая версия стандарта RS/Bv0.3, то есть этот документ содержит скорей "то что хотелось бы" и а не то что будет,
хотя я думаю, процентов восемьдесят будет реализована.
  Во время работы над архитектурой программы и компилятора этот документ будет ещё не раз изменён и дополнен.

INTRO:
  Я старался разработать инструмент, заточенный под себя, под мой образ мышления, потому в первую очередь
опирался на свой жизненный опыт(не знаю насколько этот подход верный, поживём, увидим), также многие вещи позаимствованы из других ЯП.
Но думаю и вам он может быть полезен, хотя бы для общего развития, и возможно вы найдёте некоторые, интересные и полезные для себя, идеи и решения.   
PS. Из меня плохой писатель, я не умею доходчиво доносить мысль, так что если вам не понятно что либо, спрашивайте.
...
Сообщение Добавлено: Сб дек 17, 2011 11:19
  Заголовок сообщения:   Ответить с цитатой
VoidVolker писал(а):
Pretorian, и если не ошибаюсь, он интегрировал форт в 1С

надо будет поинтересоваться.

в целом разработка интерпретатора идет очень легко (на дельфях), ядро уже продумал, и почти дописал. Не более 5 страниц кода на все механизмы получилось). Уперся в СИНТАКСИС определения/переопределения объектов, кажется слишком ограниченный получается.
Код:
// конструктор, он же объявление нового типа
Конструктор Справочник АбстрактнаяТаблица
КонецКонструктора

МетодОбъекта Справочник НайтиЗначение     
КонецМетода

Может кто нибудь что либо сказать на этот счет?
Сообщение Добавлено: Чт авг 07, 2008 17:14
  Заголовок сообщения:   Ответить с цитатой
Kopa писал(а):
Для 1С spf4 точно кто-то уже использовал из присутствующих на данном форуме.

Pretorian, и если не ошибаюсь, он интегрировал форт в 1С.
Сообщение Добавлено: Чт авг 07, 2008 09:11
  Заголовок сообщения:   Ответить с цитатой
victor79 писал(а):
в форте нехватает встроенной поддержки списков, и это решило бы многие проблемы. Конечно можно сказать, а кто мешает его так расширить?


Примеров использования списков в Форте много, может быть, только не отделённых
от программного кода в силу своей специфики.
Есть и отдельные либы ( например одна из них ~ygrek\lib\list.f для spf4 )

P.S. Что следующим Вашим утверждением не будет хватать в Форте :?
Для 1С spf4 точно кто-то уже использовал из присутствующих на данном форуме.
Сообщение Добавлено: Чт авг 07, 2008 07:58
  Заголовок сообщения:   Ответить с цитатой
а форт с таблицами?)
(у меня список - частность таблицы, а не таблица - расширение списка)
Сообщение Добавлено: Ср авг 06, 2008 21:43
  Заголовок сообщения:   Ответить с цитатой
victor79 писал(а):
в форте нехватает встроенной поддержки списков,

не совсем верное утверждение.

victor79 писал(а):
Единственно это уже получиться не совсем тот форт, к которому привыкли знающие этот язык.

форт со списками = Постскрипт ;))
Сообщение Добавлено: Ср авг 06, 2008 21:02
  Заголовок сообщения:   Ответить с цитатой
в форте нехватает встроенной поддержки списков, и это решило бы многие проблемы. Конечно можно сказать, а кто мешает его так расширить? Но если эти списки были бы заложены заранее, представим такую весчь, что словарь - это список. Список списов словарей - все множество имен. Это лишь один пример. Единственно это уже получиться не совсем тот форт, к которому привыкли знающие этот язык. Можно сказать, что я придумал свой какой-то язык, наследующий идеалогию форта и 1С (и кучку прочего опыта), и этот язык будет эффективен для задач скажем написания баз данных. В моем представлении, кстати, я пока не вижу необходимости прямого доступа к памяти. Список это таблица с одной колонкой. Доступ к диску производится через таблицу, типа у нее колонки
НазвФайла,Путь,ПолныйПуть,Содержимое. Выражение (0 "Путь" "c:\windows" тФайлы ВыбратьПоЗначению) получает табличку со всеми файлами указанной директории, а выражение (0 ПолныйПуть "c:\autoexec.bat" ПолучитьПоЗначению) получает в виде списка содержимое файла. Причем все эти данные не хранятся в памяти, а просто методы таблицы можно будет переопределять, и соответствующее обращение будет производить выборку или чтение файла. Таким же образом доступ к базе. И это получается чисто интерпретатор.
Сообщение Добавлено: Ср авг 06, 2008 20:58
  Заголовок сообщения:   Ответить с цитатой
victor79 писал(а):
я тут думаю, а не проще ли и не лучше ли это написать не по принципу, что бы сам spf воспринимал этот код, а что бы он его преобразовывал в другой код, который уже выполняется фортом (или в ассемблер). А если так, то не проще ли мне написать это на более родном для меня языке типа дельфи?

нет, не проще. Надо выбирать наиболее простые решения. Создание сложного транслятора (интерпретатора), далекого от используемого фортом - это обычное усложнение проблемы.

Если вам надо решать конкретную задачу прямо сейчас, то изучение любого языка = усложнение работы.
Сообщение Добавлено: Ср авг 06, 2008 20:21
  Заголовок сообщения:   Ответить с цитатой
victor79 писал(а):
может ли мне кто помочь в реализации интерпретатора, для кода указанного мной выше?

задавайте конкретные вопросы. (решать вашу задачу за вас вряд ли кто-то возьмется, но помочь можно!)

victor79 писал(а):
1. Как определять переменные типа VALUE но в вызове процедуры

процедур у форта нет. У форта только слова. Слова обычно создаются статические, то есть один раз, и удалить их нельзя, НО
у СПФ есть возможность создавать словари в динамической памяти (в Хипе), такие словари можно удалять, правда есть серьезная проблема с отслеживанием использования удаленного кода.

victor79 писал(а):
и это имя должно действовать тока в пределах этого вызова.

для этого лучше использовать локальные переменные, хотя лучше без них вообще обходиться.

victor79 писал(а):
И если из этого вызова вызовется следующая процедура, то в ней эта переменная уже не должна быть доступной.

однозначно локалсы: spf.419\lib\ext\locals.f

victor79 писал(а):
2. Нужен разбор строк, так же как компилятор разбирает числа, тока я никак не найду, где и как это сделать.

какимо образом вы хотите разбирать строки?
Выражение: "так же как компилятор разбирает числа" не понятно совсем.

victor79 писал(а):
и прочие советы будут не бесполезны

совет почитать Лео Броуди "Thinking Forth".
Сообщение Добавлено: Ср авг 06, 2008 20:18
  Заголовок сообщения:   Ответить с цитатой
victor79 писал(а):
и прочие советы будут не бесполезны, я с фортом пока всего неделю ковыряюсь)


Заведите тетрадку и записывайте Ваши мысли, трудности, при изучении Форта и.т.д.

Пример: http://forth-j.narod.ru/

P.S. Сначала прочитайте информацию в папке docs ( spf форт)
Сообщение Добавлено: Ср авг 06, 2008 08:32
  Заголовок сообщения:   Ответить с цитатой
victor79 писал(а):
и прочие советы будут не бесполезны, я с фортом пока всего неделю ковыряюсь)


Неделя не срок.
Может быть вероятность, что он станет Вашим интересом на более длительное время.
Сообщение Добавлено: Ср авг 06, 2008 08:15
  Заголовок сообщения:   Ответить с цитатой
victor79 писал(а):
А если так, то не проще ли мне написать это на более родном для меня языке типа дельфи?


Несколько Форт реализаций на Дельфи существуют.
Сообщение Добавлено: Ср авг 06, 2008 08:07
  Заголовок сообщения:   Ответить с цитатой
victor79 писал(а):
1. Как определять переменные типа VALUE но в вызове процедуры, и это имя должно действовать тока в пределах этого вызова. И если из этого вызова вызовется следующая процедура, то в ней эта переменная уже не должна быть доступной.
2. Нужен разбор строк, так же как компилятор разбирает числа, тока я никак не найду, где и как это сделать.
и прочие советы будут не бесполезны, я с фортом пока всего неделю ковыряюсь)


1. Одна из реализаций локальных переменных lib\ext\locals.f
2. Строка -> число для Форт ( смотри. >NUMBER )
Библиотека работы со строками
~ac\lib\str5.f ( в этом направлении и копайте и по другим библиотекам)

P.S.
Сообщение Добавлено: Ср авг 06, 2008 08:03
  Заголовок сообщения:   Ответить с цитатой
victor79 писал(а):
А если так, то не проще ли мне написать это на более родном для меня языке типа дельфи?

Интересно, а поймет ли англичанин такие слова как Ded Moroz, Baba Yaga, Zmej Gorynych и тому подобные вещи,
известные каждому русскому с детства?
Сообщение Добавлено: Ср авг 06, 2008 07:54
  Заголовок сообщения:   Ответить с цитатой
я тут думаю, а не проще ли и не лучше ли это написать не по принципу, что бы сам spf воспринимал этот код, а что бы он его преобразовывал в другой код, который уже выполняется фортом (или в ассемблер). А если так, то не проще ли мне написать это на более родном для меня языке типа дельфи?
Сообщение Добавлено: Ср авг 06, 2008 04:41

Часовой пояс: UTC + 3 часа [ Летнее время ]


cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB