Forth
http://fforum.winglion.ru/

Идеальный язык программирования.
http://fforum.winglion.ru/viewtopic.php?f=4&t=1441
Страница 3 из 3

Автор:  Гость [ Ср авг 06, 2008 08:15 ]
Заголовок сообщения: 

victor79 писал(а):
и прочие советы будут не бесполезны, я с фортом пока всего неделю ковыряюсь)


Неделя не срок.
Может быть вероятность, что он станет Вашим интересом на более длительное время.

Автор:  Kopa [ Ср авг 06, 2008 08:32 ]
Заголовок сообщения: 

victor79 писал(а):
и прочие советы будут не бесполезны, я с фортом пока всего неделю ковыряюсь)


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

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

P.S. Сначала прочитайте информацию в папке docs ( spf форт)

Автор:  mOleg [ Ср авг 06, 2008 20:18 ]
Заголовок сообщения: 

victor79 писал(а):
может ли мне кто помочь в реализации интерпретатора, для кода указанного мной выше?

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

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

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

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

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

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

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

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

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

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

совет почитать Лео Броуди "Thinking Forth".

Автор:  mOleg [ Ср авг 06, 2008 20:21 ]
Заголовок сообщения: 

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

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

Если вам надо решать конкретную задачу прямо сейчас, то изучение любого языка = усложнение работы.

Автор:  victor79 [ Ср авг 06, 2008 20:58 ]
Заголовок сообщения: 

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

Автор:  mOleg [ Ср авг 06, 2008 21:02 ]
Заголовок сообщения: 

victor79 писал(а):
в форте нехватает встроенной поддержки списков,

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

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

форт со списками = Постскрипт ;))

Автор:  victor79 [ Ср авг 06, 2008 21:43 ]
Заголовок сообщения: 

а форт с таблицами?)
(у меня список - частность таблицы, а не таблица - расширение списка)

Автор:  Kopa [ Чт авг 07, 2008 07:58 ]
Заголовок сообщения: 

victor79 писал(а):
в форте нехватает встроенной поддержки списков, и это решило бы многие проблемы. Конечно можно сказать, а кто мешает его так расширить?


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

P.S. Что следующим Вашим утверждением не будет хватать в Форте :?
Для 1С spf4 точно кто-то уже использовал из присутствующих на данном форуме.

Автор:  VoidVolker [ Чт авг 07, 2008 09:11 ]
Заголовок сообщения: 

Kopa писал(а):
Для 1С spf4 точно кто-то уже использовал из присутствующих на данном форуме.

Pretorian, и если не ошибаюсь, он интегрировал форт в 1С.

Автор:  victor79 [ Чт авг 07, 2008 17:14 ]
Заголовок сообщения: 

VoidVolker писал(а):
Pretorian, и если не ошибаюсь, он интегрировал форт в 1С

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

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

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

Может кто нибудь что либо сказать на этот счет?

Автор:  Гость [ Сб дек 17, 2011 11:19 ]
Заголовок сообщения:  Re: Идеальный язык программирования.

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

INTRO:
  Я старался разработать инструмент, заточенный под себя, под мой образ мышления, потому в первую очередь
опирался на свой жизненный опыт(не знаю насколько этот подход верный, поживём, увидим), также многие вещи позаимствованы из других ЯП.
Но думаю и вам он может быть полезен, хотя бы для общего развития, и возможно вы найдёте некоторые, интересные и полезные для себя, идеи и решения.   
PS. Из меня плохой писатель, я не умею доходчиво доносить мысль, так что если вам не понятно что либо, спрашивайте.
...

Страница 3 из 3 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/