ligo/vendors/Preprocessor
Alexander Bantyev edb3fce642 Add nix as a build system
* Dynamically linked executables (ligo-bin)
* Statically linked executables (ligo-static)
* Docker (ligo-docker)
* deb package (ligo-deb)
* webide (ligo-editor)
* webide docker (ligo-editor-docker)
* website (ligo-website)
2020-04-29 19:40:04 +01:00
..
2020-04-29 19:40:04 +01:00

A preprocessor a la C# in OCaml

The following preprocessing directives are supported

  • #define
  • #elif
  • #else
  • #endif
  • #endregion
  • #error
  • #if
  • #include
  • #region
  • #undef

Note: Because it is meant for LIGO, there is no error raised for invalid preprocessing directives, as the symbol # is valid in PascaLIGO (cons operator for lists). Also, the preprocessor may report an error on some weird but valid PascaLIGO contracts, like

const include : list (int) = list [1] const l : list (int) = 0

include