Автор |
Сообщение |
|
|
Заголовок сообщения: |
|
|
|
а формы я делал на Python, запуская локальный http-сервер (мелкий скриптик), а весь интерфейс
рисовался htmlем+JavaScript по желанию
то же самое можно и с Фортом сделать -- нужен только доступ к сокетам, и любой браузер в системе.
супер-пупер красивости можно на яваскрипте наскрипеть, а форт-программа будет генерировать html по шаблонам и получать данные из форм
как доделаю ТЕТРИС до живого состояния, надо будет с http-GUI поковыряться, в движок добавлю
расширение EXT_NET (тут набор
команд лучше повысокоуровневей -- кто его знает, на всех ли платформах есть сокеты ?) типа команд
net/getfreelocalport
Код: { goGUI net/getfreelocalport ( port:n16 ) HTTPGUI/port ( addr ) ! ['] HTTPGUI thread start s" http://127.0.0.1:" ( URLheader:str ) HTTPGUI/port @ n->s ( PORT:str ) s+ ( URL:str ) net/URLbrowser }
а формы я делал на Python, запуская локальный http-сервер (мелкий скриптик), а весь интерфейс
рисовался htmlем+JavaScript по желанию
то же самое можно и с Фортом сделать -- нужен только доступ к сокетам, и любой браузер в системе.
супер-пупер красивости можно на яваскрипте наскрипеть, а форт-программа будет генерировать html по шаблонам и получать данные из форм
как доделаю ТЕТРИС до живого состояния, надо будет с http-GUI поковыряться, в движок добавлю
расширение EXT_NET (тут набор
команд лучше повысокоуровневей -- кто его знает, на всех ли платформах есть сокеты ?) типа команд
net/getfreelocalport
[code]{ goGUI net/getfreelocalport ( port:n16 ) HTTPGUI/port ( addr ) ! ['] HTTPGUI thread start s" http://127.0.0.1:" ( URLheader:str ) HTTPGUI/port @ n->s ( PORT:str ) s+ ( URL:str ) net/URLbrowser }[/code]
|
|
|
|
Добавлено: Ср мар 21, 2007 05:11 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
все никак не перепишу ТЕТРИС под версию целевого компилятора описанного в книге, старый исходник тут на форуме валяется
все никак не перепишу ТЕТРИС под версию целевого компилятора описанного в книге, старый исходник тут на форуме валяется
|
|
|
|
Добавлено: Ср мар 21, 2007 04:45 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
собственно говоря у меня уже такая работающая система есть, проблема в портировании движка -- нет у меня опыта программизма GUI, все никак не доделаю исходник чтобы работал с графикой под WIN32
и Linux/UNIX. URL см. в подписи, вот например две ссылки чтобы посмотреть как оно работает реально:
сборка движка под DOS: http://akps.ssau.ru/forth/book/binary/FVM.exe
демки:
http://akps.ssau.ru/forth/book/binary/PSHSH
http://akps.ssau.ru/forth/book/binary/BLINKER
запускать: Код: FVM[.exe] PSHSH
собственно говоря у меня уже такая работающая система есть, проблема в портировании движка -- нет у меня опыта программизма GUI, все никак не доделаю исходник чтобы работал с графикой под WIN32
и Linux/UNIX. URL см. в подписи, вот например две ссылки чтобы посмотреть как оно работает реально:
сборка движка под DOS: [url]http://akps.ssau.ru/forth/book/binary/FVM.exe[/url]
демки:
[url]http://akps.ssau.ru/forth/book/binary/PSHSH[/url]
[url]http://akps.ssau.ru/forth/book/binary/BLINKER[/url]
запускать: [code]FVM[.exe] PSHSH[/code]
|
|
|
|
Добавлено: Ср мар 21, 2007 04:36 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
Anonymous писал(а): Думаю, Что в Форту для PDA в большей степени чем, на PC необходима IDE c дизайнером Форм и хорошая документация.
А зачем вообще привязываться к платформе ? На виндозных, палмосных
и симбианских девайсах есть возможности писать в нативном коде на Си,
при некоторых извращениях и на ассемблере. Если уж на этих платформах
Ява летает достаточно неплохо, кто мешает сделать аналогичную констркцию
для Форта -- байт-код и вызовы к платформе одни и те же для всех платформ,
а интерпретатор заоптимизированный вручную для конкретной железки
по самые уши на Си или асме.
ЗЫ: без клавы работать невозможно, ну может экранная клава + стилус и кое-как помогут
если автокомплишен поддерживается. имхо самый классный вариант для Форта -- Nokia E61,
где-бы только под нее SDK расжиться без закачки 100+ Мб Nokia SDK
[quote="Anonymous"]Думаю, Что в Форту для PDA в большей степени чем, на PC необходима IDE c дизайнером Форм и хорошая документация.:) [/quote]
А зачем вообще привязываться к платформе ? На виндозных, палмосных
и симбианских девайсах есть возможности писать в нативном коде на Си,
при некоторых извращениях и на ассемблере. Если уж на этих платформах
Ява летает достаточно неплохо, кто мешает сделать аналогичную констркцию
для Форта -- байт-код и вызовы к платформе одни и те же для всех платформ,
а интерпретатор заоптимизированный вручную для конкретной железки
по самые уши на Си или асме.
ЗЫ: без клавы работать невозможно, ну может экранная клава + стилус и кое-как помогут
если автокомплишен поддерживается. имхо самый классный вариант для Форта -- Nokia E61,
где-бы только под нее SDK расжиться без закачки 100+ Мб Nokia SDK
|
|
|
|
Добавлено: Ср мар 21, 2007 04:32 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
Думаю,
Что в Форту для PDA в большей степени чем, на PC
необходима IDE c дизайнером Форм и хорошая документация.
P.S. Подключить к PDA клаву можно и без кредла.
и спокойно вбивать слова или даже без нее
\ любители писать тексты в PDA встречаются.
Думаю,
Что в Форту для PDA в большей степени чем, на PC
необходима IDE c дизайнером Форм и хорошая документация.:)
P.S. Подключить к PDA клаву можно и без кредла.
и спокойно вбивать слова или даже без нее
\ любители писать тексты в PDA встречаются.
|
|
|
|
Добавлено: Вт мар 20, 2007 17:22 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
kufal писал(а): Компилятор Forth для Windows (разработка на Delphi)
А что в Delphi нет вставок на ассемблере?
[quote="kufal"]Компилятор Forth для Windows (разработка на Delphi) [/quote]
А что в Delphi нет вставок на ассемблере?
|
|
|
|
Добавлено: Пн мар 19, 2007 21:57 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
Ну для лексического анализа взята готовая схема из учебника которая натаскивает студентов на то "как нужно делать компиляторы". Последовательность (массив, список) токенов, их распознование сделаны не по-фортовски. При этом последние слова пред. предложения не взял в кавычки потому что это реально ограничивающий недостаток, а не идеологический контр-аргумент.
Слой лексического анализатора имеет смысл если есть достаточно сложная сверка токенов (идентификаторов, зарезервированных слов, операторов и т.д.) с шаблонами грам. анализа (в БНФ-форме например). То есть если планируется по исходному тексту идти не только в том направлении в котором он поступает, но также ещё нужно будет смотреть назад а также "заглядывать вперёд".
Поэтому для реализации форт-систем вумные и очкастые слова из учебников навроде "лексер, парсер, грам. анализ, синтаксический анализ, исходящие и восходящий алгоритмы построения грам. дерева" надо выкидывать из мозга по возможности придав им наибольшее ускорение выхода. Перефразируя классика: "всех этих слов на Форте -- нет!" (с)
-- И слава Будде!.. - восклицаем дальше мы.
И я уже не говорю о том что набор слов (про словари вообще грустно помолчим) впечатаны в программу.
Андрей Черезов на мой взгляд в своём " Слове о Форте" довольно ощутимо "коснулся" того как нужно писать интерпретаторы Форта (если хотите это можно назвать "лексическим анализатором").
(не сочтите за высоколобое поучение, в принципе туда-сюда: сам вспоминаю как я за часа за три на Borland Pascal в классе написал что-то подобное, хотя и тоже из книжек натырил, в моём случае это был: Боон, "Паскаль -- это просто")
Ну для лексического анализа взята готовая схема из учебника которая натаскивает студентов на то "как нужно делать компиляторы". Последовательность (массив, список) токенов, их распознование сделаны не по-фортовски. При этом последние слова пред. предложения не взял в кавычки потому что это реально ограничивающий недостаток, а не идеологический контр-аргумент.
Слой лексического анализатора имеет смысл если есть достаточно сложная сверка токенов (идентификаторов, зарезервированных слов, операторов и т.д.) с шаблонами грам. анализа (в БНФ-форме например). То есть если планируется по исходному тексту идти не только в том направлении в котором он поступает, но также ещё нужно будет смотреть назад а также "заглядывать вперёд".
Поэтому для реализации форт-систем вумные и очкастые слова из учебников навроде "лексер, парсер, грам. анализ, синтаксический анализ, исходящие и восходящий алгоритмы построения грам. дерева" надо выкидывать из мозга по возможности придав им наибольшее ускорение выхода. Перефразируя классика: "всех этих слов на Форте -- нет!" (с)
-- И слава Будде!.. - восклицаем дальше мы.
И я уже не говорю о том что набор слов (про словари вообще грустно помолчим) впечатаны в программу.
Андрей Черезов на мой взгляд в своём "[url=http://www.forth.org.ru/~ac/rationale/forth.txt]Слове о Форте[/url]" довольно ощутимо "коснулся" того как нужно писать интерпретаторы Форта (если хотите это можно назвать "лексическим анализатором").
(не сочтите за высоколобое поучение, в принципе туда-сюда: сам вспоминаю как я за часа за три на Borland Pascal в классе написал что-то подобное, хотя и тоже из книжек натырил, в моём случае это был: Боон, "Паскаль -- это просто")
|
|
|
|
Добавлено: Пн мар 19, 2007 18:15 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
kufal писал(а): http://kufal.narod.ru/forth.htm - новая версия, в основном новое для Windows, исходники есть для Linux.
Во первых восприятие входного потока происходит на уровне Си. Это приводит к тому, что невозможно обработать исключительную ситуацию на уровне Форта, изменить синтаксис. Непонятно, чем обусловлен уход от стандарта? Я не вижу какого-нибудь преимущества над http://devbiol.zoo.uwo.ca/~kvt/relf01.zipЦитата: Хочу прочитать ваши предложения по улучшению - не ваше отношение ко всему этому, а конкретные преложения
Прежде чем улучшать нужно разобраться с тем что сделано.
[quote="kufal"]http://kufal.narod.ru/forth.htm - новая версия, в основном новое для Windows, исходники есть для Linux. [/quote]
Во первых восприятие входного потока происходит на уровне Си. Это приводит к тому, что невозможно обработать исключительную ситуацию на уровне Форта, изменить синтаксис. Непонятно, чем обусловлен уход от стандарта? Я не вижу какого-нибудь преимущества над http://devbiol.zoo.uwo.ca/~kvt/relf01.zip
[quote] Хочу прочитать ваши предложения по улучшению - не ваше отношение ко всему этому, а конкретные преложения[/quote]
Прежде чем улучшать нужно разобраться с тем что сделано.
|
|
|
|
Добавлено: Пт ноя 10, 2006 15:20 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
in4 писал(а): Хороших(и бесплатных!) говорилок на РС тоже не встретил - все говорят настолько коряво...
Вот, на счет говорилок, имхо, лучшая (и бесплатная!) "Говорилка": http://www.vector-ski.ru/vecs/govorilka/
Даже со всеми имеющимися недостатками, она все равно, отличная говорилка!
Я с ее помощью уже несколько лет тексты читаю... лежа...
И свои правлю с ее помощью, читает-читает - бац,
на слух пролетает ляп, останавливаю и правлю текст...
[quote="in4"]Хороших(и бесплатных!) говорилок на РС тоже не встретил - все говорят настолько коряво...[/quote]
Вот, на счет говорилок, имхо, лучшая (и бесплатная!) "Говорилка": http://www.vector-ski.ru/vecs/govorilka/
Даже со всеми имеющимися недостатками, она все равно, отличная говорилка!
Я с ее помощью уже несколько лет тексты читаю... лежа...
И свои правлю с ее помощью, читает-читает - бац,
на слух пролетает ляп, останавливаю и правлю текст...
|
|
|
|
Добавлено: Пн окт 09, 2006 12:23 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
нифига не пашла версия fort_kufal на mitac mio a700,
просто в дикие тормаза все падает
лечитса перезагрзкой
нифига не пашла версия fort_kufal на mitac mio a700,
просто в дикие тормаза все падает
лечитса перезагрзкой
|
|
|
|
Добавлено: Пн окт 09, 2006 12:11 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
Вот Форт к PDA.
http://www.tarunz.org/~vassilii/pub/
|
|
|
|
Добавлено: Пн окт 09, 2006 10:14 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
Проблемы ввода для мобильных устройств
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 понятий, но это дело будущего, я пока только прикидываю, как это можно сделать. Доступных подробных работ по лингвистике в электронном виде мне не попадалось...
[b]Проблемы ввода для мобильных устройств[/b]
[quote="WingLion"]И пофиг, что неудобно, Давно надо научить компы голос воспринимать [/quote]
Я пробовал проги распознавания речи Dragon Dictate, которые хвалили в начале 2000хх.
То ли микрофон у меня никакой, то ли еще что, но только несколько слов удалось распознать [b]готовой(уже сделанной и продаваемой)[/b] обученной распознавалкой. При этом ее еще учить и учить... :(
Хороших(и бесплатных!) говорилок на РС тоже не встретил - все говорят настолько коряво... И старое spp.exe имхо читает примерно также, если не лучше, занимая всего 30322 байт на диске! Жаль только, что там не все нужные режимы есть... :(. Помнится мне, это кусок из какого-то речевого пакета... Если у кого-то есть полный пакет - меня ооочень интересует. Особенно вариант встраивания в телефонную J2ME! ;)
Про рукописный ввод могу сказать то же самое. То, что я пробовал - с детским дижитайзером - по распознаванию тоже никакая.
Граффити, правда, работает, ее на КПК пробовал последний раз позавчера. И на качество распознавания пожаловаться нельзя... :)
Как приспособить Dasher([url]http://www.inference.phy.cam.ac.uk/dasher/russian/[/url]) для ввода текстов в телефон, еще не придумал. :( - слишком много кнопок нажимать... :(
Единственное, что могу предложить - программы должны не писаться, а [b]собираться[/b], как например, в HiAsm([url]http://hiasm.hexshock.com/index.php[/url]). Тогда нажатий (если предлагать выбрать из сортированных по вероятности связей) будет меньше!!
Варианты свой клавой, как в colorForth тоже возможны, но прийдется вырабатывать стандарт и долго учится... :(
Свой язык (искусственный язык для общения с компом) решил бы проблему количества нажатий, ведь надо всего ~2000-3000 понятий, но это дело будущего, я пока только прикидываю, как это можно сделать. Доступных подробных работ по лингвистике в электронном виде мне не попадалось... :(
|
|
|
|
Добавлено: Пн окт 09, 2006 09:40 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
Хищник писал(а): Я сейчас использую 4-байтный счетчик и 0 в конце. И строки передаются в основном по адресу первого символа (со смещением -4 байта находится счетчик). Но в любом случае, многие системные вызовы предпочитают ASCIIZ.
Кстати такой подход по-моему самый правильный.
Можно не только со строками так работать, но и с более-другими данными
[quote="Хищник"]Я сейчас использую 4-байтный счетчик и 0 в конце. И строки передаются в основном по адресу первого символа (со смещением -4 байта находится счетчик). Но в любом случае, многие системные вызовы предпочитают ASCIIZ.[/quote]
Кстати такой подход по-моему самый правильный.
Можно не только со строками так работать, но и с более-другими 8) данными
|
|
|
|
Добавлено: Пт окт 06, 2006 22:40 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
Я сейчас использую 4-байтный счетчик и 0 в конце. И строки передаются в основном по адресу первого символа (со смещением -4 байта находится счетчик). Но в любом случае, многие системные вызовы предпочитают ASCIIZ.
Я сейчас использую 4-байтный счетчик и 0 в конце. И строки передаются в основном по адресу первого символа (со смещением -4 байта находится счетчик). Но в любом случае, многие системные вызовы предпочитают ASCIIZ.
|
|
|
|
Добавлено: Пт окт 06, 2006 22:19 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
Хищник писал(а): Это нормальное современное решение. Преобразовать ASCIIZ в c-addr size можно элементарно. Но ограничения на 255 символов, как в паскалевских строках, нет.
И ужасно тормозное 8(
лучше длинну счетчика увеличить в два раза
всеравно на выравнивание больше места расходуется.
А еще лучше счетчик + Z в конце, так сейчас почти все форт-системы современные делают
[quote="Хищник"] Это нормальное современное решение. Преобразовать ASCIIZ в c-addr size можно элементарно. Но ограничения на 255 символов, как в паскалевских строках, нет.[/quote]
И ужасно тормозное 8(
лучше длинну счетчика увеличить в два раза 8)
всеравно на выравнивание больше места расходуется.
А еще лучше счетчик + Z в конце, так сейчас почти все форт-системы современные делают
|
|
|
|
Добавлено: Пт окт 06, 2006 22:05 |
|
|
|
|