Описание тега camlp4

CamlP4 - это синтаксическая структура для Objective Caml, которая часто используется в качестве препроцессора для расширения синтаксиса OCaml.
1 ответ

Как просмотреть код, сгенерированный camlp4

Я использую расширение синтаксиса и хотел бы знать, можно ли каким-то образом вывести сгенерированный код. Я бы предпочел не помещать трассировки отладки в расширение, так как я не разработчик и ничего не знаю о camlp4.
14 сен '15 в 16:20
1 ответ

Ошибка предварительной обработки в комментариях к коду

Я получил эту ошибку при компиляции моего кода с corebuild: ~/project $ corebuild debug.byte ocamlfind ocamldep -syntax camlp4o -package bin_prot.syntax -package sexplib.syntax,comparelib.syntax,fieldslib.syntax,variantslib.syntax -package core -mod…
21 авг '13 в 07:16
1 ответ

Генерация кода для работы со совпадениями на регулярных древовидных структурах?

Я занимаюсь разработкой специализированного дерева квадов для биоинформатики. Типы для qtree: type base = A | C | G | T | ROOT ;; type quad_tree = Nd of bases * quad_tree * quad_tree * quad_tree * quad_tree | Empty | Leaf of int ref ;; let init_quad…
15 ноя '13 в 00:11
1 ответ

Какова цель переменной _loc при определении правил грамматики в camlp4?

_loc переменная появляется здесь в правиле грамматики для match ... with выражение в качестве аргумента, переданного mk_sequence функция. | "match"; e = sequence; "with"; a = match_case -> <:expr< match $mksequence' _loc e$ with [ $a$ ] &gt…
19 мар '13 в 01:15
1 ответ

camlp5 IFNDEF STRICT делает противоположное тому, что я ожидаю

HOL Light имеет некоторую замкнутую логику camlp5 для изменения синтаксиса ocaml. Я исправил его для работы под ocaml 4.04 и 6.17, но он работает только в строгом режиме camlp5. Я проследил проблему до следующего кода: value vala_map f = IFNDEF STRI…
12 дек '16 в 05:48
1 ответ

Несвязанный модуль Camlp4

Мне известны подобные вопросы на этом сайте, но ни один из них не помог решить мою проблему. Я очень новичок в OCaml и использую следующий учебник по использованию Camlp4 https://github.com/ocaml/camlp4/wiki/OCaml_code_generation_tutorial Однако я п…
07 фев '16 в 21:26
1 ответ

Трассировка парсера Camlp4

Я пишу простой парсер с Camlp4. Сложность начинает доходить до того, что у меня возникают проблемы с рассуждением о точной последовательности разбора. Что было бы лучшим способом произвести "трассировку" анализа, включающего в себя использованные то…
06 фев '14 в 19:43
1 ответ

Заставить OPAM работать с системным компилятором под MacOS X

