Это команда camlp5r, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
camlp5 - Pre-Precessor-Pretty-Printer для ocaml
mkcamlp5 - Создать собственный camlp5
mkcamlp5.opt - Создать собственный camlp5 (собственный код)
ocpp5 - Универсальный препроцессор
СИНТАКСИС
камлп5 [параметры загрузки] [-] [другие параметры]
камлп5о [параметры загрузки] [-] [другие параметры]
камлп5р [параметры загрузки] [-] [другие параметры]
камлп5ш [параметры загрузки] [-] [другие параметры]
camlp5o.cma
camlp5r.cma
camlp5sch.cma
MKCAMLP5
mkcamlp5.opt
ocpp5 [load-options] файл
Camlp5o.opt [--] [ другие варианты ]
camlp5r.opt [--] [ другие варианты ]
ОПИСАНИЕ
камлп5 это Pre-Processor-Pretty-Printer для OCaml, анализирующий исходный файл и распечатывающий
какой-то результат на стандартном выходе.
камлп5о, камлп5р и камлп5ш это версии камлп5 с уже загруженными файлами (см.
дальше).
камлп5о.cma, camlp5r.cma и camlp5sch.cma файлы, которые нужно загрузить в ocaml верхнего уровня для использования
машина camlp5
MKCAMLP5 и mkcamlp5.opt создает исполняемые файлы camlp5 с почти теми же параметрами, что и
ocamlmktop. Смотрите дальше.
ocpp5 это универсальный препроцессор, обрабатывающий любые исходные файлы, генерируя одинаковые
текст с возможными цитатами расширен.
Camlp5o.opt и camlp5r.opt это версии camlp5o и camlp5r, скомпилированные родным
компилятор кода ocamlopt. Они быстрее, но не расширяемы. И они недоступны в
все установки camlp5.
НАГРУЗКИ ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
Параметры загрузки выбирают действия по синтаксическому анализу и печати, записанные в объектных файлах OCaml.
(заканчивающиеся на .cmo или .cma). Разрешено несколько вариантов использования этих опций. Они должны
предшествуют другим вариантам.
Необязательный -- могут закончиться варианты загрузки.
-I каталог
Добавить каталог в пути поиска загруженных файлов. Если только опция -nolib не
используется, каталог библиотеки camlp5 добавляется к пути. Предупреждение: нет
автоматический поиск в текущем каталоге: добавить "-I." для этого.
-где Напечатайте имя каталога библиотеки camlp5 и выйдите.
-нолиб Нет автоматического поиска файлов объектов в каталоге библиотеки camlp5.
объектный файл
Файл загружается в ядро camlp5.
ДРУГИЕ ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
Остальные варианты:
файл Рассматривать файл как интерфейсный файл, если он заканчивается на .mli, и как файл реализации
если он заканчивается на .ml.
-intf файл
Рассматривать файл как интерфейсный файл, независимо от его расширения.
-импл файл
Рассматривать файл как файл реализации, независимо от его расширения.
- небезопасно
Создавать небезопасный доступ к массивам и строкам.
-нет утверждения
Не компилируйте проверки утверждений.
-подробный
Более подробный анализ ошибок.
-QD файл
Сбросить в файл в случае синтаксической ошибки в результате расширения цитаты.
-o вне файла
Вывести результат в выходной файл вместо стандартного вывода. Файл открывается с помощью
open_out_bin (см. Распространенные библиотеки OCaml).
-v Распечатайте номер версии и выйдите.
-Помощь Распечатайте доступные варианты и выйдите. Этот принт включает в себя возможные варианты
добавлены загруженными объектными файлами.
Остальные параметры могут быть расширены за счет загруженных объектных файлов. Предоставленные файлы добавляют
следующие варианты:
-l длина строки
Добавлены pr_o.cmo и pr_r.cmo: установите длину строки (по умолчанию 78).
-сеп string
Добавлено pr_o.cmo и pr_r.cmo: выводить эту строку между фразами вместо
комментариев.
-no_ss Добавлено pr_o.cmo: не печатать двойные точки с запятой
-D идент
Добавил pa_macro.cmo: определите идент.
-U идент
Добавил pa_macro.cmo: отменить определение идентификатора.
ПРЕДОСТАВЛЕНА FILES
Эти файлы устанавливаются в каталог / usr / lib / ocaml / camlp5.
Разбор файлов:
pa_r.cmo: измененный синтаксис
pa_rp.cmo: потоки и парсеры
pa_lexer.cmo: лексеры
pa_o.cmo: нормальный синтаксис
pa_op.cmo: потоки и парсеры
pa_oop.cmo: потоки и парсеры (без оптимизации кода)
pa_scheme.cmo: синтаксис схемы
pa_extend.cmo: расширение синтаксиса для грамматик
pa_extfold.cmo: расширение pa_extend с помощью FOLD0 и FOLD1
pa_extfun.cmo: расширение синтаксиса для расширяемых функций
pa_extprint.cmo: расширения синтаксиса для расширяемых принтеров
pa_pprintf.cmo: расширение синтаксиса для оператора pprintf
pa_fstream.cmo: расширение синтаксиса для функциональных потоков
pa_macro.cmo: добавить макросы (ifdef, define) как в C
pa_lefteval.cmo: оценка параметров слева направо
pa_pragma.cmo: директива #pragma
Печать файлов:
pr_r.cmo: измененный синтаксис без объектов и меток
pr_ro.cmo: измененный синтаксис объектов и меток
pr_rp.cmo: попробуйте перестроить синтаксис потоков и парсеров
pr_o.cmo: нормальный синтаксис
pr_op.cmo: попробуйте перестроить синтаксис потоков и парсеров
pr_scheme.cmo: Синтаксис схемы
pr_schemep.cmo: попробуйте перестроить синтаксис потоков и парсеров
pr_extend.cmo: попробуйте пересобрать операторы EXTEND
pr_extfun.cmo: попробуйте пересобрать операторы extfun
pr_extprint.cmo: попробуйте пересобрать операторы EXTEND_PRINTER
pr_dump.cmo: дамп синтаксического дерева для компилятора ocaml
pr_depend.cmo: зависимости файлов
pr_null.cmo: нет вывода
Расширители предложений:
q_MLast.cmo: узлы синтаксического дерева (в измененном синтаксисе)
q_ast.cmo: узлы синтаксического дерева в полном синтаксисе пользователя
q_phony.cmo: сохранение расценок для красивой печати
Команда камлп5о это ярлык для:
camlp5 pa_o.cmo pa_op.cmo pr_dump.cmo
Команда камлп5р это ярлык для:
camlp5 pa_r.cmo pa_rp.cmo pr_dump.cmo
Команда камлп5ш это ярлык для:
camlp5 pa_scheme.cmo pr_dump.cmo
Файл camlp5o.cma может быть загружен на верхнем уровне для запуска camlp5 с синтаксисом OCaml.
Файл camlp5r.cma может быть загружен на верхнем уровне для запуска camlp5 с измененным синтаксисом.
Файл camlp5sch.cma может быть загружен на верхнем уровне для запуска camlp5 с синтаксисом Scheme.
МККАМЛП5
MKCAMLP5 и mkcamlp5.opt создает исполняемые файлы camlp5 с почти теми же параметрами, что и
ocamlmktop. Версия mkcamlp5.opt может создавать исполняемые файлы в машинном коде быстрее, но не
расширяемый.
Для mkcamlp5 интерфейсы, которые должны быть видимы, должны быть явно добавлены в командную строку как
Файлы ".cmi". Например, как добавить модуль OCaml "str":
mkcamlp5 -custom str.cmi str.cma -cclib -lstr -o camlp5str
ОКРУЖАЮЩАЯ СРЕДА ПЕРЕМЕННЫЕ
Также используется следующая переменная среды:
CAMLP5PARM
Задайте параметры алгоритма разбора грамматик. Эта переменная должна быть последовательностью
спецификации параметров. Спецификация параметра - буква, необязательно
за которым следует знак = и значение. Возможны четыре параметра:
b (возврат)
Установите алгоритм возврата по умолчанию.
t (след)
Символы трассировки (терминалы и нетерминалы) при синтаксическом анализе с возвратом.
y (задержка следа)
При обратном отслеживании отслеживайте продвижение во входном потоке (количество незамороженных токенов)
и возможная остановка (количество тестов токенов).
l (максимальная остановка)
Установите максимальное значение остановки.
Используйте camlp5r онлайн с помощью сервисов onworks.net