Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Функциональные языки: общие вопросы > Подсветка синтаксиса OCaml |
Автор: Void 19.1.2006, 17:06 | ||||||||||||||||
Начальство http://forum.vingrad.ru/index.php?showtopic=77053&view=findpost&p=621247, ну а мы рады стараться ![]() Правила подсветки: Язык чувствителен к регистру. Ключевые слова (#0000FF):
Некоторые встроенные типы и функции (#800000):
Стандартные модули (#6a5acd):
Комментарии (#008080): Между (* и *), могут быть вложенными:
(Я смотрю, в подсветке Delphi вложенные комментарии не обрабатываются. Если это сложно, то и не надо.) Символьные литералы (#008000): Регулярное выражение:
Пример: 'a', ' ', '\n', '\022', '\xAC' - корректно 'ab', '\z', '\17', '\xGG' - некорректно Важно в точности следовать этим правилам, потому что апостроф ' может входить в состав идентификатора, в т.ч. и в начале слова. Строковые литералы (#008000):
Численные константы (#00008b): целые:
вещественные:
Т.е. правила почти те же самые, что и в Си, только внутри чисел символы подчеркивания _ игнорируются; восьмеричные и двоичные константы начинаются с 0o и 0b соответственно; у целых чисел может быть один из суффиксов n, l, L. Жду замечаний и предложений. |
Автор: sergejzr 25.1.2006, 21:07 |
Насчёт регов не понял, сорри. Остальное почти вставил. И ещё.. Можешь кусок кода дать для тестов? Добавлено @ 21:13 Пока так работает: http://poligon.vingrad.ru/index.php?showtopic=77371&unread=1&st=0&#entry613424 |
Автор: Void 25.1.2006, 22:07 | ||
Это реги, которым удовлетворяют соответствующие лексемы. Я предполагал, что движок подсветки может использовать их напрямую. Ну и вообще, легче написать регэксп, чем пытаться на словах объяснить ![]() Без проблем. Вот код, в аттаче то, как он должен выглядеть:
Аттач переименовать в ZIP. |
Автор: sergejzr 25.1.2006, 22:08 |
Аттач не открывается ![]() |
Автор: Void 25.1.2006, 22:10 |
P.S. Название языка OCaml ![]() ![]() Добавлено @ 22:10 Сейчас перезагружу |
Автор: sergejzr 25.1.2006, 22:19 |
Гы! ОК ![]() ![]() ![]() |
Автор: Void 25.1.2006, 22:31 | ||
Коротко основные баги, в порядке убывания важности:
Подумал, и решил, что, несмотря на то, что в подсветке большинства языков на форуме в комментариях используется italic, обычный текст читается лучше. Пока вроде все.
![]() |
Автор: sergejzr 26.1.2006, 17:16 |
Насчёт символьных - так и не въехал. Можешь словами расписать? И ещё. При подсветке мы исходим из того, что код БЕЗ синтактических ошибок. То есть если код с ошибками подсвечивается неправильно, то это ОК. Наша задача - всего лишь чтобы правильный код правильно подсвечивался. поэтому я не понимаю определения "корректно" ![]() |
Автор: Cr@$h 11.10.2006, 21:26 |
Думаю, соответствующие участники уже знают про подсветку кода OCaml. Для вставки кодов OCaml используйте подсветку синтаксиса из выплывающего списка Код в форме ответа. Тему открепляю. О подсветке сообщено в шапке форума. Void, скажи, если реализация ещё не отлажена. Тему можно будет опять зафиксировать. |
Автор: Void 11.10.2006, 21:54 | ||||
Говорю: она не работает. Т.е., если я правильно понимаю, OCaml добавлен в список кодов на форме, но сама реализация подсветки на форум не загружена.
|
Автор: Cr@$h 11.10.2006, 22:02 |
Хорошо, тогда фиксирую её обратно ![]() Быстрое же у тебя время отклика получилось |
Автор: Void 11.10.2006, 22:14 |
С одной стороны, не сказать, что это так критично сейчас (последняя тема с кодом на *ML была много месяцев назад). С другой, надо бы админам намекнуть ![]() |
Автор: Cr@$h 11.10.2006, 23:10 |
Да. Можешь напрямую Сергея попросить посмотреть. С Fortran там тоже не реализовано... |
Автор: sergejzr 12.10.2006, 12:46 |
Блин. всё руки не доходят до оставшихся подсветок ![]() |