Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Чт мар 28, 2024 12:32

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 39 ]  На страницу Пред.  1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Чт ноя 13, 2008 21:51 
Не в сети
Аватара пользователя

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1261
Благодарил (а): 3 раз.
Поблагодарили: 19 раз.
Настроил файл forth.api - замечательная штука: теперь после ввода слова, можно набрать ? и SciTE покажет описание слова :) А было бы еще лучше, если бы SciTE мог бы выводить подсказки по словам и из текущего(-их) файла(-ов) - если есть что-то после нового определенного слова - то показывал бы(и если есть на следующей строке комментарий - то и его тоже). Или например если это переменная/массив - то он бы и это тоже сообщал бы.

_________________
Cтоимость сопровождения программного обеспечения пропорциональна квадрату творческих способностей программиста.
Роберт Д. Блисc


Последний раз редактировалось VoidVolker Пт ноя 14, 2008 14:43, всего редактировалось 1 раз.

Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт ноя 13, 2008 23:30 
Не в сети
Аватара пользователя

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1261
Благодарил (а): 3 раз.
Поблагодарили: 19 раз.
А вообще, мне кажется, что лексеры в SciTE слишком усложнены, вот например в Necromancer's Dos Navigtor'е подсветка синтаксиса осуществляется при помощи регэкспов:
Код:
RegKeyWords Color LIGHTRED (\s+|^)(THROW|UNLOOP|LEAVE|BYE|IMMEDIATE)(?=\s|$)
RegKeywords Color lightmagenta (^|\s+)"\s+[\s-!#-¤]*\"(?=\s|$)

Это дает намного более широкие возможности по настройке подсветки.

_________________
Cтоимость сопровождения программного обеспечения пропорциональна квадрату творческих способностей программиста.
Роберт Д. Блисc


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт ноя 14, 2008 20:12 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
Вообще, для удачной и работающей расцветки, желательна возможность анализировать текст, и генерировать раскраску для новых слов, сохранять какую-то БД, прчем для каждого проекта раскраска может меняться. Поэтому мне кажется "идеальный" для форта вариант не возможен, если только этот редактор не будет внутри самой форт-системы.

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт ноя 18, 2008 14:49 
Не в сети

Зарегистрирован: Пн сен 10, 2007 16:48
Сообщения: 18
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
VoidVolker
Цитата:
В смысле? Под приоритетом подсветки, я понимаю то...
Ты начал говорить про приоритет подсветки в ответ на мою ссылку на пример, в котором показывалось как легко в Форте можно испортить всю подсветку переопределив слово-комментарий. Ты говоришь - приоритет подсветки.
1. Каким образом ты себе это представляешь? Что в первую очередь, что во вторую?
2. Тебе известны редакторы в которых если пользователю вздумается переопределить слово-комментарий он может это сделать подкорректируя "приоритет подсветки"?
3. Сейчас и в SciTE'е это не возможно подкорректировать, но, как мне кажется, если создать специальную группу в которой будут указаны слова-комментарии, то эту проблему можно разрешить.
Цитата:
Пример - как есть, и как должно быть:
Теоретически что бы стала так как должно быть, достаточно добавить слово "'" в группу "prewords1" (группа "впередсмотрящих слов на одно следующее слово"), что бы посмотреть как бы тогда получилось замени "'" на "CHAR" из той же группы, у меня получилось как на твоем изображении "как должно быть". Почему теория отличается от практики - в ближайшее время буду узнавать на соответствующем форуме.

