Forth
http://fforum.winglion.ru/

Frt-sci -- Форт для мобильных телефонов
http://fforum.winglion.ru/viewtopic.php?f=38&t=2198
Страница 2 из 5

Автор:  sergey.f77 [ Вс июл 12, 2009 11:21 ]
Заголовок сообщения: 

Версия для ПК:
http://sergey-frt.narod.ru/frt_console.jar, запускать
Код:
java -jar frt_console.jar

по крайней мере под линуксом так.

Автор:  sergey.f77 [ Вс июл 12, 2009 11:38 ]
Заголовок сообщения: 

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

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

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

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

Вот это очень интересно. Мне не сложно перекидывать файлы между телефоном и компом по синему зубу, но наверное это не всем удобно, через интернет универсальнее.

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

Можно очень просто читать файлы, записанные внутрь мидлета:
Код:
    private String getText(String path) {
        DataInputStream dis = new DataInputStream(getClass().getResourceAsStream(path));
        StringBuffer strBuff = new StringBuffer();
        int ch = 0;
        try {
            while ((ch = dis.read()) != -1) {
                strBuff.append((char ) ((ch >= 0xc0 && ch <= 0xFF) ? (ch + 0x350) : ch)); // this to handle russian letters
            }
            dis.close();
        } catch (Exception e) {
            System.err.println("ERROR in getText() " + e);
        }
        return strBuff.toString();
    }

Автор:  mOleg [ Вс июл 12, 2009 15:26 ]
Заголовок сообщения: 

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

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

замечательно! :) я думал несколько более хитрый вариант. Расценивать порядок как сегментный адрес...
Как обходятся проблемы с нормализацией? или когда порядок = 1 нет необходимости в ней?

Автор:  sergey.f77 [ Вс июл 12, 2009 16:10 ]
Заголовок сообщения: 

Я не копал так глубоко. Пользуюусь библиотекой Real http://real-java.sourceforge.net/Real.html для работы с числами с плавающей запятой. Там есть функция toInteger.

Автор:  mOleg [ Вс июл 12, 2009 17:25 ]
Заголовок сообщения: 

я так понимаю у нас тут две Форт-системы появилось. Не плохо бы отдельную тему завести для второй...

Автор:  VoidVolker [ Вс июл 12, 2009 21:53 ]
Заголовок сообщения: 

sergey.f77 писал(а):
А что вы понимаете под словом режим?

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

Автор:  vikt [ Вс июл 12, 2009 22:00 ]
Заголовок сообщения: 

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


Из явы такие функции скорее всего невозможны. Вероятно возможно из симбиан или чего то подобного

Автор:  VoidVolker [ Вс июл 12, 2009 22:15 ]
Заголовок сообщения: 

vikt писал(а):
Из явы такие функции скорее всего невозможны.

Как так? Всякие интернеты/камеры/блутузы доступны, а такие простейшие функции, как смена режимов, включение/выключение недоступны? :( Ну и ладно... И без них проживем :D .

Автор:  simne [ Вс июл 12, 2009 23:50 ]
Заголовок сообщения: 

VoidVolker писал(а):
vikt писал(а):
Из явы такие функции скорее всего невозможны.

Как так? Всякие интернеты/камеры/блутузы доступны, а такие простейшие функции, как смена режимов, включение/выключение недоступны? :( Ну и ладно... И без них проживем :D .


В j2me 1.0 точно были жесточайшие ограничения из соображений безопасности. То есть идеология там такая: запретить все, разрешить только то что может быть интересно.
Говорят что в 2.0 систему безопасности перерабатывали, в подробности я не вникал.

Включение/выключение врядли можно применить коммерчески (а вот вредоносно можно точно), смена режимов вобщем-то тоже для приложения малополезна и потенциально вредна, хотя уверен, что можно прочитать текущее состояние чтобы например при загрузке приложения напомнить пользователю включить звук.

Автор:  Kopa [ Пн июл 13, 2009 08:47 ]
Заголовок сообщения: 

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


Рассматривался ли JBForth при создании?

Автор:  sergey.f77 [ Пн июл 13, 2009 10:13 ]
Заголовок сообщения: 

Мда, не рассматривался -- как-то я мимо него прошёл.
Хочу потестить на предмет быстродействия и занимаемой памяти, скачал, но что-то сейчас он у меня не запускается.
Не могу пока сказать про JBForth, но у меня сначала в стэк тоже можно было класть любой объект и отказался я из-за этого по причине низкого быстродействия -- переделывание стэка только под Real ускорило выполнение тестовых прог вроде численного интегрирования почти в 2 раза.

Автор:  Kopa [ Пн июл 13, 2009 11:34 ]
Заголовок сообщения: 

mOleg писал(а):
ух, может еще есть для мобильников разработки?
для этого, мне кажется, не жалко отдельный раздел выделить! (Администратор!) ;)


Уже были обсуждения на форуме:)
Можно поискать подходящие темы через встроенный поисковик на слова:
J2ME , Java, может и PDA ...

Автор:  mOleg [ Пн июл 13, 2009 14:24 ]
Заголовок сообщения: 

Kopa писал(а):
mOleg писал(а):ух, может еще есть для мобильников разработки?
для этого, мне кажется, не жалко отдельный раздел выделить! (Администратор!)
Уже были обсуждения на форуме

раздел уже создан. теперь можно заполнять его :)

Автор:  sergey.f77 [ Вт июл 14, 2009 21:00 ]
Заголовок сообщения: 

Добавил чтение программ из файловой системы, т.е. теперь можно редактировать прямо на телефоне. Правда для этого нужно чтобы телефон поддерживал расширение JSR75.
Выложил на сайт.
С пользовательским интерфейсом теперь пока больше ничего делать не буду, возьмусь за виртуальную машину.

Автор:  diver [ Ср июл 15, 2009 10:20 ]
Заголовок сообщения: 

Сергей, разработка классная! Запускал правда на коммуникаторе (asus p525), но работает.


По консольному интерфейсу: можно ли сделать , чтобы поле ввода было фиксировано, скажем вверху экрана. а вывод прокручивался вниз? не знаю, как на телефонах, но на коммуникаторах так будет удобнее.
Если уж будите доводить виртуальную машину, можно добавить стандартные do..loop и if..else..then.? привычнее :-). Графический вывод добавлять не планируете?

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