+ <EOF>
+}
+
+void Global_construct() :
+{}
+{
+ <HEAD>
+ <BEGIN>
+ <HAPPENS_BEFORE> <IDENTIFIER> "(" <IDENTIFIER> ")" "->" <IDENTIFIER>
+ <END>
+ <TAIL>
+}
+
+void C_CPP_CODE() :
+{}
+{
+ <(~["@", "#", "$"])+>
+}
+
+void Global_define() :
+{}
+{
+ <GLOBAL_DEFINE> C_CPP_CODE()
+}
+
+void Conditional_interface() :
+{}
+{
+ <IDENTIFIER> (<"(" <IDENTIFIER> ")"> | "")
+}
+
+void Interface_cluster() :
+{}
+{
+ <IDENTIFIER> "=" "{" Conditional_interface() (",," Conditional_interface())* "}"
+}
+
+void Interface_clusters() :
+{}
+{
+ <INTERFACE_CLUSTER> (Interface_cluster())+
+}
+
+void Happens_before() :
+{}
+{
+ <HEAD>
+ <BEGIN>
+ <HAPPENS_BEFORE> <IDENTIFIER> "(" <IDENTIFIER> ")" "->" <IDENTIFIER>
+ <END>
+ <TAIL>
+}
+
+void Interface() :
+{}
+{
+ <HEAD>
+ <BEGIN>
+ <HAPPENS_BEFORE> <IDENTIFIER> "(" <IDENTIFIER> ")" "->" <IDENTIFIER>
+ <END>
+ <TAIL>
+}
+
+void Potential_commit_point_define() :
+{}
+{
+ <HEAD>
+ <BEGIN>
+ <HAPPENS_BEFORE> <IDENTIFIER> "(" <IDENTIFIER> ")" "->" <IDENTIFIER>
+ <END>
+ <TAIL>
+}
+
+
+void Commit_point_define() :
+{}
+{
+ <HEAD>
+ <BEGIN>
+ <HAPPENS_BEFORE> <IDENTIFIER> "(" <IDENTIFIER> ")" "->" <IDENTIFIER>
+ <END>
+ <TAIL>
+}
+
+
+void Commit_point_define_check() :
+{}
+{
+ <HEAD>
+ <BEGIN>
+ <HAPPENS_BEFORE> <IDENTIFIER> "(" <IDENTIFIER> ")" "->" <IDENTIFIER>
+ <END>
+ <TAIL>