package menhir

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

Install

Dune Dependency

Authors

Maintainers

Sources

menhir-20180703.tar.gz
sha256=ab5f16632e81fb67844becde994dbdd6fd875b3a9c799a275af8083f4f2d9b9b
md5=d51c0a529f02baf414fb269a9d240077

Description

Published: 06 Jul 2018

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 build
  3. ocaml >= "4.02" & < "5.0"

Dev Dependencies

None

  1. absolute >= "0.2"
  2. acgtk >= "1.5.0" & < "1.5.3"
  3. aifad >= "2.3.0"
  4. alba < "0.4.3"
  5. alt-ergo >= "2.0.0" & < "2.3.0" | >= "2.4.0"
  6. alt-ergo-free < "2.3.3"
  7. alt-ergo-parsers
  8. alt-ergo-parsers-free
  9. anders < "0.7.1"
  10. archetype
  11. arrakis
  12. asli
  13. atd
  14. bamboo < "0.0.02"
  15. batsh < "0.0.5"
  16. binsec < "0.4.0"
  17. bnfgen < "3.1.0"
  18. caper
  19. caradoc
  20. cca < "0.6.2"
  21. ccss
  22. cfg < "2.1.0" | >= "2.3.0"
  23. charrua-core
  24. charrua-server
  25. coccinelle >= "1.0.8" & < "1.1.0"
  26. codept >= "0.10.3"
  27. coin < "0.1.4"
  28. combine >= "0.42"
  29. DrawGrammar
  30. dedukti
  31. dkml-dune-dsl-show
  32. doc-ock-xml
  33. dolmen < "0.6"
  34. drom_toml
  35. edn
  36. electrod
  37. electrumAnalyzer
  38. embedded_ocaml_templates < "0.8"
  39. encoding < "0.0.2"
  40. erlang
  41. FrontC >= "4.0.0"
  42. forester != "2.1" & < "3.0.0"
  43. frama-c-luncov >= "0.2.1"
  44. frenetic >= "5.0.0" & < "5.0.5"
  45. fstar >= "0.9.5.0"
  46. gadelac
  47. gdb
  48. gdbprofiler
  49. genet != "0.2"
  50. gobba
  51. graphql_parser >= "0.9.0"
  52. gufo
  53. heptagon >= "1.01.00"
  54. herdtools7 >= "7.55" & < "7.56.1"
  55. imaplet-lwt
  56. inferno >= "20220603"
  57. jasmin
  58. jingoo >= "1.3.1"
  59. js_of_ocaml >= "1.4.0" & < "3.0"
  60. js_of_ocaml-compiler >= "3.7.0"
  61. js_of_ocaml-webgpu < "0.2"
  62. js_of_ocaml-webidl
  63. karamel
  64. kdl
  65. kind2
  66. kremlin < "transition"
  67. labrys
  68. lambdapi < "2.0.0"
  69. lambdoc
  70. libabsolute
  71. libsail < "0.18"
  72. libzipperposition
  73. lilis
  74. links >= "0.9" & < "0.9.4"
  75. liquidsoap >= "1.4.0" & < "2.2.0"
  76. liquidsoap-lang
  77. logtk >= "1.5.1"
  78. lp
  79. lreplay >= "0.1.1"
  80. lsp < "1.8.0" | >= "1.11.3" & < "1.12.1"
  81. MlFront_Cli
  82. mazeppa < "0.4.1"
  83. mc2
  84. merlin < "2.0.0" | >= "3.5.0" & < "4.6-414" | >= "4.7-412" & < "4.7-414"
  85. merlin-lib < "4.8~5.1preview"
  86. mezzo
  87. minicaml
  88. minimal
  89. modelica_ml
  90. mopsa
  91. morbig < "0.11.0"
  92. msat = "0.8"
  93. mustache >= "3.0.0"
  94. nice_parser
  95. nunchaku
  96. obelisk < "0.7.0"
  97. obrowser
  98. obus >= "1.2.0"
  99. ocaml-lsp-server < "1.2.0"
  100. ocaml-r < "0.1.0"
  101. ocamlformat >= "0.17.0" & < "0.19.0~4.13preview"
  102. ocamlformat-rpc < "0.19.0"
  103. odate < "0.7"
  104. odds
  105. ollvm
  106. ollvm-tapir
  107. ometrics < "0.2.0"
  108. otoml
  109. ott >= "0.32"
  110. p4pp != "0.1.8"
  111. petr4
  112. phylogenetics
  113. ppx_pbt < "0.2.1"
  114. profound
  115. psmt2-frontend
  116. rdf >= "0.6.0" & < "0.12.0"
  117. reason >= "3.3.5"
  118. relit-reason
  119. rfsm
  120. runtime_events_tools >= "0.5.0"
  121. sail < "0.15"
  122. satex
  123. satyrographos >= "0.0.2.8" & < "0.0.2.13"
  124. sgf
  125. shapefile
  126. sibylfs
  127. sifun
  128. smbc < "0.4.2"
  129. smtlib-utils
  130. sociaml-vcard
  131. solidity-parser
  132. sqlgg
  133. squirrel
  134. stog-writing
  135. systemverilog
  136. talaria-bibtex
  137. tip-parser
  138. toml
  139. touist
  140. tptp >= "0.3.1"
  141. uuuu < "0.3.0"
  142. wcs-lib >= "2017-05-26.02"
  143. webidl != "1.2"
  144. why3 >= "1.0.0"
  145. why3-base >= "0.86.3"
  146. wikitext
  147. zanuda
  148. zelus
  149. zephyrus
  150. zipperposition >= "1.1"

Conflicts

None

OCaml

Innovation. Community. Security.