Forth
http://fforum.winglion.ru/

Forth for pda 4.0
http://fforum.winglion.ru/viewtopic.php?f=38&t=248
Страница 2 из 3

Автор:  LV [ Пт окт 06, 2006 14:38 ]
Заголовок сообщения: 

kufal писал(а):
Сложилось такое впечатление - что у всех только одно желание - это посмотреть исходный текст си реализации форта, и ничего другое не интересует. Мой же изначальный интерес был - это узнать мнение о том какой Forth я сделал - что бы вы хотели увидеть в этой реализации, что нужно добавить что изменить


Мне очень нравится идея языка Forth, как он просто и элегантно реализован. В свое время с удовольствием его изучил и так-же с удовольствием написал свою версию. Сейчас я бы не с меньшим удовольствием сделал бы тоже самое, т.е. например написал версию для КПК. И как мне кажеться большинство программистов, заинтересовавшихся Фортом, привлекает именно простота его реализации. Вот 'все' и делают свою версию. А что касается использования (написания программ на Форте) ... Вот до этого мне кажется мало кто доходит серьезно. Я сам реально так и не использовал Форт для написания серьезных программ. Конечно несколько небольших, пробных программок я сделал, но это не считается. Это было типа проверки работоспособности или типа теста. Хотя достаточно часто мысли возвращаются к идее как-то задействовать Форт в реальной работе. Возможно это связано с немного другим мышлением при написании программ на Форте по сравнению с обычными языками. Возможны еще какие-то причины. Тут долго можно дискутировать, а я это особо не люблю. Если коротко, то моя мысль сводится к тому, что среди программистов знающих Форт (а и таких не особо много), реально пишут на нем очень маленький процент (Но это мое субьективное мнение, возможно я и ошибаюсь). Поэтому, для использования, Форт не сильно востребован. А что касается КПК, то на нем писать программы, не важно на каком языке, само по себе не удобно. Т.к. достаточно проблемматично вводить много текста. Поэтому на КПК реально Форт тем более не будет востребован. Даже если я напишу свою версию Форта на КПК и получу удовольствие от этого процесса, то я уверен что реально пользоваться этим не буду. Поэтому и нет особых откликов и мнений о твоей реализации Форта на КПК. А если ты все-таки хочешь услышать от людей советы, то наверное нужно сначала определиться, для чего он там будет использоваться? Прямо на КПК вряд-ли будут программировать. Разве что иметь возможность писать программы на обычном компьютере и чтобы они потом могли запускаться в виде исходных текстов на КПК? Но как-то это тоже не очень. Скорее уж делать кросс-версию, чтобы на десктопе разрабатывать/отлаживать программу и результат генерировать в виде exe-шника для КПК. Или я не прав и можно как-то использовать Forth именно на КПК? И если писать программы на Форте для КПК, то какие? Игры? Каки-то утилиты? Если понять это, тогда уже будет и понятнее что не хватает в версии для КПК. Например для игр нужна хорошая работа с графикой. А может программы будут с базами данных связаны - чтобы вести какие-то расходы, контакты, что-то еще такое. Все таки КПК это типа записной книжки, основное назначение которой хранить информацию. В этом случае нужна удобная работа с базами данных. Ну и т.д. Но опять же - не проще ли на десктопе готовит ехе-шник, чем закачивать тексты на КПК и там их загружать? А если делать просто из интереса, чтобы просто была версия Форта и для КПК, а будут ли ее использовать или нет и как - дело десятое, то тогда и не особо важно что в ней будет и чего нет. Тогда и советовать особо нечего, что там должно быть.
Да-а. Вот такие вот достаточно грустные мысли я изложил, хотя и сам не рад этому. :)

PS. Кстати, ничего что я Forth пишу то по английски, то по русски. А то как-то сам не могу определится как лучше. По русски вроде удобнее.

Автор:  Mihail [ Пт окт 06, 2006 14:52 ]
Заголовок сообщения: 

Hi kufal,

kufal писал(а):
И мне кажется , я даже уверен - если человек хоть раз реализовывал Forth сам на каком-либо языке программирование - желание увидеть исходный код не появиться, за исключением некоторый моментов реализации


