Skip to content

xclerc/petr4

 
 

Repository files navigation

Welcome to Petr4

The Petr4 project is developing the formal semantics of the P4 Language backed by an independent reference implementation.

Getting Started

Installing Petr4

  1. Install OPAM.

    sudo apt-get install opam
    opam init
    eval `opam env`
    
  2. Install external dependencies:

    sudo apt-get install m4 libgmp-dev
    

Installing from OPAM

  1. Install petr4 from the opam repository. This will take a while the first time because it installs OPAM dependencies.
    opam install petr4
    

Installing from source

  1. Check the installed version of OCaml:

    ocamlc -v
    

    If the version is less than 4.08.0, upgrade:

    opam switch 4.08.0
    
  2. Use OPAM to build and install Petr4. This will take a while the first time because it installs OPAM dependencies.

    opam pin add petr4 <path to root of petr4 repo>
    

Running Petr4

Currently petr4 is merely a P4 front-end. By default, it will parse a source program to an abstract syntax tree and print it out, either as P4 or encoded into JSON.

Run petr4 -help to see the list of currently-supported options.

Contributing

Petr4 is an open-source project. We encourage contributions! Please file issues on Github.

Credits

See the list of contributors.

License

Petr4 is released under the Apache2 License.

About

Petr4: Formal Semantics for P4

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • OCaml 99.8%
  • Makefile 0.2%