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.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
  7. alt-ergo-parsers
  8. archetype
  9. arrakis
  10. asli
  11. atd
  12. bnfgen < "3.1.0"
  13. caper
  14. cca < "0.6.2"
  15. cfg >= "2.3.0"
  16. charrua-core
  17. charrua-server
  18. coccinelle < "1.1.0"
  19. codept < "0.12.1"
  20. codept-lib
  21. coin < "0.1.4"
  22. dedukti
  23. diffast-core
  24. diffast-langs-cpp-parsing
  25. diffast-langs-fortran-parsing
  26. diffast-langs-java-parsing
  27. diffast-langs-python-parsing
  28. diffast-langs-verilog-parsing
  29. dkml-dune-dsl-show
  30. dolmen < "0.6"
  31. drom_toml
  32. dune >= "3.17.0"
  33. edn
  34. electrod
  35. electrumAnalyzer
  36. embedded_ocaml_templates < "0.8"
  37. encoding < "0.0.2"
  38. erlang
  39. FrontC >= "4.0.0"
  40. forester != "2.1" & < "3.0.0"
  41. frama-c >= "27.0~beta"
  42. frama-c-luncov >= "0.2.1"
  43. fstar < "2025.02.17"
  44. gadelac
  45. gdbprofiler
  46. gobba
  47. gospel
  48. graphql_parser >= "0.9.0"
  49. gufo
  50. heptagon
  51. herdtools7 >= "7.55" & < "7.56.1"
  52. inferno >= "20220603"
  53. jasmin
  54. jingoo >= "1.3.1"
  55. js_of_ocaml-compiler >= "3.7.1"
  56. js_of_ocaml-webgpu < "0.2"
  57. js_of_ocaml-webidl
  58. karamel
  59. kdl
  60. kind2
  61. kremlin < "transition"
  62. labrys
  63. libabsolute
  64. libsail < "0.18"
  65. libzipperposition
  66. links < "0.9.4"
  67. liquidsoap < "2.2.0"
  68. liquidsoap-lang < "2.3.0"
  69. logtk
  70. lp
  71. lreplay >= "0.1.1"
  72. lsp < "1.8.0"
  73. MlFront_Cli
  74. mazeppa
  75. mc2
  76. merlin >= "3.5.0" & != "4.6-414" & < "4.7-414"
  77. merlin-lib < "4.8~5.1preview"
  78. minicaml
  79. minimal
  80. mopsa
  81. morbig < "0.11.0"
  82. msat = "0.8"
  83. mustache >= "3.1.0"
  84. nice_parser
  85. obelisk < "0.7.0"
  86. obus >= "1.2.0"
  87. ocaml-lsp-server < "1.2.0"
  88. ocamlformat >= "0.14.0" & < "0.19.0"
  89. ocamlformat-rpc < "0.19.0"
  90. odate < "0.7"
  91. odds
  92. ollvm
  93. ollvm-tapir
  94. ometrics < "0.2.0"
  95. otoml
  96. ott >= "0.32"
  97. p4pp != "0.1.8"
  98. petr4
  99. phylogenetics
  100. ppx_pbt < "0.2.1"
  101. psmt2-frontend
  102. rdf < "0.12.0"
  103. reason
  104. rfsm
  105. runtime_events_tools >= "0.5.0"
  106. sail < "0.15"
  107. satex
  108. satyrographos >= "0.0.2.8"
  109. sgf
  110. shapefile
  111. sifun
  112. smtlib-utils
  113. solidity-parser
  114. sqlgg
  115. squirrel
  116. stog-writing
  117. systemverilog
  118. talaria-bibtex
  119. tip-parser
  120. toml
  121. touist
  122. tptp
  123. uuuu < "0.3.0"
  124. wasm_of_ocaml-compiler
  125. wcs-lib >= "2017-05-26.02"
  126. webidl != "1.2"
  127. why3 < "1.8.0"
  128. wikitext
  129. zanuda
  130. zelus
  131. zipperposition

Conflicts

None

OCaml

Innovation. Community. Security.