Forth
http://fforum.winglion.ru/

Что же касается средств управления потоком интерпретации
http://fforum.winglion.ru/viewtopic.php?f=36&t=1786
Страница 1 из 5

Автор:  mOleg [ Сб дек 20, 2008 21:48 ]
Заголовок сообщения: 

мндя, а по-моему все и так нормально:
скобочные коментарии обычно используются для отражения изменений на стеках, то есть описывают параметры, причем, это выглядит практически так же, как в обычных маинстримовских языках, если на минуту забыть, что это именно коментарий. Более того, скобочные коментарии можно использовать для контроля уже автоматического того, как работает слово.
Поэтому, имхо, скобки могут быть и многострочным коментарием, но не стоит там писать что попало, а только стековые диаграммы!
Что же касается средств управления потоком интерпретации, то я считаю, что необходимо расширить его, в том числе и до таких конструкций:
<pre>
[IF вычисление условия ]
[ELSE]
[THEN]
</pre>
а так же:
<pre>
flag [CASE]
1 [OF] .... [ENDOF]
2 [OF] .... [ENDOF]
[ENDCASE]
</pre>
или даже:
<pre>

[CASE flag ]
[OF 1 ] .... [ENDOF]
[OF 2 ] .... [ENDOF]
[ENDCASE]
</pre>
возможно и другие идеи появятся?

Автор:  вопрос [ Сб дек 20, 2008 22:18 ]
Заголовок сообщения: 

Да, вряд ли кто-то против улучшений при управлении интерпретацией, но насчёт скобок ...
[OF 1 ] .... [ENDOF] неплохо

Автор:  VoidVolker [ Вс дек 21, 2008 01:20 ]
Заголовок сообщения: 

mOleg писал(а):
или даже:
[CASE flag ]

Зачем нам префикс? Это только усложнит. Пускай будут стандартные варианты:
Код:
flag [CASE]
flag [IF]

Автор:  mOleg [ Вс дек 21, 2008 20:48 ]
Заголовок сообщения: 

VoidVolker писал(а):
mOleg писал(а):или даже:
[CASE flag ]
Зачем нам префикс? Это только усложнит. Пускай будут стандартные варианты:

не усложнит.
а надо это для того, чтобы выбирать варианты в режиме компиляции.
Сравни:
<pre>
: sample ...

[ some @ ] [CASE]
[ 1 ] [OF] ... [ENDOF]
[ 2 ] [OF] ... [ENDOF]
[ENDCASE]
....
;
</pre>
и
<pre>
: sample ...

[CASE some @ ]
[OF 1 ] ... [ENDOF]
[OF 2 ] ... [ENDOF]
[ENDCASE]
....
;
</pre>
что удобнее?

Автор:  вопрос [ Вс дек 21, 2008 21:00 ]
Заголовок сообщения: 

второе

Автор:  mOleg [ Вс дек 21, 2008 21:09 ]
Заголовок сообщения: 

вопрос писал(а):
второе

о чем и речь ;)

Автор:  VoidVolker [ Вс дек 21, 2008 22:39 ]
Заголовок сообщения: 

Эмм... Вобщем я так и не понял. И вообще, чето мне кажется, что это тема про скобку. :shuffle;

Автор:  WingLion [ Вс дек 21, 2008 22:43 ]
Заголовок сообщения: 

дык, в названии темы о том и сказано.

Автор:  VoidVolker [ Вс дек 21, 2008 23:34 ]
Заголовок сообщения: 

WingLion писал(а):
дык, в названии темы о том и сказано.

Ну так возможно следует вынести разговор о конструкиях управления в отдельную ветку?

Автор:  WingLion [ Пн дек 22, 2008 00:18 ]
Заголовок сообщения: 

ВЫДЕЛЕНО

Автор:  Гость [ Пн дек 22, 2008 00:42 ]
Заголовок сообщения: 

Почему не постфиксно?
Код:
[ flag CASE]
  [ 1 OF]  .... [ENDOF]
  [ 2 OF]  .... [ENDOF]
[ENDCASE]

Автор:  вопрос [ Пн дек 22, 2008 01:51 ]
Заголовок сообщения: 

Цитата:
Поэтому, имхо, скобки могут быть и многострочным коментарием, но не стоит там писать что попало, а только стековые диаграммы!
можно DO LOOP из ядра вынести, но кто-то без внутристрочных комментариев не может.
Цитата:
Почему не постфиксно?
потому, что начало тега - иначе чем слева направо начало не прочесть

Автор:  mOleg [ Пн дек 22, 2008 13:27 ]
Заголовок сообщения: 

Гость писал(а):
Почему не постфиксно?

Код:[ flag CASE]
  [ 1 OF]  .... [ENDOF]
  [ 2 OF]  .... [ENDOF]
[ENDCASE]


потому что [ скобка используется в форте для другого, а лексемы [IF [OF [CASE не используются.
То есть так удобнее и проще реализовать стуруктуру.

Автор:  mOleg [ Пн дек 22, 2008 13:31 ]
Заголовок сообщения: 

а вынесли в отдельную ветку, имхо, зря. Потому что речь идет о управлении потоком интерпретации - это группы слов:
- условной трансляции текста [IF] [ELSE] [THEN] и подобные им
- однострочные коментарии \ .( ( и им подобные
- многострочные коментарии COMMENT: COMMENT; и им подобные
- слова парсера позволяющие забирать лексемы из входного потока WORD PARSE NEXT-WORD и им подобные
- ?что-то пропустил?
но, все перечисленные группы слов по сути являются утилитами!
и в своей классификации почти все из них я бы отнес к третьему уровню языка(про это сейчас создам тему) - то есть дополнительным словам.

Автор:  VoidVolker [ Пн дек 22, 2008 15:10 ]
Заголовок сообщения: 

Воо, я кажется понял: между [CASE/[IF и ] выполняется некоторый код, а потом ] забирает число со стека, а дальше в зависимости от этого числа происходит компиляция нужного участка кода. Так? Хорошо, тогда надо посмотреть реализации и префиксного и постфиксного вариантов, выбрать более удачный и внести в стандарт.
вопрос писал(а):
кто-то без внутристрочных комментариев не может.

Кто? К тому же они визуально "разрывают" целостность кода.

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