Files
Compound/namescope.h
William e2f8dceda7 (MOD) Refined Var, Array, CatlogMsg, CatlogSender, Status
This is the very first version that pass the compiler.  Though it has lots things were made for testing, such as commenting problematic source code to avoid irrelevant errors.  For test.c, everything is working fine.  Congrats!
2024-05-20 04:47:39 +08:00

27 lines
770 B
C

#ifndef COMPOUND_NAMESCOPE_H
# define COMPOUND_NAMESCOPE_H
# include <Compound/array.h>
# include <Compound/name.h>
typedef struct {
Array(Name) name_data;
} NameScope;
# define NameScope(T) NameScope
Status NameScope_Create(NameScope *inst);
Status NameScope_CopyOf(NameScope *inst, NameScope *other);
Status NameScope_CreateName(NameScope *inst, Name *buff);
Status NameScope_RemoveName(NameScope *inst, Name idx);
Status NameScope_UpdateLatest(NameScope *inst, Name idx);
bool NameScope_Equals(NameScope *inst, NameScope *other);
bool NameScope_IsAvailable(NameScope *inst, Name idx);
/* Universal Attribute NameScope. (U.A.N.) */
NameScope(Attribute) UniversalAttributeNameScope;
NameScope MemoryAllocationRegistry;
#endif /* COMPOUND_NAMESCOPE_H */