int declMode = 2;
+int structDeclMode = 2;
+
void SetDeclMode(int accessMode)
{
-declMode = accessMode;
+structDeclMode = declMode = accessMode;
}
int defaultDeclMode = 2;
struct Specifier * spec = (spec = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Specifier), spec->type = type, spec->id = id, spec);
if(id && FindType(curContext, id->string))
-declMode = 0;
+structDeclMode = 0;
spec->definitions = definitions;
-if(definitions && id && !declMode)
+if(definitions && id && structDeclMode == 0)
{
struct __ecereNameSpace__ecere__sys__OldList specs =
{
for(spec = (*function->specifiers).first; spec; spec = spec->next)
if(spec->type == 0 && spec->specifier == STATIC)
{
-declMode = 3;
+structDeclMode = declMode = 3;
break;
}
}
for(spec = (*declaration->specifiers).first; spec; spec = spec->next)
if(spec->type == 0 && spec->specifier == TYPEDEF)
{
-declMode = 0;
+structDeclMode = declMode = 0;
break;
}
else if(spec->type == 0 && spec->specifier == STATIC)
{
-declMode = 3;
+structDeclMode = declMode = 3;
break;
}
}
extern struct Specifier * MkSpecifier(int specifier);
+extern int structDeclMode;
+
extern int declMode;
extern struct Enumerator * MkEnumerator(struct Identifier * id, struct Expression * exp);
extern struct Declaration * MkDeclaration(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct __ecereNameSpace__ecere__sys__OldList * initDeclarators);
+extern int defaultDeclMode;
+
extern struct Declaration * MkDeclarationInst(struct Instantiation * inst);
extern struct Declaration * MkDeclarationDefine(struct Identifier * id, struct Expression * exp);
extern struct External * MkExternalFunction(struct FunctionDefinition * function);
-extern int defaultDeclMode;
-
extern struct External * MkExternalClass(struct ClassDefinition * _class);
extern struct External * MkExternalDeclaration(struct Declaration * declaration);
case 623:
{
yyval.specifier = MkSpecifier(TYPEDEF);
-declMode = 0;
+structDeclMode = declMode = 0;
;
}
break;
case 625:
{
yyval.specifier = MkSpecifier(STATIC);
-declMode = 3;
+structDeclMode = declMode = 3;
;
}
break;
break;
case 1156:
{
-yyval.declMode = declMode = 1;
+yyval.declMode = structDeclMode = declMode = 1;
;
}
break;
case 1157:
{
-yyval.declMode = declMode = 2;
+yyval.declMode = structDeclMode = declMode = 2;
;
}
break;
case 1158:
{
-yyval.declMode = declMode = 0;
+yyval.declMode = structDeclMode = declMode = 0;
;
}
break;
{
yyval.declaration = MkDeclaration(yyvsp[(1) - (2)].list, (((void *)0)));
yyval.declaration->loc = (yyloc);
+structDeclMode = defaultDeclMode;
;
}
break;
{
yyval.declaration = MkDeclaration(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].list);
yyval.declaration->loc = (yyloc);
+structDeclMode = defaultDeclMode;
;
}
break;
{
yyval.declaration = MkDeclarationInst(yyvsp[(1) - (2)].instance);
yyval.declaration->loc = (yyloc);
+structDeclMode = defaultDeclMode;
;
}
break;
case 1164:
{
yyval.declaration = yyvsp[(1) - (2)].declaration;
+structDeclMode = defaultDeclMode;
;
}
break;
break;
case 1170:
{
-declMode = 3;
+structDeclMode = declMode = 3;
yyval.declaration = MkDeclarationDefine(yyvsp[(3) - (6)].id, yyvsp[(5) - (6)].exp);
yyval.declaration->loc = (yyloc);
;
{
yyval.declaration = MkDeclaration(yyvsp[(1) - (2)].list, (((void *)0)));
yyval.declaration->loc = (yyloc);
+structDeclMode = defaultDeclMode;
;
}
break;
case 1173:
{
+structDeclMode = defaultDeclMode;
;
}
break;
{
yyval.declaration = MkDeclarationInst(yyvsp[(1) - (2)].instance);
yyval.declaration->loc = (yyloc);
+structDeclMode = defaultDeclMode;
;
}
break;
{
yyval.declaration = MkDeclarationInst(yyvsp[(1) - (2)].instance);
yyval.declaration->loc = (yyloc);
+structDeclMode = defaultDeclMode;
;
}
break;
{
yyval.declaration = MkDeclaration(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].list);
yyval.declaration->loc = (yyloc);
+structDeclMode = defaultDeclMode;
;
}
break;
yyval.external = MkExternalFunction(yyvsp[(1) - (1)].function);
yyval.external->loc = (yyloc);
yyvsp[(1) - (1)].function->declMode = declMode;
-declMode = defaultDeclMode;
+structDeclMode = declMode = defaultDeclMode;
;
}
break;
yyval.external = MkExternalClass(yyvsp[(1) - (1)]._class);
yyval.external->loc = (yyloc);
yyvsp[(1) - (1)]._class->declMode = (declMode != 0) ? declMode : 2;
-declMode = defaultDeclMode;
+structDeclMode = declMode = defaultDeclMode;
;
}
break;
yyval.external = MkExternalClass(yyvsp[(2) - (2)]._class);
yyval.external->loc = (yyloc);
yyvsp[(2) - (2)]._class->declMode = (declMode != 0) ? declMode : 2;
-declMode = defaultDeclMode;
+structDeclMode = declMode = defaultDeclMode;
FreeList(yyvsp[(1) - (2)].list, FreeSpecifier);
;
}
yyval.external = MkExternalDeclaration(yyvsp[(1) - (1)].declaration);
yyval.external->loc = (yyloc);
yyvsp[(1) - (1)].declaration->declMode = declMode;
-declMode = defaultDeclMode;
+structDeclMode = declMode = defaultDeclMode;
;
}
break;
yyval.external = MkExternalFunction(yyvsp[(2) - (2)].function);
yyval.external->loc = (yyloc);
yyvsp[(2) - (2)].function->declMode = yyvsp[(1) - (2)].declMode;
-declMode = defaultDeclMode;
+structDeclMode = declMode = defaultDeclMode;
;
}
break;
yyval.external = MkExternalClass(yyvsp[(2) - (2)]._class);
yyval.external->loc = (yyloc);
yyvsp[(2) - (2)]._class->declMode = (yyvsp[(1) - (2)].declMode != 0) ? yyvsp[(1) - (2)].declMode : 2;
-declMode = defaultDeclMode;
+structDeclMode = declMode = defaultDeclMode;
;
}
break;
yyval.external = MkExternalDeclaration(yyvsp[(2) - (2)].declaration);
yyval.external->loc = (yyloc);
yyvsp[(2) - (2)].declaration->declMode = yyvsp[(1) - (2)].declMode;
-declMode = defaultDeclMode;
+structDeclMode = declMode = defaultDeclMode;
;
}
break;
{
yyval.external = MkExternalImport(yyvsp[(3) - (3)].string, 0, (yyvsp[(1) - (3)].declMode != 0) ? yyvsp[(1) - (3)].declMode : 2);
yyval.external->loc = (yyloc);
-declMode = defaultDeclMode;
+structDeclMode = declMode = defaultDeclMode;
;
}
break;
{
yyval.external = MkExternalImport(yyvsp[(4) - (4)].string, 1, (yyvsp[(1) - (4)].declMode != 0) ? yyvsp[(1) - (4)].declMode : 2);
yyval.external->loc = (yyloc);
-declMode = defaultDeclMode;
+structDeclMode = declMode = defaultDeclMode;
;
}
break;
yyval.external = MkExternalImport(yyvsp[(4) - (4)].string, isRemote ? 2 : 0, (yyvsp[(1) - (4)].declMode != 0) ? yyvsp[(1) - (4)].declMode : 2);
yyval.external->loc = (yyloc);
FreeIdentifier(yyvsp[(3) - (4)].id);
-declMode = defaultDeclMode;
+structDeclMode = declMode = defaultDeclMode;
if(!isRemote)
yyerror();
;
yyval.external = MkExternalDBTable(yyvsp[(1) - (1)].dbtableDef);
yyval.external->loc = (yyloc);
yyvsp[(1) - (1)].dbtableDef->declMode = (declMode != 0) ? declMode : 2;
-declMode = defaultDeclMode;
+structDeclMode = declMode = defaultDeclMode;
;
}
break;
yyval.external = MkExternalDBTable(yyvsp[(2) - (2)].dbtableDef);
yyval.external->loc = (yyloc);
yyvsp[(2) - (2)].dbtableDef->declMode = (yyvsp[(1) - (2)].declMode != 0) ? declMode : 2;
-declMode = defaultDeclMode;
+structDeclMode = declMode = defaultDeclMode;
;
}
break;
yyval.external = MkExternalClass(yyvsp[(1) - (1)]._class);
yyval.external->loc = yyvsp[(1) - (1)]._class->loc;
yyvsp[(1) - (1)]._class->declMode = (declMode != 0) ? declMode : 2;
-declMode = defaultDeclMode;
+structDeclMode = declMode = defaultDeclMode;
;
}
break;
yyval.external = MkExternalClass(yyvsp[(2) - (2)]._class);
yyval.external->loc = yyvsp[(2) - (2)]._class->loc;
yyvsp[(2) - (2)]._class->declMode = (declMode != 0) ? declMode : 2;
-declMode = defaultDeclMode;
+structDeclMode = declMode = defaultDeclMode;
;
}
break;
yyval.external = MkExternalFunction(yyvsp[(1) - (1)].function);
yyval.external->loc = yyvsp[(1) - (1)].function->loc;
yyvsp[(1) - (1)].function->declMode = declMode;
-declMode = defaultDeclMode;
+structDeclMode = declMode = defaultDeclMode;
;
}
break;
yyval.external = MkExternalClass(yyvsp[(2) - (2)]._class);
yyval.external->loc = yyvsp[(2) - (2)]._class->loc;
yyvsp[(2) - (2)]._class->declMode = (yyvsp[(1) - (2)].declMode != 0) ? yyvsp[(1) - (2)].declMode : 2;
-declMode = defaultDeclMode;
+structDeclMode = declMode = defaultDeclMode;
;
}
break;
yyval.external = MkExternalFunction(yyvsp[(2) - (2)].function);
yyval.external->loc = yyvsp[(2) - (2)].function->loc;
yyvsp[(2) - (2)].function->declMode = yyvsp[(1) - (2)].declMode;
-declMode = defaultDeclMode;
+structDeclMode = declMode = defaultDeclMode;
;
}
break;
yyval.external = MkExternalDeclaration(yyvsp[(1) - (1)].declaration);
yyval.external->loc = (yyloc);
yyvsp[(1) - (1)].declaration->declMode = declMode;
-declMode = defaultDeclMode;
+structDeclMode = declMode = defaultDeclMode;
;
}
break;
yyval.external = MkExternalDeclaration(yyvsp[(2) - (2)].declaration);
yyval.external->loc = (yyloc);
yyvsp[(2) - (2)].declaration->declMode = yyvsp[(1) - (2)].declMode;
-declMode = defaultDeclMode;
+structDeclMode = declMode = defaultDeclMode;
;
}
break;
ListAdd(yyvsp[(1) - (2)].list, _class);
_class->loc = (yylsp[(2) - (2)]);
yyvsp[(2) - (2)]._class->declMode = (declMode != 0) ? declMode : 2;
-declMode = defaultDeclMode;
+structDeclMode = declMode = defaultDeclMode;
;
}
break;
ListAdd(yyvsp[(1) - (3)].list, _class);
_class->loc = (yylsp[(3) - (3)]);
yyvsp[(3) - (3)]._class->declMode = (yyvsp[(2) - (3)].declMode != 0) ? yyvsp[(2) - (3)].declMode : 2;
-declMode = defaultDeclMode;
+structDeclMode = declMode = defaultDeclMode;
;
}
break;
extern int declMode;
+extern int structDeclMode;
+
extern void __ecereNameSpace__ecere__com__eInstance_DecRef(struct __ecereNameSpace__ecere__com__Instance * instance);
int yylex(void)
while(include_stack_ptr && !fileStack[include_stack_ptr - 1])
{
--include_stack_ptr;
-defaultDeclMode = declMode = declModeStack[include_stack_ptr];
+defaultDeclMode = declMode = structDeclMode = declModeStack[include_stack_ptr];
}
if(--include_stack_ptr < 0)
{
type_yylloc = locStack[include_stack_ptr];
expression_yylloc = locStack[include_stack_ptr];
yy_switch_to_buffer(include_stack[include_stack_ptr]);
-defaultDeclMode = declMode = declModeStack[include_stack_ptr];
+defaultDeclMode = declMode = structDeclMode = declModeStack[include_stack_ptr];
}
}
break;
defaultDeclMode = declModeStack[include_stack_ptr] = declMode;
__ecereNameSpace__ecere__sys__GetExtension(fileName, extension);
if(!strcmp(extension, "c") || !strcmp(extension, "h"))
-declMode = defaultDeclMode = 0;
+declMode = defaultDeclMode = structDeclMode = 0;
fileStack[include_stack_ptr] = (((void *)0));
include_stack_ptr++;
}
else if(inOut == 2)
{
include_stack_ptr--;
-defaultDeclMode = declMode = declModeStack[include_stack_ptr];
+defaultDeclMode = declMode = structDeclMode = declModeStack[include_stack_ptr];
}
yylloc.end.charPos = 1;
yylloc.end.line = lineNumber;
yylloc.start.included = yylloc.end.included = GetIncludeFileID(includeFile);
__ecereNameSpace__ecere__sys__GetExtension(includeFile, extension);
if(!strcmp(extension, "c") || !strcmp(extension, "h"))
-declMode = defaultDeclMode = 0;
+declMode = defaultDeclMode = structDeclMode = 0;
fileInput = file;
yy_switch_to_buffer(yy_create_buffer(fileInput, 16384));
yy_start = 1 + 2 * (0);
memcpy(declModeStack, ((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->declModeStack, sizeof declModeStack);
include_stack_ptr = ((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->include_stack_ptr;
defaultDeclMode = ((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->defaultDeclMode;
-declMode = ((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->declMode;
+declMode = structDeclMode = ((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->declMode;
yy_current_buffer = ((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->buffer;
yy_n_chars = ((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->yy_n_chars;
yytext = ((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->yytext;
extern int declMode;
+extern int structDeclMode;
+
extern char * strstr(const char * , const char * );
extern char * sourceFile;
strcpy(classDataStructName, "__ecereClassData_");
FullClassNameCat(classDataStructName, symbol->string, 0x0);
-declMode = 0;
+declMode = structDeclMode = 0;
ListAdd(specs, MkStructOrUnion(3, MkIdentifier(classDataStructName), classDataList));
external = MkExternalDeclaration(MkDeclaration(specs, (((void *)0))));
__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert(defs, after, external);
extern int declMode;
+extern int structDeclMode;
+
extern void resetScanner();
extern struct Declarator * MkStructDeclarator(struct Declarator * declarator, struct Expression * exp);
echoOn = 0x0;
parseTypeError = 0x0;
parsedType = (((void *)0));
-declMode = (int)0;
+declMode = structDeclMode = 0;
resetScanner();
{
unsigned int oldParsingType = parsingType;
type_yyparse();
parsingType = oldParsingType;
}
-declMode = 2;
+declMode = structDeclMode = 2;
type_yydebug = 0x0;
(__ecereNameSpace__ecere__com__eInstance_DecRef(fileInput), fileInput = 0);
if(parsedType)
extern struct Specifier * MkSpecifier(int specifier);
+extern int structDeclMode;
+
extern int declMode;
extern struct Enumerator * MkEnumerator(struct Identifier * id, struct Expression * exp);
case 623:
{
yyval.specifier = MkSpecifier(TYPEDEF);
-declMode = 0;
+structDeclMode = declMode = 0;
;
}
break;
case 625:
{
yyval.specifier = MkSpecifier(STATIC);
-declMode = 3;
+structDeclMode = declMode = 3;
;
}
break;
break;
case 1156:
{
-yyval.declMode = declMode = 1;
+yyval.declMode = structDeclMode = declMode = 1;
;
}
break;
case 1157:
{
-yyval.declMode = declMode = 2;
+yyval.declMode = structDeclMode = declMode = 2;
;
}
break;
case 1158:
{
-yyval.declMode = declMode = 0;
+yyval.declMode = structDeclMode = declMode = 0;
;
}
break;
{
yyval.declaration = MkDeclaration(yyvsp[(1) - (2)].list, (((void *)0)));
yyval.declaration->loc = (yyloc);
-if(declMode == 0)
-declMode = defaultDeclMode;
+structDeclMode = defaultDeclMode;
;
}
break;
{
yyval.declaration = MkDeclaration(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].list);
yyval.declaration->loc = (yyloc);
-if(declMode == 0)
-declMode = defaultDeclMode;
+structDeclMode = defaultDeclMode;
;
}
break;
{
yyval.declaration = MkDeclarationInst(yyvsp[(1) - (2)].instance);
yyval.declaration->loc = (yyloc);
-if(declMode == 0)
-declMode = defaultDeclMode;
+structDeclMode = defaultDeclMode;
;
}
break;
case 1164:
{
yyval.declaration = yyvsp[(1) - (2)].declaration;
-if(declMode == 0)
-declMode = defaultDeclMode;
+structDeclMode = defaultDeclMode;
;
}
break;
break;
case 1170:
{
-declMode = 3;
+structDeclMode = declMode = 3;
yyval.declaration = MkDeclarationDefine(yyvsp[(3) - (6)].id, yyvsp[(5) - (6)].exp);
yyval.declaration->loc = (yyloc);
;
{
yyval.declaration = MkDeclaration(yyvsp[(1) - (2)].list, (((void *)0)));
yyval.declaration->loc = (yyloc);
-if(declMode == 0)
-declMode = defaultDeclMode;
+structDeclMode = defaultDeclMode;
;
}
break;
case 1173:
{
-if(declMode == 0)
-declMode = defaultDeclMode;
+structDeclMode = defaultDeclMode;
;
}
break;
{
yyval.declaration = MkDeclarationInst(yyvsp[(1) - (2)].instance);
yyval.declaration->loc = (yyloc);
-if(declMode == 0)
-declMode = defaultDeclMode;
+structDeclMode = defaultDeclMode;
;
}
break;
{
yyval.declaration = MkDeclarationInst(yyvsp[(1) - (2)].instance);
yyval.declaration->loc = (yyloc);
-if(declMode == 0)
-declMode = defaultDeclMode;
+structDeclMode = defaultDeclMode;
;
}
break;
{
yyval.declaration = MkDeclaration(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].list);
yyval.declaration->loc = (yyloc);
-if(declMode == 0)
-declMode = defaultDeclMode;
+structDeclMode = defaultDeclMode;
;
}
break;
yyval.external = MkExternalFunction(yyvsp[(1) - (1)].function);
yyval.external->loc = (yyloc);
yyvsp[(1) - (1)].function->declMode = declMode;
-declMode = defaultDeclMode;
+structDeclMode = declMode = defaultDeclMode;
;
}
break;
yyval.external = MkExternalClass(yyvsp[(1) - (1)]._class);
yyval.external->loc = (yyloc);
yyvsp[(1) - (1)]._class->declMode = (declMode != 0) ? declMode : 2;
-declMode = defaultDeclMode;
+structDeclMode = declMode = defaultDeclMode;
;
}
break;
yyval.external = MkExternalClass(yyvsp[(2) - (2)]._class);
yyval.external->loc = (yyloc);
yyvsp[(2) - (2)]._class->declMode = (declMode != 0) ? declMode : 2;
-declMode = defaultDeclMode;
+structDeclMode = declMode = defaultDeclMode;
FreeList(yyvsp[(1) - (2)].list, FreeSpecifier);
;
}
yyval.external = MkExternalDeclaration(yyvsp[(1) - (1)].declaration);
yyval.external->loc = (yyloc);
yyvsp[(1) - (1)].declaration->declMode = declMode;
-declMode = defaultDeclMode;
+structDeclMode = declMode = defaultDeclMode;
;
}
break;
yyval.external = MkExternalFunction(yyvsp[(2) - (2)].function);
yyval.external->loc = (yyloc);
yyvsp[(2) - (2)].function->declMode = yyvsp[(1) - (2)].declMode;
-declMode = defaultDeclMode;
+structDeclMode = declMode = defaultDeclMode;
;
}
break;
yyval.external = MkExternalClass(yyvsp[(2) - (2)]._class);
yyval.external->loc = (yyloc);
yyvsp[(2) - (2)]._class->declMode = (yyvsp[(1) - (2)].declMode != 0) ? yyvsp[(1) - (2)].declMode : 2;
-declMode = defaultDeclMode;
+structDeclMode = declMode = defaultDeclMode;
;
}
break;
yyval.external = MkExternalDeclaration(yyvsp[(2) - (2)].declaration);
yyval.external->loc = (yyloc);
yyvsp[(2) - (2)].declaration->declMode = yyvsp[(1) - (2)].declMode;
-declMode = defaultDeclMode;
+structDeclMode = declMode = defaultDeclMode;
;
}
break;
{
yyval.external = MkExternalImport(yyvsp[(3) - (3)].string, 0, (yyvsp[(1) - (3)].declMode != 0) ? yyvsp[(1) - (3)].declMode : 2);
yyval.external->loc = (yyloc);
-declMode = defaultDeclMode;
+structDeclMode = declMode = defaultDeclMode;
;
}
break;
{
yyval.external = MkExternalImport(yyvsp[(4) - (4)].string, 1, (yyvsp[(1) - (4)].declMode != 0) ? yyvsp[(1) - (4)].declMode : 2);
yyval.external->loc = (yyloc);
-declMode = defaultDeclMode;
+structDeclMode = declMode = defaultDeclMode;
;
}
break;
yyval.external = MkExternalImport(yyvsp[(4) - (4)].string, isRemote ? 2 : 0, (yyvsp[(1) - (4)].declMode != 0) ? yyvsp[(1) - (4)].declMode : 2);
yyval.external->loc = (yyloc);
FreeIdentifier(yyvsp[(3) - (4)].id);
-declMode = defaultDeclMode;
+structDeclMode = declMode = defaultDeclMode;
if(!isRemote)
yyerror();
;
yyval.external = MkExternalDBTable(yyvsp[(1) - (1)].dbtableDef);
yyval.external->loc = (yyloc);
yyvsp[(1) - (1)].dbtableDef->declMode = (declMode != 0) ? declMode : 2;
-declMode = defaultDeclMode;
+structDeclMode = declMode = defaultDeclMode;
;
}
break;
yyval.external = MkExternalDBTable(yyvsp[(2) - (2)].dbtableDef);
yyval.external->loc = (yyloc);
yyvsp[(2) - (2)].dbtableDef->declMode = (yyvsp[(1) - (2)].declMode != 0) ? declMode : 2;
-declMode = defaultDeclMode;
+structDeclMode = declMode = defaultDeclMode;
;
}
break;
yyval.external = MkExternalClass(yyvsp[(1) - (1)]._class);
yyval.external->loc = yyvsp[(1) - (1)]._class->loc;
yyvsp[(1) - (1)]._class->declMode = (declMode != 0) ? declMode : 2;
-declMode = defaultDeclMode;
+structDeclMode = declMode = defaultDeclMode;
;
}
break;
yyval.external = MkExternalClass(yyvsp[(2) - (2)]._class);
yyval.external->loc = yyvsp[(2) - (2)]._class->loc;
yyvsp[(2) - (2)]._class->declMode = (declMode != 0) ? declMode : 2;
-declMode = defaultDeclMode;
+structDeclMode = declMode = defaultDeclMode;
;
}
break;
yyval.external = MkExternalFunction(yyvsp[(1) - (1)].function);
yyval.external->loc = yyvsp[(1) - (1)].function->loc;
yyvsp[(1) - (1)].function->declMode = declMode;
-declMode = defaultDeclMode;
+structDeclMode = declMode = defaultDeclMode;
;
}
break;
yyval.external = MkExternalClass(yyvsp[(2) - (2)]._class);
yyval.external->loc = yyvsp[(2) - (2)]._class->loc;
yyvsp[(2) - (2)]._class->declMode = (yyvsp[(1) - (2)].declMode != 0) ? yyvsp[(1) - (2)].declMode : 2;
-declMode = defaultDeclMode;
+structDeclMode = declMode = defaultDeclMode;
;
}
break;
yyval.external = MkExternalFunction(yyvsp[(2) - (2)].function);
yyval.external->loc = yyvsp[(2) - (2)].function->loc;
yyvsp[(2) - (2)].function->declMode = yyvsp[(1) - (2)].declMode;
-declMode = defaultDeclMode;
+structDeclMode = declMode = defaultDeclMode;
;
}
break;
yyval.external = MkExternalDeclaration(yyvsp[(1) - (1)].declaration);
yyval.external->loc = (yyloc);
yyvsp[(1) - (1)].declaration->declMode = declMode;
-declMode = defaultDeclMode;
+structDeclMode = declMode = defaultDeclMode;
;
}
break;
yyval.external = MkExternalDeclaration(yyvsp[(2) - (2)].declaration);
yyval.external->loc = (yyloc);
yyvsp[(2) - (2)].declaration->declMode = yyvsp[(1) - (2)].declMode;
-declMode = defaultDeclMode;
+structDeclMode = declMode = defaultDeclMode;
;
}
break;
ListAdd(yyvsp[(1) - (2)].list, _class);
_class->loc = (yylsp[(2) - (2)]);
yyvsp[(2) - (2)]._class->declMode = (declMode != 0) ? declMode : 2;
-declMode = defaultDeclMode;
+structDeclMode = declMode = defaultDeclMode;
;
}
break;
ListAdd(yyvsp[(1) - (3)].list, _class);
_class->loc = (yylsp[(3) - (3)]);
yyvsp[(3) - (3)]._class->declMode = (yyvsp[(2) - (3)].declMode != 0) ? yyvsp[(2) - (3)].declMode : 2;
-declMode = defaultDeclMode;
+structDeclMode = declMode = defaultDeclMode;
;
}
break;
public void SetStrictNameSpaces(bool b) { strictNameSpaces = b; }
AccessMode declMode = privateAccess;
-public void SetDeclMode(AccessMode accessMode) { declMode = accessMode; }
+AccessMode structDeclMode = privateAccess;
+
+public void SetDeclMode(AccessMode accessMode) { structDeclMode = declMode = accessMode; }
AccessMode defaultDeclMode = privateAccess;
public void SetDefaultDeclMode(AccessMode accessMode) { defaultDeclMode = accessMode; }
{
Specifier spec { type = type, id = id };
if(id && FindType(curContext, id.string))
- declMode = defaultAccess;
+ structDeclMode = defaultAccess;
spec.definitions = definitions;
- if(definitions && id && !declMode)
+ if(definitions && id && structDeclMode == defaultAccess)
{
OldList specs { };
Symbol symbol;
for(spec = function.specifiers->first; spec; spec = spec.next)
if(spec.type == baseSpecifier && spec.specifier == STATIC)
{
- declMode = staticAccess;
+ structDeclMode = declMode = staticAccess;
break;
}
}
for(spec = declaration.specifiers->first; spec; spec = spec.next)
if(spec.type == baseSpecifier && spec.specifier == TYPEDEF)
{
- declMode = defaultAccess;
+ structDeclMode = declMode = defaultAccess;
break;
}
else if(spec.type == baseSpecifier && spec.specifier == STATIC)
{
- declMode = staticAccess;
+ structDeclMode = declMode = staticAccess;
break;
}
}
/* Line 1464 of yacc.c */
#line 2108 "grammar.y"
- { (yyval.specifier) = MkSpecifier(TYPEDEF); declMode = defaultAccess; ;}
+ { (yyval.specifier) = MkSpecifier(TYPEDEF); structDeclMode = declMode = defaultAccess; ;}
break;
case 624:
/* Line 1464 of yacc.c */
#line 2110 "grammar.y"
- { (yyval.specifier) = MkSpecifier(STATIC); declMode = staticAccess; ;}
+ { (yyval.specifier) = MkSpecifier(STATIC); structDeclMode = declMode = staticAccess; ;}
break;
case 626:
/* Line 1464 of yacc.c */
#line 3396 "grammar.y"
- { (yyval.declMode) = declMode = publicAccess; ;}
+ { (yyval.declMode) = structDeclMode = declMode = publicAccess; ;}
break;
case 1157:
/* Line 1464 of yacc.c */
#line 3397 "grammar.y"
- { (yyval.declMode) = declMode = privateAccess; ;}
+ { (yyval.declMode) = structDeclMode = declMode = privateAccess; ;}
break;
case 1158:
/* Line 1464 of yacc.c */
#line 3398 "grammar.y"
- { (yyval.declMode) = declMode = defaultAccess; ;}
+ { (yyval.declMode) = structDeclMode = declMode = defaultAccess; ;}
break;
case 1159:
/* Line 1464 of yacc.c */
#line 3407 "grammar.y"
- { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); if(declMode == defaultAccess) declMode = defaultDeclMode; ;}
+ { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
break;
case 1162:
/* Line 1464 of yacc.c */
#line 3408 "grammar.y"
- { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].list)); (yyval.declaration).loc = (yyloc); if(declMode == defaultAccess) declMode = defaultDeclMode; ;}
+ { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].list)); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
break;
case 1163:
/* Line 1464 of yacc.c */
#line 3409 "grammar.y"
- { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); if(declMode == defaultAccess) declMode = defaultDeclMode; ;}
+ { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
break;
case 1164:
/* Line 1464 of yacc.c */
#line 3410 "grammar.y"
- { (yyval.declaration) = (yyvsp[(1) - (2)].declaration); if(declMode == defaultAccess) declMode = defaultDeclMode; ;}
+ { (yyval.declaration) = (yyvsp[(1) - (2)].declaration); structDeclMode = defaultDeclMode; ;}
break;
case 1165:
/* Line 1464 of yacc.c */
#line 3420 "grammar.y"
- { declMode = staticAccess; (yyval.declaration) = MkDeclarationDefine((yyvsp[(3) - (6)].id), (yyvsp[(5) - (6)].exp)); (yyval.declaration).loc = (yyloc); ;}
+ { structDeclMode = declMode = staticAccess; (yyval.declaration) = MkDeclarationDefine((yyvsp[(3) - (6)].id), (yyvsp[(5) - (6)].exp)); (yyval.declaration).loc = (yyloc); ;}
break;
case 1171:
/* Line 1464 of yacc.c */
#line 3428 "grammar.y"
- { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); if(declMode == defaultAccess) declMode = defaultDeclMode; ;}
+ { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
break;
case 1173:
/* Line 1464 of yacc.c */
#line 3429 "grammar.y"
- { if(declMode == defaultAccess) declMode = defaultDeclMode; ;}
+ { structDeclMode = defaultDeclMode; ;}
break;
case 1174:
/* Line 1464 of yacc.c */
#line 3431 "grammar.y"
- { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); if(declMode == defaultAccess) declMode = defaultDeclMode; ;}
+ { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
break;
case 1175:
/* Line 1464 of yacc.c */
#line 3432 "grammar.y"
- { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); if(declMode == defaultAccess) declMode = defaultDeclMode; ;}
+ { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
break;
case 1176:
/* Line 1464 of yacc.c */
#line 3433 "grammar.y"
- { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); (yyval.declaration).loc = (yyloc); if(declMode == defaultAccess) declMode = defaultDeclMode; ;}
+ { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
break;
case 1177:
/* Line 1464 of yacc.c */
#line 3624 "grammar.y"
- { (yyval.external) = MkExternalFunction((yyvsp[(1) - (1)].function)); (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)].function).declMode = declMode; declMode = defaultDeclMode; ;}
+ { (yyval.external) = MkExternalFunction((yyvsp[(1) - (1)].function)); (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)].function).declMode = declMode; structDeclMode = declMode = defaultDeclMode; ;}
break;
case 1276:
/* Line 1464 of yacc.c */
#line 3626 "grammar.y"
- { (yyval.external) = MkExternalClass((yyvsp[(1) - (1)]._class)); (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess; declMode = defaultDeclMode; ;}
+ { (yyval.external) = MkExternalClass((yyvsp[(1) - (1)]._class)); (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
break;
case 1277:
/* Line 1464 of yacc.c */
#line 3629 "grammar.y"
- { (yyval.external) = MkExternalClass((yyvsp[(2) - (2)]._class)); (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess; declMode = defaultDeclMode; FreeList((yyvsp[(1) - (2)].list), FreeSpecifier); ;}
+ { (yyval.external) = MkExternalClass((yyvsp[(2) - (2)]._class)); (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess; structDeclMode = declMode = defaultDeclMode; FreeList((yyvsp[(1) - (2)].list), FreeSpecifier); ;}
break;
case 1278:
/* Line 1464 of yacc.c */
#line 3632 "grammar.y"
- { (yyval.external) = MkExternalDeclaration((yyvsp[(1) - (1)].declaration)); (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)].declaration).declMode = declMode; declMode = defaultDeclMode; ;}
+ { (yyval.external) = MkExternalDeclaration((yyvsp[(1) - (1)].declaration)); (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)].declaration).declMode = declMode; structDeclMode = declMode = defaultDeclMode; ;}
break;
case 1279:
/* Line 1464 of yacc.c */
#line 3647 "grammar.y"
- { (yyval.external) = MkExternalFunction((yyvsp[(2) - (2)].function)); (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)].function).declMode = (yyvsp[(1) - (2)].declMode); declMode = defaultDeclMode; ;}
+ { (yyval.external) = MkExternalFunction((yyvsp[(2) - (2)].function)); (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)].function).declMode = (yyvsp[(1) - (2)].declMode); structDeclMode = declMode = defaultDeclMode; ;}
break;
case 1284:
/* Line 1464 of yacc.c */
#line 3649 "grammar.y"
- { (yyval.external) = MkExternalClass((yyvsp[(2) - (2)]._class)); (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)]._class).declMode = ((yyvsp[(1) - (2)].declMode) != defaultAccess) ? (yyvsp[(1) - (2)].declMode) : privateAccess; declMode = defaultDeclMode; ;}
+ { (yyval.external) = MkExternalClass((yyvsp[(2) - (2)]._class)); (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)]._class).declMode = ((yyvsp[(1) - (2)].declMode) != defaultAccess) ? (yyvsp[(1) - (2)].declMode) : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
break;
case 1285:
/* Line 1464 of yacc.c */
#line 3650 "grammar.y"
- { (yyval.external) = MkExternalDeclaration((yyvsp[(2) - (2)].declaration)); (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)].declaration).declMode = (yyvsp[(1) - (2)].declMode); declMode = defaultDeclMode; ;}
+ { (yyval.external) = MkExternalDeclaration((yyvsp[(2) - (2)].declaration)); (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)].declaration).declMode = (yyvsp[(1) - (2)].declMode); structDeclMode = declMode = defaultDeclMode; ;}
break;
case 1286:
/* Line 1464 of yacc.c */
#line 3651 "grammar.y"
- { (yyval.external) = MkExternalImport((yyvsp[(3) - (3)].string), normalImport, ((yyvsp[(1) - (3)].declMode) != defaultAccess) ? (yyvsp[(1) - (3)].declMode) : privateAccess); (yyval.external).loc = (yyloc); declMode = defaultDeclMode; ;}
+ { (yyval.external) = MkExternalImport((yyvsp[(3) - (3)].string), normalImport, ((yyvsp[(1) - (3)].declMode) != defaultAccess) ? (yyvsp[(1) - (3)].declMode) : privateAccess); (yyval.external).loc = (yyloc); structDeclMode = declMode = defaultDeclMode; ;}
break;
case 1287:
/* Line 1464 of yacc.c */
#line 3652 "grammar.y"
- { (yyval.external) = MkExternalImport((yyvsp[(4) - (4)].string), staticImport, ((yyvsp[(1) - (4)].declMode) != defaultAccess) ? (yyvsp[(1) - (4)].declMode) : privateAccess); (yyval.external).loc = (yyloc); declMode = defaultDeclMode; ;}
+ { (yyval.external) = MkExternalImport((yyvsp[(4) - (4)].string), staticImport, ((yyvsp[(1) - (4)].declMode) != defaultAccess) ? (yyvsp[(1) - (4)].declMode) : privateAccess); (yyval.external).loc = (yyloc); structDeclMode = declMode = defaultDeclMode; ;}
break;
case 1288:
(yyval.external) = MkExternalImport((yyvsp[(4) - (4)].string), isRemote ? remoteImport : normalImport, ((yyvsp[(1) - (4)].declMode) != defaultAccess) ? (yyvsp[(1) - (4)].declMode) : privateAccess);
(yyval.external).loc = (yyloc);
FreeIdentifier((yyvsp[(3) - (4)].id));
- declMode = defaultDeclMode;
+ structDeclMode = declMode = defaultDeclMode;
if(!isRemote)
yyerror();
;}
/* Line 1464 of yacc.c */
#line 3667 "grammar.y"
- { (yyval.external) = MkExternalDBTable((yyvsp[(1) - (1)].dbtableDef)); (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)].dbtableDef).declMode = (declMode != defaultAccess) ? declMode : privateAccess; declMode = defaultDeclMode; ;}
+ { (yyval.external) = MkExternalDBTable((yyvsp[(1) - (1)].dbtableDef)); (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)].dbtableDef).declMode = (declMode != defaultAccess) ? declMode : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
break;
case 1294:
/* Line 1464 of yacc.c */
#line 3668 "grammar.y"
- { (yyval.external) = MkExternalDBTable((yyvsp[(2) - (2)].dbtableDef)); (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)].dbtableDef).declMode = ((yyvsp[(1) - (2)].declMode) != defaultAccess) ? declMode : privateAccess; declMode = defaultDeclMode; ;}
+ { (yyval.external) = MkExternalDBTable((yyvsp[(2) - (2)].dbtableDef)); (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)].dbtableDef).declMode = ((yyvsp[(1) - (2)].declMode) != defaultAccess) ? declMode : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
break;
case 1295:
/* Line 1464 of yacc.c */
#line 3672 "grammar.y"
- { (yyval.external) = MkExternalClass((yyvsp[(1) - (1)]._class)); (yyval.external).loc = (yyvsp[(1) - (1)]._class).loc; (yyvsp[(1) - (1)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess; declMode = defaultDeclMode; ;}
+ { (yyval.external) = MkExternalClass((yyvsp[(1) - (1)]._class)); (yyval.external).loc = (yyvsp[(1) - (1)]._class).loc; (yyvsp[(1) - (1)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
break;
case 1296:
(yyval.external) = MkExternalClass((yyvsp[(2) - (2)]._class));
(yyval.external).loc = (yyvsp[(2) - (2)]._class).loc;
(yyvsp[(2) - (2)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess;
- declMode = defaultDeclMode;
+ structDeclMode = declMode = defaultDeclMode;
;}
break;
/* Line 1464 of yacc.c */
#line 3681 "grammar.y"
- { (yyval.external) = MkExternalFunction((yyvsp[(1) - (1)].function)); (yyval.external).loc = (yyvsp[(1) - (1)].function).loc; (yyvsp[(1) - (1)].function).declMode = declMode; declMode = defaultDeclMode; ;}
+ { (yyval.external) = MkExternalFunction((yyvsp[(1) - (1)].function)); (yyval.external).loc = (yyvsp[(1) - (1)].function).loc; (yyvsp[(1) - (1)].function).declMode = declMode; structDeclMode = declMode = defaultDeclMode; ;}
break;
case 1298:
/* Line 1464 of yacc.c */
#line 3683 "grammar.y"
- { (yyval.external) = MkExternalClass((yyvsp[(2) - (2)]._class)); (yyval.external).loc = (yyvsp[(2) - (2)]._class).loc; (yyvsp[(2) - (2)]._class).declMode = ((yyvsp[(1) - (2)].declMode) != defaultAccess) ? (yyvsp[(1) - (2)].declMode) : privateAccess; declMode = defaultDeclMode; ;}
+ { (yyval.external) = MkExternalClass((yyvsp[(2) - (2)]._class)); (yyval.external).loc = (yyvsp[(2) - (2)]._class).loc; (yyvsp[(2) - (2)]._class).declMode = ((yyvsp[(1) - (2)].declMode) != defaultAccess) ? (yyvsp[(1) - (2)].declMode) : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
break;
case 1299:
/* Line 1464 of yacc.c */
#line 3684 "grammar.y"
- { (yyval.external) = MkExternalFunction((yyvsp[(2) - (2)].function)); (yyval.external).loc = (yyvsp[(2) - (2)].function).loc; (yyvsp[(2) - (2)].function).declMode = (yyvsp[(1) - (2)].declMode); declMode = defaultDeclMode; ;}
+ { (yyval.external) = MkExternalFunction((yyvsp[(2) - (2)].function)); (yyval.external).loc = (yyvsp[(2) - (2)].function).loc; (yyvsp[(2) - (2)].function).declMode = (yyvsp[(1) - (2)].declMode); structDeclMode = declMode = defaultDeclMode; ;}
break;
case 1300:
/* Line 1464 of yacc.c */
#line 3687 "grammar.y"
- { (yyval.external) = MkExternalDeclaration((yyvsp[(1) - (1)].declaration)); (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)].declaration).declMode = declMode; declMode = defaultDeclMode; ;}
+ { (yyval.external) = MkExternalDeclaration((yyvsp[(1) - (1)].declaration)); (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)].declaration).declMode = declMode; structDeclMode = declMode = defaultDeclMode; ;}
break;
case 1301:
/* Line 1464 of yacc.c */
#line 3688 "grammar.y"
- { (yyval.external) = MkExternalDeclaration((yyvsp[(2) - (2)].declaration)); (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)].declaration).declMode = (yyvsp[(1) - (2)].declMode); declMode = defaultDeclMode; ;}
+ { (yyval.external) = MkExternalDeclaration((yyvsp[(2) - (2)].declaration)); (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)].declaration).declMode = (yyvsp[(1) - (2)].declMode); structDeclMode = declMode = defaultDeclMode; ;}
break;
case 1302:
/* Line 1464 of yacc.c */
#line 3703 "grammar.y"
- { External _class = MkExternalClass((yyvsp[(2) - (2)]._class)); (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), _class); _class.loc = (yylsp[(2) - (2)]); (yyvsp[(2) - (2)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess; declMode = defaultDeclMode; ;}
+ { External _class = MkExternalClass((yyvsp[(2) - (2)]._class)); (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), _class); _class.loc = (yylsp[(2) - (2)]); (yyvsp[(2) - (2)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
break;
case 1310:
/* Line 1464 of yacc.c */
#line 3705 "grammar.y"
- { External _class = MkExternalClass((yyvsp[(3) - (3)]._class)); (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), _class); _class.loc = (yylsp[(3) - (3)]); (yyvsp[(3) - (3)]._class).declMode = ((yyvsp[(2) - (3)].declMode) != defaultAccess) ? (yyvsp[(2) - (3)].declMode) : privateAccess; declMode = defaultDeclMode; ;}
+ { External _class = MkExternalClass((yyvsp[(3) - (3)]._class)); (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), _class); _class.loc = (yylsp[(3) - (3)]); (yyvsp[(3) - (3)]._class).declMode = ((yyvsp[(2) - (3)].declMode) != defaultAccess) ? (yyvsp[(2) - (3)].declMode) : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
break;
case 1313:
;
external_storage_class_specifier:
- TYPEDEF { $$ = MkSpecifier(TYPEDEF); declMode = defaultAccess; }
+ TYPEDEF { $$ = MkSpecifier(TYPEDEF); structDeclMode = declMode = defaultAccess; }
| EXTERN { $$ = MkSpecifier(EXTERN); }
- | STATIC { $$ = MkSpecifier(STATIC); declMode = staticAccess; }
+ | STATIC { $$ = MkSpecifier(STATIC); structDeclMode = declMode = staticAccess; }
| AUTO { $$ = MkSpecifier(AUTO); }
| REGISTER { $$ = MkSpecifier(REGISTER); }
| RESTRICT { $$ = MkSpecifier(RESTRICT); }
;
declaration_mode:
- PUBLIC { $$ = declMode = publicAccess; }
- | PRIVATE { $$ = declMode = privateAccess; }
- | DEFAULT { $$ = declMode = defaultAccess; }
+ PUBLIC { $$ = structDeclMode = declMode = publicAccess; }
+ | PRIVATE { $$ = structDeclMode = declMode = privateAccess; }
+ | DEFAULT { $$ = structDeclMode = declMode = defaultAccess; }
;
member_access:
;
declaration:
- declaration_specifiers ';' { $$ = MkDeclaration($1, null); $$.loc = @$; if(declMode == defaultAccess) declMode = defaultDeclMode; }
- | declaration_specifiers init_declarator_list ';' { $$ = MkDeclaration($1, $2); $$.loc = @$; if(declMode == defaultAccess) declMode = defaultDeclMode; }
- | instantiation_named ';' { $$ = MkDeclarationInst($1); $$.loc = @$; if(declMode == defaultAccess) declMode = defaultDeclMode; }
- | declaration_error ';' { $$ = $1; if(declMode == defaultAccess) declMode = defaultDeclMode; }
+ declaration_specifiers ';' { $$ = MkDeclaration($1, null); $$.loc = @$; structDeclMode = defaultDeclMode; }
+ | declaration_specifiers init_declarator_list ';' { $$ = MkDeclaration($1, $2); $$.loc = @$; structDeclMode = defaultDeclMode; }
+ | instantiation_named ';' { $$ = MkDeclarationInst($1); $$.loc = @$; structDeclMode = defaultDeclMode; }
+ | declaration_error ';' { $$ = $1; structDeclMode = defaultDeclMode; }
;
external_guess_declaration:
| external_guess_instantiation_named ';' { $$ = MkDeclarationInst($1); $$.loc = @$; }
| DEFINE identifier '=' conditional_expression ';' { $$ = MkDeclarationDefine($2, $4); $$.loc = @$; }
- | STATIC DEFINE identifier '=' conditional_expression ';' { declMode = staticAccess; $$ = MkDeclarationDefine($3, $5); $$.loc = @$; }
+ | STATIC DEFINE identifier '=' conditional_expression ';' { structDeclMode = declMode = staticAccess; $$ = MkDeclarationDefine($3, $5); $$.loc = @$; }
;
external_guess_declaration_error:
;
declaration_error:
- declaration_specifiers error { $$ = MkDeclaration($1, null); $$.loc = @$; if(declMode == defaultAccess) declMode = defaultDeclMode; }
- | declaration_error error { if(declMode == defaultAccess) declMode = defaultDeclMode; }
+ declaration_specifiers error { $$ = MkDeclaration($1, null); $$.loc = @$; structDeclMode = defaultDeclMode; }
+ | declaration_error error { structDeclMode = defaultDeclMode; }
- | instantiation_named_error error { $$ = MkDeclarationInst($1); $$.loc = @$; if(declMode == defaultAccess) declMode = defaultDeclMode; }
- | instantiation_named error { $$ = MkDeclarationInst($1); $$.loc = @$; if(declMode == defaultAccess) declMode = defaultDeclMode; }
- | declaration_specifiers init_declarator_list_error { $$ = MkDeclaration($1, $2); $$.loc = @$; if(declMode == defaultAccess) declMode = defaultDeclMode; }
+ | instantiation_named_error error { $$ = MkDeclarationInst($1); $$.loc = @$; structDeclMode = defaultDeclMode; }
+ | instantiation_named error { $$ = MkDeclarationInst($1); $$.loc = @$; structDeclMode = defaultDeclMode; }
+ | declaration_specifiers init_declarator_list_error { $$ = MkDeclaration($1, $2); $$.loc = @$; structDeclMode = defaultDeclMode; }
;
declaration_list:
;
external_declaration:
- function_definition { $$ = MkExternalFunction($1); $$.loc = @$; $1.declMode = declMode; declMode = defaultDeclMode; }
+ function_definition { $$ = MkExternalFunction($1); $$.loc = @$; $1.declMode = declMode; structDeclMode = declMode = defaultDeclMode; }
| class
- { $$ = MkExternalClass($1); $$.loc = @$; $1.declMode = (declMode != defaultAccess) ? declMode : privateAccess; declMode = defaultDeclMode; }
+ { $$ = MkExternalClass($1); $$.loc = @$; $1.declMode = (declMode != defaultAccess) ? declMode : privateAccess; structDeclMode = declMode = defaultDeclMode; }
| external_guess_declaration_specifiers class
- { $$ = MkExternalClass($2); $$.loc = @$; $2.declMode = (declMode != defaultAccess) ? declMode : privateAccess; declMode = defaultDeclMode; FreeList($1, FreeSpecifier); }
+ { $$ = MkExternalClass($2); $$.loc = @$; $2.declMode = (declMode != defaultAccess) ? declMode : privateAccess; structDeclMode = declMode = defaultDeclMode; FreeList($1, FreeSpecifier); }
| external_guess_declaration
- { $$ = MkExternalDeclaration($1); $$.loc = @$; $1.declMode = declMode; declMode = defaultDeclMode; }
+ { $$ = MkExternalDeclaration($1); $$.loc = @$; $1.declMode = declMode; structDeclMode = declMode = defaultDeclMode; }
| IMPORT string_literal { $$ = MkExternalImport($2, normalImport, (declMode != defaultAccess) ? declMode : privateAccess); $$.loc = @$; }
| IMPORT STATIC string_literal { $$ = MkExternalImport($3, staticImport, (declMode != defaultAccess) ? declMode : privateAccess); $$.loc = @$; }
| IMPORT identifier string_literal
| ';' { $$ = null; }
- | declaration_mode function_definition { $$ = MkExternalFunction($2); $$.loc = @$; $2.declMode = $1; declMode = defaultDeclMode; }
+ | declaration_mode function_definition { $$ = MkExternalFunction($2); $$.loc = @$; $2.declMode = $1; structDeclMode = declMode = defaultDeclMode; }
| declaration_mode class
- { $$ = MkExternalClass($2); $$.loc = @$; $2.declMode = ($1 != defaultAccess) ? $1 : privateAccess; declMode = defaultDeclMode; }
- | declaration_mode external_guess_declaration { $$ = MkExternalDeclaration($2); $$.loc = @$; $2.declMode = $1; declMode = defaultDeclMode; }
- | declaration_mode IMPORT string_literal { $$ = MkExternalImport($3, normalImport, ($1 != defaultAccess) ? $1 : privateAccess); $$.loc = @$; declMode = defaultDeclMode; }
- | declaration_mode IMPORT STATIC string_literal { $$ = MkExternalImport($4, staticImport, ($1 != defaultAccess) ? $1 : privateAccess); $$.loc = @$; declMode = defaultDeclMode; }
+ { $$ = MkExternalClass($2); $$.loc = @$; $2.declMode = ($1 != defaultAccess) ? $1 : privateAccess; structDeclMode = declMode = defaultDeclMode; }
+ | declaration_mode external_guess_declaration { $$ = MkExternalDeclaration($2); $$.loc = @$; $2.declMode = $1; structDeclMode = declMode = defaultDeclMode; }
+ | declaration_mode IMPORT string_literal { $$ = MkExternalImport($3, normalImport, ($1 != defaultAccess) ? $1 : privateAccess); $$.loc = @$; structDeclMode = declMode = defaultDeclMode; }
+ | declaration_mode IMPORT STATIC string_literal { $$ = MkExternalImport($4, staticImport, ($1 != defaultAccess) ? $1 : privateAccess); $$.loc = @$; structDeclMode = declMode = defaultDeclMode; }
| declaration_mode IMPORT identifier string_literal
{
bool isRemote = !strcmp($3.string, "remote");
$$ = MkExternalImport($4, isRemote ? remoteImport : normalImport, ($1 != defaultAccess) ? $1 : privateAccess);
$$.loc = @$;
FreeIdentifier($3);
- declMode = defaultDeclMode;
+ structDeclMode = declMode = defaultDeclMode;
if(!isRemote)
yyerror();
}
| STATIC ':' { defaultDeclMode = staticAccess; $$ = null; }
| NAMESPACE identifier { $$ = MkExternalNameSpace($2); $$.loc = @$; }
| NAMESPACE strict_type { $$ = MkExternalNameSpace(MkIdentifier($2.name)); FreeSpecifier($2); $$.loc = @$; }
- | dbtable_definition { $$ = MkExternalDBTable($1); $$.loc = @$; $1.declMode = (declMode != defaultAccess) ? declMode : privateAccess; declMode = defaultDeclMode; }
- | declaration_mode dbtable_definition { $$ = MkExternalDBTable($2); $$.loc = @$; $2.declMode = ($1 != defaultAccess) ? declMode : privateAccess; declMode = defaultDeclMode; }
+ | dbtable_definition { $$ = MkExternalDBTable($1); $$.loc = @$; $1.declMode = (declMode != defaultAccess) ? declMode : privateAccess; structDeclMode = declMode = defaultDeclMode; }
+ | declaration_mode dbtable_definition { $$ = MkExternalDBTable($2); $$.loc = @$; $2.declMode = ($1 != defaultAccess) ? declMode : privateAccess; structDeclMode = declMode = defaultDeclMode; }
;
external_declaration_error:
- class_error { $$ = MkExternalClass($1); $$.loc = $1.loc; $1.declMode = (declMode != defaultAccess) ? declMode : privateAccess; declMode = defaultDeclMode; }
+ class_error { $$ = MkExternalClass($1); $$.loc = $1.loc; $1.declMode = (declMode != defaultAccess) ? declMode : privateAccess; structDeclMode = declMode = defaultDeclMode; }
| external_guess_declaration_specifiers class_error
{
FreeList($1, FreeSpecifier);
$$ = MkExternalClass($2);
$$.loc = $2.loc;
$2.declMode = (declMode != defaultAccess) ? declMode : privateAccess;
- declMode = defaultDeclMode;
+ structDeclMode = declMode = defaultDeclMode;
}
- | function_definition_error { $$ = MkExternalFunction($1); $$.loc = $1.loc; $1.declMode = declMode; declMode = defaultDeclMode; }
+ | function_definition_error { $$ = MkExternalFunction($1); $$.loc = $1.loc; $1.declMode = declMode; structDeclMode = declMode = defaultDeclMode; }
- | declaration_mode class_error { $$ = MkExternalClass($2); $$.loc = $2.loc; $2.declMode = ($1 != defaultAccess) ? $1 : privateAccess; declMode = defaultDeclMode; }
- | declaration_mode function_definition_error { $$ = MkExternalFunction($2); $$.loc = $2.loc; $2.declMode = $1; declMode = defaultDeclMode; }
+ | declaration_mode class_error { $$ = MkExternalClass($2); $$.loc = $2.loc; $2.declMode = ($1 != defaultAccess) ? $1 : privateAccess; structDeclMode = declMode = defaultDeclMode; }
+ | declaration_mode function_definition_error { $$ = MkExternalFunction($2); $$.loc = $2.loc; $2.declMode = $1; structDeclMode = declMode = defaultDeclMode; }
| external_guess_declaration_error
- { $$ = MkExternalDeclaration($1); $$.loc = @$; $1.declMode = declMode; declMode = defaultDeclMode; }
- | declaration_mode external_guess_declaration_error { $$ = MkExternalDeclaration($2); $$.loc = @$; $2.declMode = $1; declMode = defaultDeclMode; }
+ { $$ = MkExternalDeclaration($1); $$.loc = @$; $1.declMode = declMode; structDeclMode = declMode = defaultDeclMode; }
+ | declaration_mode external_guess_declaration_error { $$ = MkExternalDeclaration($2); $$.loc = @$; $2.declMode = $1; structDeclMode = declMode = defaultDeclMode; }
;
translation_unit_error:
external_declaration { $$ = MkList(); ListAdd($$, $1); ast = $$; }
| translation_unit external_declaration { $$ = $1; ListAdd($1, $2); }
| translation_unit_error class
- { External _class = MkExternalClass($2); $$ = $1; ListAdd($1, _class); _class.loc = @2; $2.declMode = (declMode != defaultAccess) ? declMode : privateAccess; declMode = defaultDeclMode; }
+ { External _class = MkExternalClass($2); $$ = $1; ListAdd($1, _class); _class.loc = @2; $2.declMode = (declMode != defaultAccess) ? declMode : privateAccess; structDeclMode = declMode = defaultDeclMode; }
| translation_unit_error declaration_mode class
- { External _class = MkExternalClass($3); $$ = $1; ListAdd($1, _class); _class.loc = @3; $3.declMode = ($2 != defaultAccess) ? $2 : privateAccess; declMode = defaultDeclMode; }
+ { External _class = MkExternalClass($3); $$ = $1; ListAdd($1, _class); _class.loc = @3; $3.declMode = ($2 != defaultAccess) ? $2 : privateAccess; structDeclMode = declMode = defaultDeclMode; }
;
thefile:
while(include_stack_ptr && !fileStack[include_stack_ptr-1])
{
--include_stack_ptr;
- defaultDeclMode = declMode = declModeStack[include_stack_ptr];
+ defaultDeclMode = declMode = structDeclMode = declModeStack[include_stack_ptr];
}
if ( --include_stack_ptr < 0 )
type_yylloc = locStack[include_stack_ptr];
expression_yylloc = locStack[include_stack_ptr];
yy_switch_to_buffer(include_stack[include_stack_ptr] );
- defaultDeclMode = declMode = declModeStack[include_stack_ptr];
+ defaultDeclMode = declMode = structDeclMode = declModeStack[include_stack_ptr];
}
}
YY_BREAK
GetExtension(fileName, extension);
if(!strcmp(extension, "c") || !strcmp(extension, "h"))
- declMode = defaultDeclMode = defaultAccess;
+ declMode = defaultDeclMode = structDeclMode = defaultAccess;
fileStack[include_stack_ptr] = null;
include_stack_ptr++;
else if(inOut == 2)
{
include_stack_ptr--;
- defaultDeclMode = declMode = declModeStack[include_stack_ptr];
+ defaultDeclMode = declMode = structDeclMode = declModeStack[include_stack_ptr];
}
yylloc.end.charPos = 1;
GetExtension(includeFile, extension);
if(!strcmp(extension, "c") || !strcmp(extension, "h"))
- declMode = defaultDeclMode = defaultAccess;
+ declMode = defaultDeclMode = structDeclMode = defaultAccess;
fileInput = file;
yy_switch_to_buffer( yy_create_buffer( fileInput, YY_BUF_SIZE ) );
memcpy(declModeStack, backup.declModeStack, sizeof(declModeStack));
include_stack_ptr = backup.include_stack_ptr;
defaultDeclMode = backup.defaultDeclMode;
- declMode = backup.declMode;
+ declMode = structDeclMode = backup.declMode;
// yy_switch_to_buffer(backup.buffer);
yy_current_buffer = backup.buffer;
while(include_stack_ptr && !fileStack[include_stack_ptr-1])
{
--include_stack_ptr;
- defaultDeclMode = declMode = declModeStack[include_stack_ptr];
+ defaultDeclMode = declMode = structDeclMode = declModeStack[include_stack_ptr];
}
if ( --include_stack_ptr < 0 )
type_yylloc = locStack[include_stack_ptr];
expression_yylloc = locStack[include_stack_ptr];
yy_switch_to_buffer(include_stack[include_stack_ptr] );
- defaultDeclMode = declMode = declModeStack[include_stack_ptr];
+ defaultDeclMode = declMode = structDeclMode = declModeStack[include_stack_ptr];
}
}
GetExtension(fileName, extension);
if(!strcmp(extension, "c") || !strcmp(extension, "h"))
- declMode = defaultDeclMode = defaultAccess;
+ declMode = defaultDeclMode = structDeclMode = defaultAccess;
fileStack[include_stack_ptr] = null;
include_stack_ptr++;
else if(inOut == 2)
{
include_stack_ptr--;
- defaultDeclMode = declMode = declModeStack[include_stack_ptr];
+ defaultDeclMode = declMode = structDeclMode = declModeStack[include_stack_ptr];
}
yylloc.end.charPos = 1;
GetExtension(includeFile, extension);
if(!strcmp(extension, "c") || !strcmp(extension, "h"))
- declMode = defaultDeclMode = defaultAccess;
+ declMode = defaultDeclMode = structDeclMode = defaultAccess;
fileInput = file;
yy_switch_to_buffer( yy_create_buffer( fileInput, YY_BUF_SIZE ) );
memcpy(declModeStack, backup.declModeStack, sizeof(declModeStack));
include_stack_ptr = backup.include_stack_ptr;
defaultDeclMode = backup.defaultDeclMode;
- declMode = backup.declMode;
+ declMode = structDeclMode = backup.declMode;
// yy_switch_to_buffer(backup.buffer);
yy_current_buffer = backup.buffer;
strcpy(classDataStructName, "__ecereClassData_");
FullClassNameCat(classDataStructName, symbol.string, false);
- declMode = defaultAccess;
+ declMode = structDeclMode = defaultAccess;
ListAdd(specs, MkStructOrUnion(structSpecifier, MkIdentifier(classDataStructName), classDataList));
external = MkExternalDeclaration(MkDeclaration(specs, null));
defs.Insert(after, external);
echoOn = false;
parseTypeError = false;
parsedType = null;
- declMode = 0;
+ declMode = structDeclMode = defaultAccess;
resetScanner();
{
bool oldParsingType = parsingType;
type_yyparse();
parsingType = oldParsingType;
}
- declMode = privateAccess;
+ declMode = structDeclMode = privateAccess;
type_yydebug = false;