Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Ср окт 24, 2018 09:58

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 69 ]  На страницу 1, 2, 3, 4, 5  След.
Автор Сообщение
 Заголовок сообщения: Frt-sci -- Форт для мобильных телефонов
СообщениеДобавлено: Пт июл 10, 2009 20:35 
Не в сети

Зарегистрирован: Пт июл 10, 2009 19:14
Сообщения: 26
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Я хочу поделиться своей форт-системой и обсудить, как её можно улучшить.
Захотелось мне заставить мобильный телефон выполнять научные расчёты. Для входного языка выбрал, естесвенно, Форт (а интерпретатор писал на java ME). Долго писал, года два, потому что некогда всё было. А вот достигла система некоторого "порога полезности" и мне показалось, что может она не только мне пригодится. Решил опубликовать. Только Форт у меня получился нестандартный :D

В общем, завёл для этой системы сайт и выложил все материалы туда (не сочтите за спам), http://sergey-frt.narod.ru/frt_sci.html

Хотелось бы услышать комментарии и конструктивную критику.

Пользовались этой системой пока мало народу -- я показал её только паре друзей. Долго писал документацию, но друзей форт всё равно не зацепил.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт июл 10, 2009 23:18 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6418
Благодарил (а): 14 раз.
Поблагодарили: 101 раз.
Форт для мобильного телефона - это само по себе интересно. Конечно, ввод с клавиатуры все же хотелось бы, чтобы не зависеть от PC, а переходить на него просто для удобства (я, например, люблю qwerty-коммуникаторы и был бы очень рад возможности потихоньку ковырять форт-программки где-нибудь в дороге). Насколько я понял, возникли некоторые сложности с CREATE, отсюда и ограниченная поддержка переменных? Скобки разных видов в конструкциях управления, конечно, имеют право на существование и даже создают определенный шарм. Дело даже не в том, что они уже задействованы, а в том, что могут потребоваться другие конструкции управления, и придется что-нибудь придумывать. А в целом очень даже интересно получилось.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт июл 10, 2009 23:41 
Не в сети

Зарегистрирован: Пт июл 10, 2009 19:14
Сообщения: 26
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Спасибо.
Ввод с клавиатуры скоро появится в каком-то виде, может, не самом удобном: я планирую сделать, чтобы программки можно было загружать не только из мидлета, но и из отдельных файлов. Тогда можно будет редактировать их в любом редакторе прямо на телефоне.
CREATE можно реализовать. А вот добавление пользовательских IMMEDIATE-слов не получится без переписывания значительной части кода. Т.е. сначала полноценный форт не планировался и это должен был быть вообще "программируемый калькулятор", какое-то подобие советских ПМК. Отсюда и ограничение с переменными. "Ядро" системы изначально было спроектировано несколько неудобно для реализации слов стандартного форта. Если у меня хватит сил переписать ядро, эта система станет ближе к стандарту.
Насчёт скобок я долго сомнвался. Причин две: наглядность -- скобки не сливаются с текстом, и малый размер экрана телефона. Я брал пример с языка J (потомка APL), где почти все "слова" -- это 1 или 2 имвола, поэтому программы получаются очень компактными.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт июл 10, 2009 23:48 
Не в сети
Аватара пользователя

Зарегистрирован: Вс май 07, 2006 11:38
Сообщения: 279
Откуда: Slavyansk, Ukraine
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Ага, идея со скобками - блеск!

_________________
Банзай!


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Сб июл 11, 2009 00:22 
Не в сети
Аватара пользователя

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1255
Благодарил (а): 3 раз.
Поблагодарили: 17 раз.
Kamikaze писал(а):
Ага, идея со скобками - блеск!

Если бы не тот факт, что [ ] используются для переключения режимов компиляция/интерпретация. А так да, идея мне тоже понравилась.