Я пытаюсь сделать очень простую установку OPAM под MacOS. Используя macports, я установил следующие пакеты: опам @ 1.2.0 ocaml-findlib @ 1.5.5 ocaml-camlp4 @ 4.02.0.1_1 когда я сделал opam init (не как root, так как он нужен только для одного пользо…
22 мар '15 в 18:15
0 ответов

Как мне убедиться, что у меня есть `campl5` нативный код и компиляция байт-кода?

Я следовал инструкции по установке здесь, и он сказал: 2. Убедитесь, что на вашем компьютере установлен Camlp5 (или поддерживаемый Camlp4) и что команда "camlp5" находится в каталоге, который указан в пути к переменной среды $PATH. (Вам нужен Camlp5…
28 дек '18 в 00:54
2 ответа

Что такое "пересмотренный синтаксис" в OCaml?

Когда люди ссылаются на "пересмотренный синтаксис" в OCaml, они подразумевают, что это станет новым синтаксисом для языка, или это просто альтернативный синтаксис, созданный в CamlP4? Если это первое, то когда "пересмотренный синтаксис" станет "офиц…
26 май '10 в 23:32
3 ответа

Лексер / фильтр для комментариев

Есть ли инструмент OCaml, который позволяет фильтровать комментарии в исходных файлах, аналогично gcc -E? В идеале я ищу что-то, что удалит все, кроме комментариев, но было бы полезно и наоборот. Например, если есть способ использовать camlp4/campl5…
03 фев '17 в 18:48
0 ответов

Парсер OCaml и структура грамматики

Я разрабатывал парсер для крошечного языка, синтаксис которого следующий P::= 1 | 0 | P+P | P and P | P wait(d) P Вот код, который я написал в Ocaml camlp4 action: [ ["act"; a = LIDENT -> Act(a)] | ["coact"; a = LIDENT -> Act2(a)] ]; proc: [ […
11 сен '13 в 10:28
1 ответ

Компиляция с помощью ocamlbuild и camlp5

Я пытаюсь сделать проект, над которым я работаю, с помощью ocamlbuild, чтобы избежать использования обычного Makefile, который я считаю немного более сложным. В частности, у меня есть файл с синтаксическим расширением (exte.ml), который мне нужно сн…
26 авг '15 в 00:53
2 ответа

Разбор файла OCaml с помощью OCaml

Я хочу проанализировать файлы OCaml (.ml), используя OCaml. Я хочу разбить файлы на абстрактные синтаксические деревья для анализа. Я пытался использовать camlp4, но мне не повезло. Кто-нибудь еще успешно делал это раньше? Это лучший способ для анал…
23 апр '14 в 02:15
1 ответ

Используйте Camlp4 для анализа строки универсальных и экзистенциальных квантификаторов

Я использую Camlp4 для анализа строки квантификаторов, в которых ключевые слова и переменные квантификации разделены запятой. Один пример как ниже: exists x,y,z, forall a,b, exists h,k Вот, exists а также forall являются ключевыми словами, x,y,z,a,b…
06 июл '15 в 06:29
1 ответ

Как скомпилировать используя Camlp4?

Я проверяю цитаты в Camlp4. Моя программа tester.ml выглядит следующим образом: open Camlp4.PreCast;; let x = <:Cstm< x = 1 + 2 >>;; let y = <:expr< let y = 1 + 2 >>;; print_string "done";; Я пытался компилировать это различн…
11 мар '16 в 00:13
1 ответ

Ошибка: Camlp4: необработанное исключение: Not_found

Я работаю над примером Ocsigen ( http://ocsigen.org/tuto/manual/macaque). Я получаю сообщение об ошибке при попытке скомпилировать программу следующим образом. File "testDB.ml", line 15, characters 14-81 (end at line 18, character 4): While finding …
10 мар '14 в 02:10
1 ответ

Как Camlp5 (бывший Camlp4) анализирует выражения

Насколько я мог понять, по поиску в Интернете, похоже, что Camlp5 (бывший Camlp4) использует парсер рекурсивного спуска, в то время как ocamlyacc основанный на LALR генератор парсера В генераторе синтаксического анализатора LALR приоритет и ассоциат…
1 ответ

Как получить доступ к члену в списке на Ocaml

У меня есть исходный код ниже. Я не понимаю его синтаксис. [g | t <- ts; g <- symbols t] очень странно Пожалуйста, помогите мне объяснить это или порекомендуйте любые книги или документы, которые соответствуют этому. большое спасибо type term …
03 мар '15 в 11:09
1 ответ

OCaml верхнего уровня с расширениями синтаксиса

Я не знаю, как сделать это в целом, но я попрошу об одном конкретном случае, в частности, для ясности: Sexplib выглядит интересно для меня. Я хочу поиграть с этим. Я скачал его, установил его очень хорошо (в любом случае, я вполне уверен) и т. Д. Я …
15 сен '11 в 22:52