package menhir

  1. Overview
  2. Docs
LR(1) parser generator

Install

Dune Dependency

Authors

Maintainers

Sources

menhir-20170509.tar.gz
sha256=36a690856f972adaadcff0138380b563f92041aab9d5dcaf29da1c27c8326baa
md5=b8ba18b5abda831cf41cd4fa65f4c51b

Description

Published: 09 May 2017

README

README.md

This tool, menhir-generate-printers, reads a .cmly file and produces code for three functions, namely print_symbol, print_value, and print_token.

val print_symbol: MenhirInterpreter.xsymbol -> string

By default, print_symbol prints the internal name of a (terminal or nonterminal) symbol. This can however be changed by attaching a [@name] attribute with this symbol. The attribute payload should be an OCaml expression of type string.

val print_value: 'a MenhirInterpreter.symbol -> 'a -> string
val print_token: token -> string

By default, print_value and print_token ignore the semantic value and print just the name of the symbol, like print_symbol. This can however be changed by attaching a [@printer] attribute with this symbol. The attribute payload should be an OCaml expression of type _ -> string, where _ stands for an appropriate type of semantic values.

Dependencies (3)

  1. ocamlbuild build
  2. ocamlfind
  3. ocaml >= "4.02" & < "5.0"

Dev Dependencies

None

  1. acgtk >= "1.5.0" & < "1.5.3"
  2. alba < "0.4.3"
  3. alt-ergo >= "2.0.0" & < "2.3.0" | >= "2.4.0"
  4. alt-ergo-free < "2.3.3"
  5. alt-ergo-parsers
  6. alt-ergo-parsers-free
  7. anders < "0.7.1"
  8. archetype < "1.0.0" | >= "1.2.1" & < "1.2.5"
  9. asli
  10. atd < "2.3.3"
  11. bamboo < "0.0.02"
  12. batsh < "0.0.5"
  13. binsec < "0.4.0"
  14. caper
  15. caradoc
  16. cca < "0.6.2"
  17. ccss
  18. cfg < "2.1.0"
  19. charrua-core
  20. charrua-server < "1.4.0"
  21. coccinelle >= "1.0.7" & < "1.1.0"
  22. codept = "0.10.3"
  23. coin < "0.1.4"
  24. combine >= "0.42"
  25. DrawGrammar
  26. dedukti < "2.7"
  27. doc-ock-xml
  28. dolmen < "0.4"
  29. drom_toml
  30. edn < "0.2.0"
  31. electrod
  32. electrumAnalyzer
  33. embedded_ocaml_templates < "0.3.1"
  34. encoding < "0.0.2"
  35. erlang
  36. FrontC = "4.0.0"
  37. forester != "2.1" & < "3.0.0"
  38. frama-c-luncov >= "0.2.1"
  39. frenetic >= "5.0.0" & < "5.0.5"
  40. fstar >= "0.9.5.0"
  41. gadelac
  42. gdb
  43. gdbprofiler < "0.4"
  44. genet != "0.2"
  45. gobba
  46. gufo
  47. heptagon >= "1.01.00"
  48. imaplet-lwt
  49. inferno >= "20220603"
  50. jasmin
  51. js_of_ocaml >= "1.4.0" & < "3.0"
  52. js_of_ocaml-compiler >= "3.7.0"
  53. karamel
  54. kdl
  55. kind2 < "1.6.0"
  56. kremlin < "transition"
  57. labrys
  58. lambdapi < "2.0.0"
  59. lambdoc
  60. libzipperposition
  61. lilis
  62. links >= "0.9" & < "0.9.4"
  63. logtk >= "1.5.1"
  64. lp < "0.4.0"
  65. lsp < "1.8.0" | >= "1.11.3" & < "1.12.1"
  66. mc2
  67. merlin < "2.0.0" | >= "3.5.0" & < "4.6-414" | >= "4.7-412" & < "4.7-414"
  68. merlin-lib < "4.8~5.1preview"
  69. mezzo
  70. minicaml
  71. minimal
  72. modelica_ml
  73. morbig < "0.10.3"
  74. msat = "0.8"
  75. mustache >= "3.0.0" & < "3.1.0"
  76. nice_parser
  77. nunchaku
  78. obelisk < "0.7.0"
  79. obrowser
  80. ocaml-lsp-server < "1.2.0"
  81. ocaml-r < "0.1.0"
  82. odate < "0.7"
  83. odds
  84. ollvm
  85. ollvm-tapir
  86. ometrics < "0.2.0"
  87. otoml
  88. ott >= "0.32"
  89. p4pp < "0.1.8"
  90. petr4
  91. phylogenetics
  92. profound
  93. psmt2-frontend < "0.3.0"
  94. rdf >= "0.6.0" & < "0.12.0"
  95. reason = "1.13.7" | = "3.0.0" | >= "3.0.4" & < "3.3.5"
  96. relit-reason
  97. rfsm
  98. runtime_events_tools >= "0.5.0"
  99. sail < "0.15"
  100. sgf
  101. shapefile
  102. sibylfs
  103. smbc < "0.4.2"
  104. smtlib-utils < "0.4"
  105. sociaml-vcard
  106. solidity-parser
  107. sqlgg < "20231201"
  108. stog-writing
  109. systemverilog
  110. tip-parser
  111. toml < "7.1.0"
  112. touist
  113. tptp >= "0.3.1"
  114. uuuu < "0.3.0"
  115. wcs-lib >= "2017-05-26.02"
  116. webidl < "1.2"
  117. why3 >= "1.0.0"
  118. why3-base >= "0.86.3"
  119. wikitext
  120. zanuda
  121. zephyrus
  122. zipperposition >= "1.1"

Conflicts

None

OCaml

Innovation. Community. Security.