Кстати, предлагаю сразу же договориться где (на каком форуме) о каких проблемах надо говорить:
1. Этот топик форума по Форту (либо завести специальные на этом форуме) здесь будем обсуждать:
1.1 Недостатки текущей версии лексера Форта, указываем, совместно решаем как должно быть правильно и я или другой желающей ставим в известность о нашей хотелке (на соотвествующем форуме см. п.3) тех кто в состоянии "сказку сделать былью" :D
1.2 Как лучше/правильней/оптимальней распределить существующие и вновь добавляемые слова Форта в файлах настроек и прочие субъективные моменты работы со SciTE'ом.
2. Топик на Ru-Board'е по общим вопросам работы с редактором, т.е. ваши вопросы VoidVolker (нет подсветки слов в дополнительной группе) и Ilya (зависание редактора) лучше озвучить именно там, т.к. там и больше народу и они более квалифицировные в подобных вопросах чем я. Можно пожалуй и на этом форуме (тоже лучше, наверное, отдельную тему создать) я, постараюсь помочь, но оперативность не обещаю. Здесь же можно задавать свои вопросы если неохота ради этого регистрироваться на РуБорде, если не смогу ответить, то я или кто другой продублируют их где надо. Только одно "но"! Если вы сообщаете о глюке, то я должен смочь его воспроизвести, если у меня это не получилось, то я дублировать его на РуБорде :< не буду.
3. Если вас интересуют вопросы "Дороботки исходного кода и компилирование соборки Ru-Board", то со своими пожеланиями, предложениями, не обязательно касательно Форта, обращайтесь в соотвествующий топик.

Ilya
Цитата:
есть "забавный" глюк...
Та версия которую я вам отправлял была очень и очень сырой, тогда правка лексера для нормальной работы с Фортом только начиналась, поэтому возможно все..., попробуйте воспроизвести глюк на текущей сборке (у меня не получилось) и если получится, то будем разбираться и пробывать теребить разработчиков сборки.
А откуда вообще предлагается вариант ":mparent"? Вы его забили в файл настройки или api-файл?
Единственный раз когда у меня зависал редактор, это на какой-то сборке в начале лета была добавлена возможность распознавать файлы в UTF кодировке и при открытии какого-то *.log-файла редактор у меня завис, я толком с этим не разбирался :shuffle; , а просто отключил эту возможность выставив
utf8.check=0
в файле пользовательских настроек.

VoidVolker
Цитата:
Был приятно удивлен, увидев в nncrontab.properties слово READ-BY-LINE
Это моих рук дело :shuffle; , я надеюсь не сильно тебе обидел что добавил без твоего разрешения? Я потихоньку добавляю часто используемы слова в файл настроек и api-файлы (правда не отсылаю их создателям сборки, но один раз, было)..., но это уже область nnCron'а и об этом лучше говорить у него на форуме, да и то только тогда когда дойдет очередь до правки его лексера.
Цитата:
Да и вообще, это автодополнение только отвлекает.
Это ты зря, так ты во-первых не ошибешься при наборе слова, особеннно в "созвучных" символах, и, во-вторых, "трудное" место Форта - очень много разных и похожих слов которые надо помнить..., это, конечно, все субъективно, но и настраиваемо :wink:
Цитата:
Слова не подсвечиваются карсным. Как их раскрасить?
А ты из группы "Keywords" их убрал? У меня они раскрасились только после этого.
Цитата:
А вообще, мне кажется, что лексеры в SciTE слишком усложнены...
Это дает намного более широкие возможности по настройке подсветки.
Они не усложнены, они просто другие и работают по другому принципу..., регэкспы? мне кажется разбор строк для подсветки очень сильно утяжелит редактор, или я не прав? У кого еще какие мысли по этому поводу?
Цитата:
А было бы еще лучше, если бы SciTE мог бы выводить подсказки по словам и из текущего(-их) файла(-ов)...
У меня по этому поводу давно есть мысль состряпать простенькую программку которой можно было бы скармливать исходники, а она бы по ним поддерживала бы нужные api-файлы в актуальном состоянии, не знаю, правда, дойдут ли у меня до этого руки..., ты кстати знаешь что можно подключать сразу несколько api-файлов, например Forth.api, quark.api, MyNewProg.api :wink:

