package menhir

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

Install

Dune Dependency

Authors

Maintainers

Sources

menhir-20180528.tar.gz
sha256=6fb761b4da83698a3e9958f06a511f7ca7ffa4e3b4db0173124a444a88435802
md5=55dc9651a95f582b3534c438353809a2

Description

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

Conflicts

None

OCaml

Innovation. Community. Security.