verified-network-toolchain / petr4

Petr4: Formal Semantics for P4
Apache License 2.0
74 stars 20 forks source link

P4cub2.0 #360

Closed rudynicolop closed 1 year ago

rudynicolop commented 1 year ago

p4cub now used de Bruijn indices for type and term variables!

P4cub Changes

C-Compiler Changes

P4cub Compiler Changes

GCL Changes

Testing

In a future pull-request p4cub will need to support function calls in control declarations. Until then some gcl tests will fail and have been sequestered in examples/failing_compiler_tests.

jnfoster commented 1 year ago

Amazing!!! Congrats on landing this.

hackedy commented 1 year ago

Can we merge this soon?

rudynicolop commented 1 year ago

I'm having trouble building with the right versions of dependencies. I updated to coq 8.15.2 on my machine but when I try to build in poulet4_Ccomp I get:

Compiled library Poulet4.P4light.Transformations.SimplExpr (in file /Users/rudypeterson/.opam/coq-8.15/lib/coq/user-contrib/Poulet4/P4light/Transformations/SimplExpr.vo) makes inconsistent assumptions over library Coq.Init.Ltac
rudynicolop commented 1 year ago

I'm having trouble building with the right versions of dependencies. I updated to coq 8.15.2 on my machine but when I try to build in poulet4_Ccomp I get:

Compiled library Poulet4.P4light.Transformations.SimplExpr (in file /Users/rudypeterson/.opam/coq-8.15/lib/coq/user-contrib/Poulet4/P4light/Transformations/SimplExpr.vo) makes inconsistent assumptions over library Coq.Init.Ltac

I think I've fixed it...

hackedy commented 1 year ago

Looks like the build failures now are just compiler tests which @ericthewry said it's OK to have fail

ericthewry commented 1 year ago

yes! Should we move them into a "failing tests" directory that's not run in CI?

rudynicolop commented 1 year ago

I moved all of the failing tests into petr4/examples/compiler_tests/failing but the script tries to run the failing directory. I'm not sure exactly how to adjust the Github actions to ignore that directory.

rudynicolop commented 1 year ago

I moved all of the failing tests into petr4/examples/compiler_tests/failing but the script tries to run the failing directory. I'm not sure exactly how to adjust the Github actions to ignore that directory.

Fixed.

rudynicolop commented 1 year ago

It seems all branches are suffering in the Github actions trying to install core_unix.

zachary-kent commented 1 year ago

It seems like running opam install with the --no-checksums switch may fix the issue

rudynicolop commented 1 year ago

Thanks! I think it's ready to merge!

rudynicolop commented 1 year ago

Rebased after the constant inlining update and ready to merge!

hackedy commented 1 year ago

Rebased after the constant inlining update and ready to merge!

Please, do the honors🫡🚢⚓️

jnfoster commented 1 year ago

🛬 this!