package menhir

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

Install

Dune Dependency

Authors

Maintainers

Sources

menhir-20171222.tar.gz
sha256=3958ef6d317548c7776a25a13a48855fc1972d660c211ebec7e797b5bec0f47e
md5=6bbea6ad7b390904c9ce6d3e11d73438

Description

Published: 22 Dec 2017

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

Dev Dependencies

None

Used by (93)

  1. acgtk < "1.5.3"
  2. alba < "0.4.3"
  3. alt-ergo >= "2.0.0" & < "2.3.0" | >= "2.4.0"
  4. alt-ergo-free
  5. alt-ergo-parsers
  6. archetype < "1.0.0" | >= "1.2.1" & < "1.2.5"
  7. asli
  8. atd < "2.3.3"
  9. caper
  10. cca < "0.6.2"
  11. charrua-core
  12. charrua-server < "1.4.0"
  13. coccinelle < "1.1.0"
  14. codept < "0.11.0"
  15. coin < "0.1.4"
  16. dedukti < "2.7"
  17. diffast-core
  18. dolmen < "0.4"
  19. drom_toml
  20. dune >= "3.17.0"
  21. edn < "0.2.0"
  22. electrod
  23. electrumAnalyzer
  24. embedded_ocaml_templates < "0.3.1"
  25. encoding < "0.0.2"
  26. erlang
  27. FrontC = "4.0.0"
  28. forester != "2.1" & < "3.0.0"
  29. frama-c-luncov >= "0.2.1"
  30. fstar < "2025.02.17"
  31. gadelac
  32. gdbprofiler < "0.4"
  33. gobba >= "0.4.2"
  34. gufo
  35. heptagon
  36. inferno >= "20220603"
  37. jasmin
  38. js_of_ocaml-compiler >= "3.7.1"
  39. karamel
  40. kdl
  41. kind2 < "1.6.0"
  42. kremlin < "transition"
  43. labrys
  44. libzipperposition
  45. links < "0.9.4"
  46. logtk
  47. lp < "0.4.0"
  48. lsp < "1.8.0"
  49. mazeppa < "0.4.1"
  50. mc2
  51. merlin >= "3.5.0" & != "4.6-414" & < "4.7-414"
  52. merlin-lib < "4.8~5.1preview"
  53. minicaml < "0.3.3"
  54. minimal
  55. morbig < "0.10.3"
  56. msat = "0.8"
  57. nice_parser
  58. obelisk < "0.7.0"
  59. ocaml-lsp-server < "1.2.0"
  60. odate < "0.7"
  61. odds
  62. ollvm
  63. ollvm-tapir
  64. ometrics < "0.2.0"
  65. otoml
  66. ott >= "0.32"
  67. p4pp < "0.1.8"
  68. petr4
  69. phylogenetics
  70. psmt2-frontend < "0.3.0"
  71. rdf < "0.12.0"
  72. rfsm
  73. runtime_events_tools >= "0.5.0"
  74. sail < "0.15"
  75. sgf
  76. shapefile
  77. smtlib-utils < "0.4"
  78. solidity-parser
  79. sqlgg < "20231201"
  80. stog-writing
  81. systemverilog
  82. tip-parser
  83. toml < "7.1.0"
  84. touist
  85. tptp
  86. uuuu < "0.3.0"
  87. wasm_of_ocaml-compiler
  88. wcs-lib >= "2017-05-26.02"
  89. webidl != "1.2"
  90. why3 < "1.8.0"
  91. wikitext
  92. zanuda
  93. zipperposition

Conflicts

None

OCaml

Innovation. Community. Security.