package menhir

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

Install

Dune Dependency

Authors

Maintainers

Sources

menhir-20181006.tar.gz
sha256=b2ce5cce413a8ff4907c8c39ac7e71d04ffccbec416547770d5b38e9d6996492
md5=d2174b0d4bd8feb66a7484be6f1eed14

Description

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

Conflicts

None

OCaml

Innovation. Community. Security.