Желание увидеть исходный код чего? На любой исходный код пропало желание смотреть?
Я всегда просматриваю попавшиеся мне реализации форт-систем, чтобы понравившееся
перенести в СПФ.
Что касается http://kufal.narod.ru/f.rar
Написал-бы назначение основных файлов. Еще тестовый пример следует предоставить.
Сам-то ты как-то проверял?
Во первых создается впечатление, что ты незнаком ни с одной реализацией форт-системы.
Все как-то по своему. Тормоза дикие, преимущества я пока оценить не в состоянии.
Я подозреваю, что Push_AS и Pop_AS это дизассемблированные паскалевские программы.
На таком низком уровне проверять переполнение/исчерапние очень расточительно.
А если проверяешь, то вызывай аварийное завершение при нарушении заданных пределов.

В паскале как и форте принято использовать строку со счетчиком.
Почему ты используешь '0' завершитель строки?

Автор:  WingLion [ Пт окт 06, 2006 18:12 ]
Заголовок сообщения: 

LV писал(а):
Т.к. достаточно проблемматично вводить много текста. Поэтому на КПК реально Форт тем более не будет востребован.


Скорее наоборот :)
На Форте писать - короче получается - меньше текста вводить.

Автор:  LV [ Пт окт 06, 2006 18:32 ]
Заголовок сообщения: 

WingLion писал(а):
На Форте писать - короче получается - меньше текста вводить.


Не спорю :) . По сравнению с другими - короче. Но тем не менее для написания более менее 'программы', нужно ввести достаточно много буковок :)

Автор:  WingLion [ Пт окт 06, 2006 21:16 ]
Заголовок сообщения: 

ПРОГРАММА - 9 буковок :))
Можно сократить до ПРОГА :)
Я вот, думаю взять какой-нибудь КПК именно, чтобы тексты вводить, когда к компу доступа нету...
И пофиг, что неудобно, Давно надо научить компы голос воспринимать :)

Автор:  Hishnik [ Пт окт 06, 2006 21:22 ]
Заголовок сообщения: 

Mihail писал(а):
В паскале как и форте принято использовать строку со счетчиком.
Почему ты используешь '0' завершитель строки?


Это нормальное современное решение. Преобразовать ASCIIZ в c-addr size можно элементарно. Но ограничения на 255 символов, как в паскалевских строках, нет.

Автор:  mOleg [ Пт окт 06, 2006 22:05 ]
Заголовок сообщения: 

Хищник писал(а):
Это нормальное современное решение. Преобразовать ASCIIZ в c-addr size можно элементарно. Но ограничения на 255 символов, как в паскалевских строках, нет.


И ужасно тормозное 8(
лучше длинну счетчика увеличить в два раза 8)
всеравно на выравнивание больше места расходуется.
А еще лучше счетчик + Z в конце, так сейчас почти все форт-системы современные делают

Автор:  Hishnik [ Пт окт 06, 2006 22:19 ]
Заголовок сообщения: 

Я сейчас использую 4-байтный счетчик и 0 в конце. И строки передаются в основном по адресу первого символа (со смещением -4 байта находится счетчик). Но в любом случае, многие системные вызовы предпочитают ASCIIZ.

Автор:  mOleg [ Пт окт 06, 2006 22:40 ]
Заголовок сообщения: 

Хищник писал(а):
Я сейчас использую 4-байтный счетчик и 0 в конце. И строки передаются в основном по адресу первого символа (со смещением -4 байта находится счетчик). Но в любом случае, многие системные вызовы предпочитают ASCIIZ.

Кстати такой подход по-моему самый правильный.
Можно не только со строками так работать, но и с более-другими 8) данными

Автор:  in4 [ Пн окт 09, 2006 09:40 ]
Заголовок сообщения: 

Проблемы ввода для мобильных устройств
WingLion писал(а):
И пофиг, что неудобно, Давно надо научить компы голос воспринимать

