Форум: "KOL";
Текущий архив: 2005.06.14;
Скачать: [xml.tar.bz2];
ВнизCOLLAPSE Найти похожие ветки
← →
Владимир Кладов (2004-10-31 16:36) [40]А поглядел бы я как вы в родном Форте бы это описали. Есть правда расширения вроде SP-Forth, наверняка что-то придумано. Но в оригинале EQU-константа, статических переменных и тем более локальных в форте не было вроде. Хотя может я просто ошибаюсь. Насчет локальных точно знаю, что не было, вместо этого они занимались выделением временно памяти на стеке возвратов.
← →
Владимир Кладов (2004-10-31 16:38) [41]вопрос не понял. Что где взять?
← →
SPeller © (2004-10-31 16:40) [42]Владимир, не надо мне фортрана :) Я лучше П2 разучу на collapse :)
← →
SPeller © (2004-10-31 16:41) [43]
> Владимир Кладов (31.10.04 16:38) [41]
Ну вот есть константа, такая как я описал, имя которой фактически является указателем. Как мне взять значение, на которое указывает этот указатель?
← →
Владимир Кладов (2004-10-31 17:12) [44]Указать это имя в виде
####Имя
- будет абсолютный адрес. Или##(Имя-$CONST)
- будет 2-х-байтное смещение от начала констант.
DELL берет параметр с вершины стека. Если бы было слово DELL(%n%), тогда можно было бы к нему обращаться. А так -BYTE #n DELL
Это не фортран. Это Форт. Forth в оригинале. Вообще другой язык и другая машина. Даже был спор, что же такое Форт - язык программирования, операционная система, компьютер, или что-то еще :)
← →
lse (2004-11-03 10:42) [45]Владимир, один вопрос покоя мне не дает: Зачем это всё? зачем делать суб-маленькие приложения ? или это просто разработка п-2 для goodwell-a ?
← →
Владимир Кладов (2004-11-03 17:41) [46]в том числе и разработка П2. В том числе и попытка оценить свои тямы по поводу компилятора на примере Паскаля. Если честно, я не ожидал, что этот язык окажется таким сложным и много-вариантным. Слишком много встроенных синтаксических форм. Компилятор уже достиг 8100 строк, и все еще не близко к финишу. Хотя и ближе, чем раньше.
А маленькие - очень хочется. Есть у меня приложеньице (EmuZWin), сделано на KOL. Размер 1,5 Мбайта, жмется UPX-ом до 450К (если бы на VCL, боюсь и представить, сколько было бы , наверное, все 4 метра). И как бы я его выкладывал на тырнете делая по версии каждую неделю. А если его удастся ужать хотя бы еще впятеро, насколько облегчится мой труд по выкладыванию версий. И насколько упростится разработка асм-частей, если будет не BASM, а нормальный MASM32, с макросами. И можно будет все архивы с собранными приложениями уменьшить как минимум втрое, надолго отпадут проблемы с увеличением хостингового пространства. И конечно - желание получить свой компилятор и дальше делать с ним что угодно. Ждем-сс от Борланда мультиплатформенности который год, дождались какого-то суррогата в виде kylix (суррогата, потому что даже VCL-совместимость относительная). Для WinCE (даже) и то видимо не дождемся. Но ведь и PC тоже может когда-нибудь уступить свое место другим платформам. Я пытаюсь решить проблему платформенной независимости через компиляцию в промежуточный язык (П2), который хотя и не 100% мультиплатформенный, но достаточно простой, чтобы сделать компилятор с него за неделю - для любой платформы, и за месяц довести до ума. За полгода вылизать дочиста. А компилятор с Паскаля или гудвела (на самом деле, он "уже не тот, что был вначале" (пардон за цитату Рильке), и по простоте может сравниться с тем же фортом или П2)) - его один раз надо сделать. И больше не переделывать. Вот и мультиплатформенность получится. В плане машинного кода - не путать с платформенностью под ОС. ОС - это немного другое.
← →
lse (2004-11-04 11:17) [47]"уже не тот, что был вначале" - это как ?
← →
Андрей © (2004-11-05 13:08) [48]Владимир Кладов
//Инструментарий: masm32 (для компиляции использовалась версия 5,
//но без проблем должно работать и в версии 8 с сервис-паком 1),
Давненько не брал я в руки masm32...
Что есть версия 8?
Это то, что предлагается на wasm.ru, masm.com под названием masm8.2 (ml.exe версии 6.14) или надо вырвать кусок из MS Visual Studio 2005 (ml.exe версии 8.0)?
← →
Владимир Кладов (2004-11-05 18:11) [49]Я не в MS VS брал. Хотя они скорее всего совместимы, по крайней в той части, что нам сейчас нужна. Тем более у меня нет особо большого интереса к VS чтобы доставать версию будущего года :)
Не тот что был - ну совсем не тот. Хотя кое-какие идеи остались. В общем работа над коллапсом мне поможет во многом и его доработать.
← →
Андрей © (2004-11-13 18:02) [50]2 Владимир Кладов
Владимир, предлагаю на обсуждение некоторые уточнения:
1. Считать двоеточие специальным символом, невозможным
в идентификаторе.
НапримерA:B
интерпретировать не как вызов процедуры с таким именем, а как последовательность из метки A, спецсимвола ":", и вызова процедуры B.
Соответственно, метка и ":" могут быть разделены пробелом
2. Разделить как-либо в процедуре секцию локальных переменных и код.
Например, в коде
D2 PROC P2
VAR
V1: BYTE
V2: MYTYPE
END D2
V2 может быть интерпретирована либо как переменная типа MYTYPE
либо как метка, и тогда MYTYPE - не тип а вызов процедуры
Или это специально задумано, и тип V2 надо определять именно исходя из типа MYTYPE?
← →
Андрей © (2004-11-13 18:08) [51]И вот еще, вдогонку...
3. Имя процедуры/модуля после END сделать необязательным. А можно и вовсе исключить.
4. Отказаться (временно) от вложенности комментариев, ввиду замороченности реализации
Страницы: 1 2 вся ветка
Форум: "KOL";
Текущий архив: 2005.06.14;
Скачать: [xml.tar.bz2];
Память: 0.55 MB
Время: 0.046 c