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

Conflicts

None

OCaml

Innovation. Community. Security.