From: Peizhao Ou Date: Thu, 5 Dec 2013 05:53:03 +0000 (-0800) Subject: more X-Git-Url: http://plrg.eecs.uci.edu/git/?p=cdsspec-compiler.git;a=commitdiff_plain;h=541ee814ad10bc181abd4d8825397249c6f86ad7;hp=0a6651b877d4303c94fb0a2a9c5632acbd574f32 more --- diff --git a/grammer/spec_compiler.jj b/grammer/spec_compiler.jj index 24accc9..cbe2e28 100644 --- a/grammer/spec_compiler.jj +++ b/grammer/spec_compiler.jj @@ -30,7 +30,7 @@ b) Interface construct @Begin - @Interface: ... + @Interface_decl: ... @Commit_point_set: IDENTIFIER | IDENTIFIER ... @Condition: ... (Optional) @@ -75,6 +75,25 @@ @Begin @Interface_define: @End + + g) Interface declare & define construct + @Begin + @Interface_decl_define: + @Commit_point_set: + IDENTIFIER | IDENTIFIER ... + @Condition: ... (Optional) + @HB_Condition: + IDENTIFIER :: + @HB_Condition: ... + @ID: ... (Optional, use default ID) + @Check: (Optional) + ... + @Action: (Optional) + ... + @Post_action: (Optional) + @Post_check: (Optional) + @End + */ @@ -564,11 +583,13 @@ String ParameterizedName() : FunctionHeader FuncDecl() : { + ArrayList templateList; String ret; QualifiedName funcName; ArrayList args; } { +aa ( | )* ret = Type() funcName = ParseQualifiedName() @@ -596,22 +617,31 @@ QualifiedName ParseQualifiedName() : } } -ArrayList TemplateParamList() : +ArrayList TemplateParamList() : { - ArrayList params; - String str; + ArrayList params; + String type; + String name; } { { - params = new ArrayList(); + params = new ArrayList(); }