The basic Prop language is the same as C++ with the following syntactic extensions:
Keywords Functions 1 datatype refine instantiate Algebraic datatype definitions 2 match matchall Pattern matching 3 rewrite Rewriting 4 lexeme Lexical category definition 5 matchscan Lexical scanning 6 syntax Parser specification 7 graphtype Graph data structure specification 8 graphrewrite Graph rewriting
Like C++, a Prop is typically divided into the specification,
which defines the data structure and its interface, and the
implementation parts. Prop specifications should
be placed in a file with a .ph
suffix, while an implementation
should be placed in a file with a .pC
1. The translator will convert each
.p
xxx into a file with the suffix .
xxx. The translated
output can then be fed to the C++ compiler for compilation.