Я пробовал проги распознавания речи Dragon Dictate, которые хвалили в начале 2000хх.
То ли микрофон у меня никакой, то ли еще что, но только несколько слов удалось распознать готовой(уже сделанной и продаваемой) обученной распознавалкой. При этом ее еще учить и учить... :(
Хороших(и бесплатных!) говорилок на РС тоже не встретил - все говорят настолько коряво... И старое spp.exe имхо читает примерно также, если не лучше, занимая всего 30322 байт на диске! Жаль только, что там не все нужные режимы есть... :(. Помнится мне, это кусок из какого-то речевого пакета... Если у кого-то есть полный пакет - меня ооочень интересует. Особенно вариант встраивания в телефонную J2ME! ;)
Про рукописный ввод могу сказать то же самое. То, что я пробовал - с детским дижитайзером - по распознаванию тоже никакая.
Граффити, правда, работает, ее на КПК пробовал последний раз позавчера. И на качество распознавания пожаловаться нельзя... :)
Как приспособить Dasher(http://www.inference.phy.cam.ac.uk/dasher/russian/) для ввода текстов в телефон, еще не придумал. :( - слишком много кнопок нажимать... :(
Единственное, что могу предложить - программы должны не писаться, а собираться, как например, в HiAsm(http://hiasm.hexshock.com/index.php). Тогда нажатий (если предлагать выбрать из сортированных по вероятности связей) будет меньше!!

Варианты свой клавой, как в colorForth тоже возможны, но прийдется вырабатывать стандарт и долго учится... :(
Свой язык (искусственный язык для общения с компом) решил бы проблему количества нажатий, ведь надо всего ~2000-3000 понятий, но это дело будущего, я пока только прикидываю, как это можно сделать. Доступных подробных работ по лингвистике в электронном виде мне не попадалось... :(

Автор:  Гость [ Пн окт 09, 2006 10:14 ]
Заголовок сообщения: 

Вот Форт к PDA.
http://www.tarunz.org/~vassilii/pub/

Автор:  mrack [ Пн окт 09, 2006 12:11 ]
Заголовок сообщения: 

нифига не пашла версия fort_kufal на mitac mio a700,
просто в дикие тормаза все падает
лечитса перезагрзкой

Автор:  WingLion [ Пн окт 09, 2006 12:23 ]
Заголовок сообщения: 

in4 писал(а):
Хороших(и бесплатных!) говорилок на РС тоже не встретил - все говорят настолько коряво...


Вот, на счет говорилок, имхо, лучшая (и бесплатная!) "Говорилка": http://www.vector-ski.ru/vecs/govorilka/
Даже со всеми имеющимися недостатками, она все равно, отличная говорилка!
Я с ее помощью уже несколько лет тексты читаю... лежа...
И свои правлю с ее помощью, читает-читает - бац,
на слух пролетает ляп, останавливаю и правлю текст...

Автор:  Mihail [ Пт ноя 10, 2006 15:20 ]
Заголовок сообщения: 

kufal писал(а):
http://kufal.narod.ru/forth.htm - новая версия, в основном новое для Windows, исходники есть для Linux.


Во первых восприятие входного потока происходит на уровне Си.
Это приводит к тому, что невозможно обработать исключительную ситуацию
на уровне Форта, изменить синтаксис. Непонятно, чем обусловлен уход от стандарта?
Я не вижу какого-нибудь преимущества над http://devbiol.zoo.uwo.ca/~kvt/relf01.zip

Цитата:
Хочу прочитать ваши предложения по улучшению - не ваше отношение ко всему этому, а конкретные преложения


Прежде чем улучшать нужно разобраться с тем что сделано.

Автор:  profiT [ Пн мар 19, 2007 18:15 ]
Заголовок сообщения: 

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

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

Поэтому для реализации форт-систем вумные и очкастые слова из учебников навроде "лексер, парсер, грам. анализ, синтаксический анализ, исходящие и восходящий алгоритмы построения грам. дерева" надо выкидывать из мозга по возможности придав им наибольшее ускорение выхода. Перефразируя классика: "всех этих слов на Форте -- нет!" (с)

-- И слава Будде!.. - восклицаем дальше мы.

И я уже не говорю о том что набор слов (про словари вообще грустно помолчим) впечатаны в программу.

Андрей Черезов на мой взгляд в своём "Слове о Форте" довольно ощутимо "коснулся" того как нужно писать интерпретаторы Форта (если хотите это можно назвать "лексическим анализатором").

(не сочтите за высоколобое поучение, в принципе туда-сюда: сам вспоминаю как я за часа за три на Borland Pascal в классе написал что-то подобное, хотя и тоже из книжек натырил, в моём случае это был: Боон, "Паскаль -- это просто")

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