Thanks for releasing this! I finally got around to trying it out briefly today, and had some questions about the architecture that is implemented.
I see #include of a core.p4 file in a few files, and softnpu.p4 in some others.
Are the struct fields named port specially recognized by the implementation when they are in structs named ingress_meta or egress_meta somehow? Or that are the 2nd parameter or 3rd parameter of the ingress or egress controls of the SoftNPU package?
I see an action defined as action drop() { } in some code examples, but it is empty. Is the action name drop somehow specially recognized by the compiler? What effects does invoking that action have, if so?
Are there any other architectures besides SoftNpu that x4c supports?