You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucy.apache.org by ma...@apache.org on 2011/10/19 21:53:24 UTC
[lucy-commits] svn commit: r1186433 -
/incubator/lucy/branches/clownfish_lemon/clownfish/src/CFCParseHeader.y
Author: marvin
Date: Wed Oct 19 19:53:24 2011
New Revision: 1186433
URL: http://svn.apache.org/viewvc?rev=1186433&view=rev
Log:
Refactor variable parsing code to use common routine.
Modified:
incubator/lucy/branches/clownfish_lemon/clownfish/src/CFCParseHeader.y
Modified: incubator/lucy/branches/clownfish_lemon/clownfish/src/CFCParseHeader.y
URL: http://svn.apache.org/viewvc/incubator/lucy/branches/clownfish_lemon/clownfish/src/CFCParseHeader.y?rev=1186433&r1=1186432&r2=1186433&view=diff
==============================================================================
--- incubator/lucy/branches/clownfish_lemon/clownfish/src/CFCParseHeader.y (original)
+++ incubator/lucy/branches/clownfish_lemon/clownfish/src/CFCParseHeader.y Wed Oct 19 19:53:24 2011
@@ -51,6 +51,16 @@ static const char KW_FLOAT[] = "float
static const char KW_DOUBLE[] = "double";
static CFCBase*
+S_new_var(CFCParser *state, const char *exposure, const char *modifiers,
+ CFCBase *type, const char *name) {
+ (void)modifiers; /* Discard INERT for now. */
+ return (CFCBase*)CFCVariable_new(CFCParser_get_parcel(), exposure,
+ CFCParser_get_class_name(state),
+ CFCParser_get_class_cnick(state), name,
+ (CFCType*)type);
+}
+
+static CFCBase*
S_new_sub(CFCParser *state, CFCBase *docucomment,
const char *exposure, const char *declaration_modifier_list,
CFCBase *type, const char *name, CFCBase *param_list) {
@@ -131,36 +141,29 @@ parcel_definition(A) ::= exposure_specif
CFCParser_set_parcel((CFCParcel*)A);
}
-
-var_declaration_statement(A) ::= type(B) declarator(C) SEMICOLON.
+var_declaration_statement(A) ::=
+ type(D) declarator(E) SEMICOLON.
{
- A = (CFCBase*)CFCVariable_new(CFCParser_get_parcel(), "parcel",
- CFCParser_get_class_name(state),
- CFCParser_get_class_cnick(state), C,
- (CFCType*)B);
+ A = S_new_var(state, "parcel", NULL, D, E);
}
-var_declaration_statement(A) ::= exposure_specifier(B) type(C) declarator(D) SEMICOLON.
+var_declaration_statement(A) ::=
+ exposure_specifier(B)
+ type(D) declarator(E) SEMICOLON.
{
- A = (CFCBase*)CFCVariable_new(CFCParser_get_parcel(), B,
- CFCParser_get_class_name(state),
- CFCParser_get_class_cnick(state), D,
- (CFCType*)C);
+ A = S_new_var(state, B, NULL, D, E);
}
-
-/* Discard INERT for now. */
-var_declaration_statement(A) ::= declaration_modifier_list type(B) declarator(C) SEMICOLON.
+var_declaration_statement(A) ::=
+ declaration_modifier_list(C)
+ type(D) declarator(E) SEMICOLON.
{
- A = (CFCBase*)CFCVariable_new(CFCParser_get_parcel(), "parcel",
- CFCParser_get_class_name(state),
- CFCParser_get_class_cnick(state), C,
- (CFCType*)B);
+ A = S_new_var(state, "parcel", C, D, E);
}
-var_declaration_statement(A) ::= exposure_specifier(B) declaration_modifier_list type(C) declarator(D) SEMICOLON.
+var_declaration_statement(A) ::=
+ exposure_specifier(B)
+ declaration_modifier_list(C)
+ type(D) declarator(E) SEMICOLON.
{
- A = (CFCBase*)CFCVariable_new(CFCParser_get_parcel(), B,
- CFCParser_get_class_name(state),
- CFCParser_get_class_cnick(state), D,
- (CFCType*)C);
+ A = S_new_var(state, B, C, D, E);
}
subroutine_declaration_statement(A) ::=