_________________
все познается в сравнении


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт ноя 18, 2008 20:44 
Не в сети
Аватара пользователя

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1261
Благодарил (а): 3 раз.
Поблагодарили: 19 раз.
makrus вот опять реальный пример кода, убивающий всю подсветку аш до конца файла:
Код:
: end-word
  [    \ Тут опять вся подсветка падает
  RET,
;

makrus писал(а):
Это моих рук дело , я надеюсь не сильно тебе обидел что добавил без твоего разрешения? Я потихоньку добавляю часто используемы слова в файл настроек и api-файлы (правда не отсылаю их создателям сборки, но один раз, было)..., но это уже область nnCron'а и об этом лучше говорить у него на форуме, да и то только тогда когда дойдет очередь до правки его лексера.

Да нет конечно, правильно все сделал. На самом деле, я думаю что не имеет особого смысла держать отдельный лексер для ннкрона: лучше использовать форт-лексер просто с несколько другими настройками, ну и конечно с другим набором слов. А документация по словам крона есть в виде апи-файла?
makrus писал(а):
можно подключать сразу несколько api-файлов

Знаю :) И даже по расширениям их так раскидал.
makrus писал(а):
А ты из группы "Keywords" их убрал? У меня они раскрасились только после этого.

Об этом я уже потом подумал :)

_________________
Cтоимость сопровождения программного обеспечения пропорциональна квадрату творческих способностей программиста.
Роберт Д. Блисc


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср ноя 19, 2008 15:35 
Не в сети

Зарегистрирован: Пн сен 10, 2007 16:48
Сообщения: 18
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
VoidVolker
Цитата:
вот опять реальный пример кода, убивающий всю подсветку аш до конца файла...
Ага, есть такое, но тут, IMHO, гораздо более сложный случай..., ты можешь подсказать алгоритм как выделить такой случай использования только открывающей скобки в пределах одного определения слова без забегания вперед? Я пока нет, единственный временный (надеюсь) выход - в той же строке после комментария ставить закрывающую скобку, тогда все нормализуется.
Посмотрим что на это скажет vladvro.
Цитата:
На самом деле, я думаю что не имеет особого смысла держать отдельный лексер для ннкрона: лучше использовать форт-лексер просто с несколько другими настройками, ну и конечно с другим набором слов.
В принципе, так действительно можно сделать причем без помощи разработчиков, и так советуют делать тем кто пользуется этим редактором для языков которые он еще не поддерживает. Я сначала думал что по идее лексеры для Форта и nnCron'а должны быть очень похожи, но мне сказали что они совершенно разные! Я был, конечно удивлен, но тут уж, так же - каждый волен сам настраивать SciTE как ему кажется удобнее.
Цитата:
А документация по словам крона есть в виде апи-файла?
Мой собственный nncron.api несколько больше оригинального в сборке, как за счет добавленных слов, так и за добавленных комментариев, но и он далеко не полных..., nnCron знает более 3000 слов не учитывая тех что каждый сам добавляет :wink:
Цитата:
И даже по расширениям их так раскидал
Уточни что значит раскидал по расширениям?
С аббревиатурами разобрался? :smile:

_________________
все познается в сравнении


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср ноя 19, 2008 19:14 
Не в сети
Аватара пользователя

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1261
Благодарил (а): 3 раз.
Поблагодарили: 19 раз.
makrus писал(а):
Ага, есть такое, но тут, IMHO, гораздо более сложный случай..., ты можешь подсказать алгоритм как выделить такой случай использования только открывающей скобки в пределах одного определения слова без забегания вперед? Я пока нет, единственный временный (надеюсь) выход - в той же строке после комментария ставить закрывающую скобку, тогда все нормализуется.
Посмотрим что на это скажет vladvro.

Так это же элементарно: сделать ограничителем не только закрывающую скобку, а еще и ; :)
makrus писал(а):
Я сначала думал что по идее лексеры для Форта и nnCron'а должны быть очень похожи, но мне сказали что они совершенно разные! Я был, конечно удивлен, но тут уж, так же - каждый волен сам настраивать SciTE как ему кажется удобнее.

Хмм... Да, наверно все таки разные: например подстроки в кроне тоже надо как-то подсвечивать. Ну да ладно.
makrus писал(а):
Мой собственный nncron.api несколько больше оригинального в сборке, как за счет добавленных слов, так и за добавленных комментариев, но и он далеко не полных..., nnCron знает более 3000 слов не учитывая тех что каждый сам добавляет

