Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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.064 c
1-1116993598
Denmin
2005-05-25 07:59
2005.06.14
Как сделать tabsheet невидимым?


3-1115201907
InVariantian
2005-05-04 14:18
2005.06.14
Data Module


14-1117000277
Бугага
2005-05-25 09:51
2005.06.14
Справка о внедрении


1-1117506788
AntohaKET
2005-05-31 06:33
2005.06.14
Как связать две форма с переменными на первой.


14-1117109053
evvcom
2005-05-26 16:04
2005.06.14
А в Москве мастаки собираться будут?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский