From 541ee814ad10bc181abd4d8825397249c6f86ad7 Mon Sep 17 00:00:00 2001 From: Peizhao Ou Date: Wed, 4 Dec 2013 21:53:03 -0800 Subject: [PATCH] more --- grammer/spec_compiler.jj | 48 +++++++++++++++---- .../codeGenerator/CodeVariables.java | 2 +- .../codeGenerator/Environment.java | 7 ++- .../specExtraction/FunctionHeader.java | 7 ++- .../InterfaceDefineConstruct.java | 1 - 5 files changed, 51 insertions(+), 14 deletions(-) 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(); }