Просто есть идея пройтись по всей документации крона скриптом, а потом местами подправить, и еще добавить инфу по словам из спфа.
makrus писал(а):
Уточни что значит раскидал по расширениям? С аббревиатурами разобрался?

Код:
api.*.f=$(SciteDefaultHome)\api\forth.api
api.*.fpm=$(SciteDefaultHome)\api\quark.api

Аббревиатурами не пользуюсь.
А вот так можно дергать скайте:
Код:
REQUIRE [[ ~yz/lib/automate.f
' ANSI>OEM TO ANSI><OEM

0 VALUE scite

: PRINT  \ ( az -- )
  BEGIN DUP C@ DUP WHILE
    EMIT 1+
  REPEAT
  DROP DROP
;
243 CONSTANT BLOCK_COMMENT
ComInit DROP

  " SciTE.Helper" ?CreateObject
  .( ?CreateObject= ) . CR TO scite
  scite [[ Left ]] .( Left: ) .
  scite [[ Top ]] .( Top: ) .
  scite [[ Width ]] .( Width: ) .
  scite [[ Height ]] .( Height: ) . CR

  scite [[ GetText ]] .( GetText: ) CR PRINT
  scite [[ GetSelText ]] .( SelText: ) CR PRINT CR
  scite [[ ReplaceSel ( " \n\rНовая строка." ) ]]
  scite [[ MenuCommand ( BLOCK_COMMENT ) ]]
  scite [[ ReplaceSel ( " \n\rИ еще одна новая строка." ) ]]
  scite [[ MenuCommand ( BLOCK_COMMENT ) ]]
  scite [[ ReplaceSel ( " \n\r" ) ]]

  scite [[ Trace ( " Печатаем в скайте и консоли." ) ]]
  scite [[ Focus ]]

  scite release

ComDestroy
\ BYE

Теперь надо как-то по-удобнее подключить к скайте эту простенькую программку, и будут в скайте доступны скрипты на форте. Останется только саму програмку доработать немного.

_________________
Cтоимость сопровождения программного обеспечения пропорциональна квадрату творческих способностей программиста.
Роберт Д. Блисc


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср ноя 19, 2008 20:50 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
mOleg писал(а):
Вообще, для удачной и работающей расцветки, желательна возможность анализировать текст, и генерировать раскраску для новых слов, сохранять какую-то БД, прчем для каждого проекта раскраска может меняться. Поэтому мне кажется "идеальный" для форта вариант не возможен, если только этот редактор не будет внутри самой форт-системы.

А вот если встроить форт в редактор или наоборот, возможны некоторые оригинальные возможности...

_________________
понимаю некоторую бестолковость некоторых вопросов


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср ноя 19, 2008 21:07 
Не в сети
Аватара пользователя

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1261
Благодарил (а): 3 раз.
Поблагодарили: 19 раз.
вопрос писал(а):
А вот если встроить форт в редактор или наоборот, возможны некоторые оригинальные возможности...

Не проблема - SciTE есть в виде длл.

_________________
Cтоимость сопровождения программного обеспечения пропорциональна квадрату творческих способностей программиста.
Роберт Д. Блисc


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт ноя 21, 2008 17:33 
Не в сети

Зарегистрирован: Пн сен 10, 2007 16:48
Сообщения: 18
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
VoidVolker
Цитата:
Так это же элементарно: сделать ограничителем не только закрывающую скобку, а еще и ;
Ограничителем чего? Там надо не просто ограничивать, а по разному раскрашивать последующий текст в зависемости от наличия/отсутствия парного слова "]".
Народ, гляньте на Ru-Board'е я пытаюсь объяснить vladvro как оно должно быть (по его же просьбе я вместо термина "слово" употребляю "тэг"), если есть замечания по моим объяснениям давай-те здесь обсудим, а туда выложим уже окончательный вариант. VoidVolker, там же кстати объясняется про "кривость" работы с "'".
Цитата:
Просто есть идея пройтись по всей документации крона скриптом, а потом местами подправить, и еще добавить инфу по словам из спфа.
У меня похожая идея взять от туда список слов из "Указателя", можно сказать что это уже сделано, надо только сравнить каких слов нет в текущем nncron.api что бы их добавить..., а ты еще и описания слов целиком хотел в этот файл добавить?
С "раскидал по расширениям" - понял.
Цитата:
Аббревиатурами не пользуюсь.
возможно, зря..., может кто другой захочет попробовать:
поместите в папку abbrev файл forth.abbrev в него добавьте:
Код:
IF=IF\n  |\nELSE\n  \nTHEN
IF=IF\n  |\nTHEN
IF=IF | ELSE  THEN
IF=IF | THEN
Откройте файл forth.properties (можно прямо из меню "Настройки") и добавьте в конце него строку
Код:
abbreviations.$(file.patterns.forth)=$(SciteDefaultHome)\abbrev\forth.abbrev
если ее нет.
В папке tools найдите файл SciTEStartup.lua в нем есть закомментированная строка:
Код:
dofile (props["SciteDefaultHome"].."\\tools\\abbrevlist.lua")
удалите все символы с начала строки до dofile.... Перезапустите редактор и в файле с расширением *.f (или какое у вас указано в forth.properties наберите "IF" появятся четыре варианта набора этого ветвления: на одно строке, на разной, с "ELSE" и без. Мне кажется - удобно :wink: , а можно еще разные переменные (например %SEL%) использовать...
Цитата:
А вот так можно дергать скайте:
Классно. А можно какой-нибудь пример практического использования?
вопрос
Цитата:
А вот если встроить форт в редактор или наоборот, возможны некоторые оригинальные возможности...
я правильно понимаю что благадря VoidVolker'у уже можно сказать что Форт встроили в SciTE? Но какие практически полезные при программировании возможности это дает? :shuffle;

_________________
все познается в сравнении


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт ноя 21, 2008 21:58 
Не в сети
Аватара пользователя

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1261
Благодарил (а): 3 раз.
Поблагодарили: 19 раз.
makrus писал(а):
Классно. А можно какой-нибудь пример практического использования?

Ну если надо скрипт какой-то на форте для скайте сделать, то можно просто форт-программе передавать этот скрипт в коммандной строке, или путь к файлу, и она уже через COM интерфейс будет рулить скайте. Надо дергать того, кто тут как раз и предлагал скрипты на форте в скайте - чего этими скриптами делать-то идля чего они нужны?

_________________
Cтоимость сопровождения программного обеспечения пропорциональна квадрату творческих способностей программиста.
Роберт Д. Блисc


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс ноя 23, 2008 19:25 
Не в сети

Зарегистрирован: Ср сен 13, 2006 10:06
Сообщения: 636
Откуда: Омск
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
Если честно, то в раскраску в форт я не верю. Хотя... два цвета фон и цвет символов реален :)

_________________
Меня нет, не будет и не было.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс ноя 23, 2008 20:35 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
реальна еще и подсветка стандартных слов Форта.
даже того, что есть в bred-е достаточно для мелких проектов.

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс ноя 23, 2008 21:30 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Свёртка очень не мешает

_________________
понимаю некоторую бестолковость некоторых вопросов


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн ноя 24, 2008 13:12 
Не в сети
Аватара пользователя

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1261
Благодарил (а): 3 раз.
Поблагодарили: 19 раз.
Pretorian писал(а):
Если честно, то в раскраску в форт я не верю. Хотя... два цвета фон и цвет символов реален

В смысле? Не нравится раскраска форта по-умолчанию?
вопрос писал(а):
Свёртка очень не мешает

:? Очень похоже, что "не" здесь лишнее, если это так - то согласен, т.к. свертка вообще не настраивается, поэтому я ее отключил:
Код:
fold.forth=0

_________________
Cтоимость сопровождения программного обеспечения пропорциональна квадрату творческих способностей программиста.
Роберт Д. Блисc


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 39 ]  На страницу Пред.  1, 2, 3  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB