package ppx_bap

Not available on OCaml 5.5
  1. Overview
  2. Docs
The set of ppx rewriters for BAP

Install

dune-project
 Dependency

Authors

Maintainers

Sources

v0.14.tar.gz
sha256=b549ed28fb058e53f3fae0ae0f6a0279f0e4b21ad83705a468e730f8c2e47ade
md5=cf2ae08b613776661094b9dccdf5e796

Description

ppx_bap is the set of blessed ppx rewriters used in BAP projects. It fills the same role as ppx_base or ppx_jane (from which it is derived), but doesn't impose any style requirements and has only the minimal necessary set of rewriters.

Added to opam-repository:

README

The set of ppx rewriters for BAP

Provides a BAP-specific ppx rewriter that includes only the blessed set of rewriters that are needed to build and use bap projects. In the future, we may even add our own more specialized rewriters. This package is used by BAP and by BAP plugins via the bapbuild tool.

Adding a new rewriter

The way how ppx rewriters work, unfortuntely, precludes us from adding a new rewriter to a downstream package, e.g., by adding a new dependency directly to the build configuration of a plugin that needs an extra rewriter. Therefore, if a new rewriter is need it has to go through the blessing process and get included into this package. This might change in the future, if we will switch to the dune build system that has a mechanism to build a preprocessor from the specified set of rewriters during the build (essentially this package). Until this, the pull requests are welcome. Just go to the src/dune file and add the needed rewriter into the library stanza.

Legacy

This project is a mere copy of the ppx_jane/ppx_base projects with the set of rewriters amended to our needs. E.g., we exclude the js_style rewriter that is not compatible with the code generated by ocamlfind or piqi. We also excluded some other rewriters that we are not using, to speed up the build process and make our code base more reliable.

Dependencies (17)

  1. ppxlib >= "0.15.0"
  2. dune >= "2.0.0"
  3. ppx_variants_conv >= "v0.14" & < "v0.15"
  4. ppx_sexp_value >= "v0.14" & < "v0.15"
  5. ppx_sexp_conv >= "v0.14" & < "v0.15"
  6. ppx_optcomp >= "v0.14" & < "v0.15"
  7. ppx_here >= "v0.14" & < "v0.15"
  8. ppx_hash >= "v0.14" & < "v0.15"
  9. ppx_fields_conv >= "v0.14" & < "v0.15"
  10. ppx_enumerate >= "v0.14" & < "v0.15"
  11. ppx_compare >= "v0.14" & < "v0.15"
  12. ppx_cold >= "v0.14" & < "v0.15"
  13. ppx_bin_prot >= "v0.14" & < "v0.15"
  14. ppx_bench >= "v0.14" & < "v0.15"
  15. ppx_assert >= "v0.14" & < "v0.15"
  16. base_quickcheck >= "v0.14" & < "v0.15"
  17. ocaml >= "4.08.0"

Dev Dependencies

None

Optional Dependencies

None

Used by (63)

  1. bap-abi
  2. bap-analyze
  3. bap-api
  4. bap-arm
  5. bap-beagle
  6. bap-beagle-strings
  7. bap-bil
  8. bap-build
  9. bap-bundle
  10. bap-byteweight
  11. bap-byteweight-frontend
  12. bap-c
  13. bap-cache
  14. bap-callgraph-collator
  15. bap-core-theory
  16. bap-dependencies
  17. bap-disassemble
  18. bap-dump-symbols
  19. bap-dwarf
  20. bap-elf
  21. bap-frontend
  22. bap-ghidra
  23. bap-ida
  24. bap-ida-plugin
  25. bap-knowledge
  26. bap-llvm
  27. bap-mc
  28. bap-microx
  29. bap-mips
  30. bap-objdump
  31. bap-optimization
  32. bap-patterns
  33. bap-phoenix
  34. bap-plugins
  35. bap-powerpc
  36. bap-primus
  37. bap-primus-lisp
  38. bap-primus-loader
  39. bap-primus-print
  40. bap-primus-propagate-taint
  41. bap-primus-random
  42. bap-primus-symbolic-executor
  43. bap-print
  44. bap-radare2
  45. bap-raw
  46. bap-relocatable
  47. bap-riscv
  48. bap-std
  49. bap-strings
  50. bap-stub-resolver
  51. bap-symbol-reader
  52. bap-systemz
  53. bap-taint
  54. bap-term-mapper
  55. bap-thumb
  56. bap-trace
  57. bap-traces
  58. bap-x86
  59. bitvec-binprot
  60. graphlib
  61. monads
  62. ogre
  63. regular

Conflicts

None

Build status

Results of building ppx_bap with each compiler on check.ci.ocaml.org, run of against opam-repository 8a77e58. All results for this package.

Each result links to its build log. To keep crawlers from overloading the site, build logs require a GitHub sign-in (see ocurrent/opam-health-check). On your first log, GitHub asks you to “Authorize opam-health-check”, the OCurrent app that runs these checks; it sees only your public profile, not your repositories. The sign-in lasts 30 days.

Version OCaml 4.11 OCaml 4.14 OCaml 5.2 OCaml 5.4 OCaml 5.5
v0.14.0 (this version) good good n/a n/a n/a
  • good Package successfully built
  • partial One of the dependencies failed to build
  • bad Package failed to build
  • n/a Package is not available in this environment
  • internal Internal failure