_________________
Cтоимость сопровождения программного обеспечения пропорциональна квадрату творческих способностей программиста.
Роберт Д. Блисc


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Сб июл 11, 2009 00:28 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6418
Благодарил (а): 14 раз.
Поблагодарили: 101 раз.
Для телефона пользовательские IMMEDIATE-слова, конечно, не так уж нужны. Просто подумалось, что часть программ с PC можно было бы запускать на телефоне... а для этого придется переписывать их на скобки :( Вот если бы стандартные для Форта структуры управления тоже можно было использовать...

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Сб июл 11, 2009 07:19 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 4954
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 18 раз.
Поблагодарили: 56 раз.
интересно, но мне скобки не понравились 8(
выглядит во-первых не привычно, во-вторых, перекрывает уже используемые варианты примененения скобок:
{ } - для работы с локальными переменными
[ ] - для переключения режима state

насчет стека возвратов вопрос - можно ли его пользовать для создания собственных конструкций управления?
как минимум возможно ли такое:
['] something >R .. EXIT

ну, и отсутствие DOES> печально 8(

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Сб июл 11, 2009 07:35 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 4954
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 18 раз.
Поблагодарили: 56 раз.
да, вот какой вопрос появился, а симулятор какой есть, на котором можно пробовать работу, не напрягая мобильник свой?

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Сб июл 11, 2009 10:08 
Не в сети
Аватара пользователя

Зарегистрирован: Вт авг 12, 2008 03:18
Сообщения: 224
Откуда: Москва
Благодарил (а): 25 раз.
Поблагодарили: 2 раз.
да, вот какой вопрос появился, а симулятор какой есть, на котором можно пробовать работу, не напрягая мобильник свой?

Я использую эмулятор midp2exe Если набрать в гугле
выдаст много вариантов скачать. В линухе прекрасно работает через wine.

У меня есть подобная разработка, на базе
http://www.usebox.net/jjm/sfi/

к ней добавил сохранение текстов в RMS,
Загрузка текстов из интернет
Работа с Real и с памятью и с Canvas

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Сб июл 11, 2009 10:15 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 4954
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 18 раз.
Поблагодарили: 56 раз.
ух, может еще есть для мобильников разработки?

для этого, мне кажется, не жалко отдельный раздел выделить! (Администратор!) ;)

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Сб июл 11, 2009 10:42 
Не в сети
Аватара пользователя

Зарегистрирован: Вт авг 12, 2008 03:18
Сообщения: 224
Откуда: Москва
Благодарил (а): 25 раз.
Поблагодарили: 2 раз.
Есть еще неплохая электронная таблица для j2me c лиспом внутри
К сожалению лисп здесь не позволяет работать с массивами, что
снижает возможность написание более менее сложных программ.
Автор видимо бросил разработку
Как найду ссылки, отредактирую сообщение.

_________________
Линукс решает, винда глотает.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Сб июл 11, 2009 18:44 
Не в сети
Аватара пользователя

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1255
Благодарил (а): 3 раз.
Поблагодарили: 17 раз.
А доступны ли какие-нибудь функции самого телефона? Например время, режим?

_________________
Cтоимость сопровождения программного обеспечения пропорциональна квадрату творческих способностей программиста.
Роберт Д. Блисc


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Сб июл 11, 2009 23:42 
Не в сети

Зарегистрирован: Пт июл 10, 2009 19:14
Сообщения: 26
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Постараюсь попорядку.

Цитата:
Вот если бы стандартные для Форта структуры управления тоже можно было использовать

Да, я понял что надо двигаться в этом направлении. Проблема ещё в том, что java сильно типизированный язык. Поэтому чтобы сделать форт-интерпретатор нужно приделать длинные ходули-костыли, особенно если хочется floating point :( А если костыли сделать короткими, результата можно достичь быстрее, но скорость упадёт сильно -- раза в 4.

Цитата:
['] something >R .. EXIT

можно. Только ['] пока называется FUNC. Как уже написал, постараюсь двигаться в сторону приближения к стандарту. Т.е. предположительно в версии 0.2beta будет CREATE-DOES>
Но то что в стэке хранятся floating-point, от этого отступать не хочу.

Цитата:
а симулятор какой есть, на котором можно пробовать

Сам я пробую на встроенном в jdk-ME. Ещё у меня есть версия frt-sci для ПК (поскольку ядро на java платформенно-независимо), только там только консоль, нельзя читать из файла. Постараюсь её в ближайшее время выложить.

To vikt:
Цитата:
У меня есть подобная разработка, на базе
http://www.usebox.net/jjm/sfi/

SFI я видел, когда искал что-то на чём можно программировать на мобиле :) И исходники его прочитал перед тем как свою систему писать.
А интересно, что у вас получилось? Можно ли массивы создавать? Свой уровень я бы тоже отнёс к "любительскому". И у меня тоже была сначала версия где программки можно было только писать на самом телефоне и сохранять в RMS. Но практически начал сам использовать только когда сделал выполнение программ, написанных на компе.

Цитата:
А доступны ли какие-нибудь функции самого телефона? Например время, режим?

Время доступно -- слова TODAY ( -- year month day ), NOW ( -- hours minuts seconds ), MILLISECONDS ( -- mills_since_1970 ).
А что вы понимаете под словом режим?
Интернет пока не доступен, графика ограниченно, работа с файловой системой планируется как первая модернизация.

_________________
http://sergey-frt.narod.ru/frt_sci.html


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс июл 12, 2009 00:43 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 4954
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 18 раз.
Поблагодарили: 56 раз.
sergey.f77 писал(а):
Да, я понял что надо двигаться в этом направлении

по крайней мере на уровне общих вещей это желательно очень.

sergey.f77 писал(а):
Но то что в стэке хранятся floating-point, от этого отступать не хочу.

а вот это, кстати мне очень интересно. Как оно в адреса конвертируется-то?

sergey.f77 писал(а):
Сам я пробую на встроенном в jdk-ME. Ещё у меня есть версия frt-sci для ПК (поскольку ядро на java платформенно-независимо), только там только консоль, нельзя читать из файла. Постараюсь её в ближайшее время выложить.

да, тоже интересно :)

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс июл 12, 2009 01:57 
Не в сети
Аватара пользователя

Зарегистрирован: Вт авг 12, 2008 03:18
Сообщения: 224
Откуда: Москва
Благодарил (а): 25 раз.
Поблагодарили: 2 раз.
У меня два стека float и integer
команды для float выглядят так же как и в стандарте,
F+ FDUP и так далее.
тоже используется библиотека Real.
Две модели памяти

private Real[] f_memory = new Real [FMaxArray];
private byte[] _memory = new byte [MaxArray];

соответственно fhere fallot создает массивы real,
но это не по стандарту, cделанно для того чтобы
как можно быстрее начать програмировать на форте.

here allot как в стандарте.

Программы можно писать на телефоне,
но обычно файл загружается на народ.ру
считываетсЯ по http на телефон,
и на нем допиливается в полевых условиях.

Практика показала необходимость реализации чего то похожего
на либы, пока не знаю как cделать, сохранив простоту кода.
Последний раз компилил зто пол года назад,
после чего вносил много изменений, но не компилил.

На днях причешу немного и выложу на народ.

_________________
Линукс решает, винда глотает.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 69 ]  На страницу 1, 2, 3, 4, 5  След.

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


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

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