Bitbucket is a code hosting site with unlimited public and private repositories. We're also free for small teams!

Close

About

This program and library pretty-prints the abstract syntax tree (AST) of an OCaml program as XML.

Example

$ cat let.ml
let x = 7 in x + 3;;

$ xml_of_ocaml let.ml | <xml_pretty_printer>
<StExp>
  <ExLet>
    <BiEq>
      <PaId>
        <IdLid>
          <Builtin><String>x</String></Builtin>
        </IdLid>
      </PaId>
      <ExInt>
        <Builtin><Integer>7</Integer></Builtin>
      </ExInt>
    </BiEq>
    <ExApp>
      <ExApp>
        <ExId>
          <IdLid>
            <Builtin><String>+</String></Builtin>
          </IdLid>
        </ExId>
        <ExId>
          <IdLid>
            <Builtin><String>x</String></Builtin>
          </IdLid>
        </ExId>
      </ExApp>
      <ExInt>
        <Builtin><Integer>3</Integer></Builtin>
      </ExInt>
    </ExApp>
  </ExLet>
</StExp>

Contributing

This project is available on GitHub and Bitbucket. You may contribute changes using either.

Please report bugs and feature requests using the GitHub issue tracker.

Recent activity

Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.