Forth http://www.fforum.winglion.ru/ |
|
Дополнения, изменения, ошибки. http://www.fforum.winglion.ru/viewtopic.php?f=25&t=1511 |
Страница 2 из 4 |
Автор: | mOleg [ Пт фев 13, 2009 14:18 ] |
Заголовок сообщения: | |
Pretorian писал(а): Ошибка в комментарии: Код: \ прочитать значение с вершины локального стека CODE L+ ( N --> ) так лучше?: CODE L+ ( l: a d: b --> l: a+b ) Pretorian писал(а): Стековая диаграмма не верна:
Код: \ перенести число двойной длины с локального стека на стек данных CODE DL> ( d --> l: d ) ок: CODE DL> ( l: d --> d: d ) остальные тоже поправил. |
Автор: | Pretorian [ Пн фев 16, 2009 13:12 ] |
Заголовок сообщения: | |
Код: \ определить методы работы с указанным символьным потоком
: stream-type ( '@ '! '+ ', 'char# '<char 'strrec --> ) DUP >L off_<char A! L@ off_char# A! L@ off_char+ A! L@ off_char! A! L> off_char@ A! ; Краткий комментарий не правильный, похоже когда то использовался еще один вектор off_char, . Может комментарий заменить на ( off_char@ off_char! off_char+ off_char# off_<char /chartype --> )??? |
Автор: | Pretorian [ Пн фев 16, 2009 13:35 ] |
Заголовок сообщения: | |
Код: 0
ADDR -- off_char+ ( addr 'stream --> char ) \ метод перехода к следующему символу ADDR -- off_char@ ( addr 'stream --> char ) \ метод извлечения символа ADDR -- off_char! ( char addr 'stream --> ) \ метод сохранения символа ADDR -- off_char# ( addr --> # ) \ предельный размер символа, например, для utf-8 = 6 ADDR -- off_<char ( addr --> addr ) \ сместиться на символ назад CONSTANT /chartype : stream-type ( '@ '! '+ ', 'char# '<char 'strrec --> ) DUP >L off_<char A! L@ off_char# A! L@ off_char+ A! L@ off_char! A! L> off_char@ A! ; \ -- работа с символами входного потока ---------------------------------------- \ хранилище для описания текущего символьного потока USER-CREATE CSTREAM ( --> addr ) t' /chartype execute TC-USER-ALLOT \ сохранить методы работы с текущим входным потоком : INPUT-STREAM ( '@ '! '+ char# --> ) CSTREAM stream-type ; Какой то странный метод INPUT-STREAM. |
Автор: | mOleg [ Пн фев 16, 2009 22:02 ] |
Заголовок сообщения: | |
Pretorian писал(а): Краткий комментарий не правильный, похоже когда то использовался еще один вектор off_char, . да, верно, исправил. Pretorian писал(а): Может комментарий заменить на ( off_char@ off_char! off_char+ off_char# off_<char /chartype --> )??? ну, там везде xt , так что 'name лучше, чем off_ - который просто смещение. То есть off_char будет не верно. Pretorian писал(а): Какой то странный метод INPUT-STREAM.
в чем же странность? дальше оно используется так: ISO> INPUT-STREAM вобщем речь идет о том, чтобы отвязаться от символов с фиксированной длинной (можно использовать символы любой кодировки) причем в каждом транслируемом файле может быть своя кодировка. |
Автор: | Pretorian [ Вт фев 17, 2009 06:49 ] |
Заголовок сообщения: | |
Не понял меня,о какой странности я говорил. Код: : stream-type ( '@ '! '+ 'char# '<char 'strrec --> ) \ -- работа с символами входного потока ---------------------------------------- \ хранилище для описания текущего символьного потока USER-CREATE CSTREAM ( --> addr ) t' /chartype execute TC-USER-ALLOT \ сохранить методы работы с текущим входным потоком : INPUT-STREAM ( '@ '! '+ char# --> ) CSTREAM stream-type У stream-type 6 параметров, а у INPUT-STREAM 4 + 1 внутренний, 6>5 ! Код: strcnt# 3 =
[IF] \ максимальное кол-во байт, отводимое под счетчик строки 4 CONSTANT SCNT# ( --> const ) У константы разве должно быть не 3? |
Автор: | mOleg [ Вт фев 17, 2009 12:37 ] |
Заголовок сообщения: | |
Pretorian писал(а): Не понял меня,о какой странности я говорил. ага, правлю коментарий Pretorian писал(а): У stream-type 6 параметров, а у INPUT-STREAM 4 + 1 внутренний, 6>5 ! пропустил '<char Pretorian писал(а): Код:
strcnt# 3 = [IF] \ максимальное кол-во байт, отводимое под счетчик строки 4 CONSTANT SCNT# ( --> const ) У константы разве должно быть не 3? тут все верно. 3 - это вариант длины счетчика строки а 4 - это длина счетчика строки. |
Автор: | VoidVolker [ Чт фев 19, 2009 23:21 ] |
Заголовок сообщения: | |
Выданная мне на днях сборка при попытке компиляции выдает следующее: Цитата: including: .\kernel\vm\STC\WIN\callback.f Exception #2
at: .\kernel\OS\WIN\os.f:9:29: vm\ WIN\callback.f INCLUDED \ поддержка callback вызовов ^ 0xC00000AA INSTRUCTION_MISALIGNMENT |
Автор: | mOleg [ Пт фев 20, 2009 19:38 ] |
Заголовок сообщения: | |
VoidVolker писал(а): Выданная мне на днях сборка при попытке компиляции выдает следующее:
под какой системой? (под XP все ок, у вас Виста?) |
Автор: | VoidVolker [ Пт фев 20, 2009 20:19 ] |
Заголовок сообщения: | |
Оказалось, что файл callback.f просто отсутствует. |
Автор: | _Harry [ Пн апр 20, 2009 16:04 ] |
Заголовок сообщения: | |
mOleg Обнаружил в последней выложенной сборке(-mc8-b642), что при ошибке в командной строке система падает ( или выходит по BYE не знаю). В предыдущей сборке, в таких ситуациях, выдавалось сообщение об ошибке. Ини файл не менял все как в дистрибутиве. Еще обнаружились проблемы с GUI окошком (подробности завтра письмом наверное сегодня не могу) |
Автор: | mOleg [ Пн апр 20, 2009 22:21 ] |
Заголовок сообщения: | |
_Harry писал(а): Обнаружил в последней выложенной сборке(-mc8-b642), что
при ошибке в командной строке система падает ( или выходит по BYE не знаю). да, с последней я несколько поспешил 8( там достаточно много изменений в ядре, я обрадовался, когда все наконец заработало, но, оказалось, что "новые косяки" добавились (вылавливаю ударными темпами) Так что делать что-то лучше на предыдущей сборке, а с новой можно ознакамливаться |
Автор: | _Harry [ Вт апр 21, 2009 09:53 ] |
Заголовок сообщения: | |
mOleg Ну я так и понял. Посмотри колбэки чегото там снова не так. Окошко запускается и работает но, при закрытии валит систему. А в отдельном потоке вообще сразу рушится. Выход из колбэка по QUIT Выдал интересный спецэфект . В консоли появляются циклические мелькающие сообщения об ошибках прочитать получилось только с помощью ctrl - break ( быстро мелькают ). Вот такое пишет: Код: Ошибка: -1073741819
(0) exception code: 0xC0000005 Stack: 0 at: 0x5C2E64 name: @ 0x0006B830: 0x005C79A6 TIB 0x0006B834: 0x005CB7ED REFILL-STDIN 0x0006B838: 0x005CB895 (REFILL) 0x0006B83C: 0x005CA351 TranslateFlow 0x0006B840: 0x005CA7A4 (MAIN) 0x0006B844: 0x005C446C CATCH 0x0006B848: 0x00000000 0x0006B84C: 0x00E18938 INITWIN 0x0006B850: 0x0006F898 0x0006B854: 0x005CA7ED QUIT 0x0006B858: 0x005D687B notice end of report. Ошибка: -1073741819 (0) exception code: 0xC0000005 Stack: 0 at: 0x5C2E64 name: @ 0x0006B830: 0x005C79A6 TIB 0x0006B834: 0x005CB7ED REFILL-STDIN 0x0006B838: 0x005CB895 (REFILL) 0x0006B83C: 0x005CA351 TranslateFlow 0x0006B840: 0x005CA7A4 (MAIN) 0x0006B844: 0x005C446C CATCH 0x0006B848: 0x00000000 0x0006B84C: 0x00E18938 INITWIN 0x0006B850: 0x0006F898 0x0006B854: 0x005CA7ED QUIT 0x0006B858: 0x005D687B notice end of report. |
Автор: | mOleg [ Вт апр 21, 2009 22:54 ] |
Заголовок сообщения: | |
_Harry писал(а): Посмотри колбэки чегото там снова не так. Окошко запускается и работает но, при закрытии валит систему. ага, сейчас с этим копаюсь. _Harry писал(а): Выход из колбэка по QUIT
Выдал интересный спецэфект понял. кстати QUIT это не выход, а основной цикл работы системы. |
Автор: | вопрос [ Ср апр 22, 2009 00:24 ] |
Заголовок сообщения: | |
Я попробовал запустить под форком свой вчера сделанный форматированный вывод, читает, выводит строку, экран, (если, конечно, подключить пару библиотек), потом ругается на попытку вывести в файл и выдаёт похожее исключение |
Автор: | mOleg [ Ср апр 22, 2009 20:53 ] |
Заголовок сообщения: | |
вопрос писал(а): потом ругается на попытку вывести в файл и выдаёт похожее исключение возьмите предыдущую сборку, я таки поспешил выложить последнюю. В ней сильно изменена работа с источниками транслируемых данных, соответственно то там то тут вылазят старые корявоси. вопрос писал(а): (если, конечно, подключить пару библиотек)
в этом одна из идей форка = не перетяжелять ядро |
Страница 2 из 4 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |