Skip to content

Commit 6bd1545

Browse files
committed
Fix duplicate definitions in scanner.h and ast.h
1 parent 3cc4ddd commit 6bd1545

2 files changed

Lines changed: 14 additions & 32 deletions

File tree

include/ast.h

Lines changed: 14 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,7 @@ struct TypeInfo {
2828
char* name;
2929
struct TypeInfo* returnType;
3030
struct TypeInfo* paramTypes;
31-
struct TypeInfo* returnType;
32-
struct TypeInfo* paramTypes;
31+
3332
int paramCount;
3433
bool isTainted;
3534
};
@@ -40,7 +39,7 @@ typedef enum {
4039
EXPR_VARIABLE, EXPR_ASSIGN, EXPR_LOGICAL, EXPR_CALL,
4140
EXPR_GET, EXPR_SET, EXPR_INDEX, EXPR_SET_INDEX, EXPR_LIST,
4241
EXPR_DICTIONARY, EXPR_TERNARY, EXPR_LAMBDA,
43-
EXPR_DICTIONARY, EXPR_TERNARY, EXPR_LAMBDA,
42+
4443
EXPR_AWAIT, EXPR_THIS, EXPR_SUPER, EXPR_NEW,
4544
EXPR_SANITIZE,
4645
EXPR_CRYPTO // Encrypt/Decrypt
@@ -52,16 +51,15 @@ typedef enum {
5251
STMT_BLOCK, STMT_BREAK, STMT_CONTINUE, STMT_SWITCH,
5352
STMT_TRY_CATCH, STMT_PRINT, STMT_EXTERN_DECL,
5453
STMT_INTENT_DECL, STMT_RESOLVER_DECL,
55-
STMT_INTENT_DECL, STMT_RESOLVER_DECL,
56-
STMT_INTENT_DECL, STMT_RESOLVER_DECL,
54+
5755
STMT_RESILIENT,
5856
STMT_POLICY_DECL,
5957
STMT_NODE_DECL,
60-
STMT_NODE_DECL,
61-
STMT_DISTRIBUTED_DECL,
58+
6259
STMT_DISTRIBUTED_DECL,
60+
6361
STMT_MODEL_DECL,
64-
STMT_MODEL_DECL,
62+
6563
STMT_QUANTUM_BLOCK,
6664
STMT_GPU_BLOCK,
6765
STMT_VERIFY
@@ -172,17 +170,13 @@ typedef struct { Expr *expression; } PrintStmt;
172170
typedef struct { char *libraryPath; char *symbolName; char *name; StringList *params; } ExternDeclStmt;
173171
typedef struct { char *name; StringList *params; TypeInfo returnType; } IntentDeclStmt;
174172
typedef struct { char *name; char *targetIntent; StmtList *body; } ResolverDeclStmt;
175-
typedef struct { char *name; StringList *params; TypeInfo returnType; } IntentDeclStmt;
176-
typedef struct { char *name; char *targetIntent; StmtList *body; } ResolverDeclStmt;
177-
typedef struct { char *name; StringList *params; TypeInfo returnType; } IntentDeclStmt;
178-
typedef struct { char *name; char *targetIntent; StmtList *body; } ResolverDeclStmt;
173+
179174
typedef struct { StmtList *body; char *strategy; int retryCount; StmtList *recoveryBody; } ResilientStmt;
180175
typedef struct { char *policyName; char *target; StmtList *rules; } PolicyDeclStmt;
181176
typedef struct { char *name; StringList *capabilities; } NodeDeclStmt;
182177
typedef struct { char *name; StmtList *fields; } DistributedDeclStmt;
183-
typedef struct { char *name; StmtList *fields; } DistributedDeclStmt;
184-
typedef struct { char *name; StringList *capabilities; } NodeDeclStmt;
185-
typedef struct { char *name; StmtList *fields; } DistributedDeclStmt;
178+
179+
186180
typedef struct { char *name; char *architecture; StmtList *body; } ModelDeclStmt;
187181
typedef struct { StmtList *body; } QuantumBlockStmt;
188182
typedef struct { char *kernelName; StmtList *body; } GPUBlockStmt;
@@ -200,14 +194,12 @@ struct Stmt {
200194
SwitchStmt switch_stmt; TryCatchStmt try_catch; PrintStmt print;
201195
ExternDeclStmt extern_decl;
202196
IntentDeclStmt intent_decl; ResolverDeclStmt resolver_decl;
203-
IntentDeclStmt intent_decl; ResolverDeclStmt resolver_decl;
204-
IntentDeclStmt intent_decl; ResolverDeclStmt resolver_decl;
197+
205198
ResilientStmt resilient;
206199
PolicyDeclStmt policy_decl;
207200
NodeDeclStmt node_decl;
208201
DistributedDeclStmt distributed_decl;
209-
NodeDeclStmt node_decl;
210-
DistributedDeclStmt distributed_decl;
202+
211203
ModelDeclStmt model_decl;
212204
QuantumBlockStmt quantum_block;
213205
GPUBlockStmt gpu_block;
@@ -262,19 +254,18 @@ Stmt *createResilientStmt(StmtList *body, const char *strategy, int retryCount,
262254
Stmt *createPolicyDeclStmt(const char *policyName, const char *target, StmtList *rules, int line, int column);
263255
Stmt *createNodeDeclStmt(const char *name, StringList *capabilities, int line, int column);
264256
Stmt *createDistributedDeclStmt(const char *name, StmtList *fields, int line, int column);
265-
Stmt *createNodeDeclStmt(const char *name, StringList *capabilities, int line, int column);
266-
Stmt *createDistributedDeclStmt(const char *name, StmtList *fields, int line, int column);
257+
267258
Stmt *createModelDeclStmt(const char *name, const char *architecture, StmtList *body, int line, int column);
268259
Stmt *createQuantumBlockStmt(StmtList *body, int line, int column);
269260
Stmt *createGPUBlockStmt(const char *kernelName, StmtList *body, int line, int column);
270261
Stmt *createVerifyStmt(const char *identityName, StmtList *body, int line, int column);
271262

272263
ExprList *createExprList();
273264
void appendExpr(ExprList *list, Expr *expr);
274-
Expr *createBinaryExpr(Expr *left, const char *op, Expr *right, int line, int column);
265+
275266
// ...
276267
Expr *createSanitizeExpr(Expr *value, int line, int column); // Added prototype
277-
void appendExpr(ExprList *list, Expr *expr);
268+
278269
void freeExprList(ExprList *list);
279270
StmtList *createStmtList();
280271
void appendStmt(StmtList *list, Stmt *stmt);

include/scanner.h

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -128,39 +128,30 @@ typedef enum {
128128
TOKEN_RECOVERY,
129129
TOKEN_RESTART,
130130
TOKEN_ROLLBACK,
131-
TOKEN_ROLLBACK,
132131
TOKEN_ESCALATE,
133132
TOKEN_TAINTED,
134133
TOKEN_PURE,
135134
TOKEN_SANITIZE,
136-
TOKEN_SANITIZE,
137135
TOKEN_POLICY,
138136
TOKEN_TEMPORAL,
139137
TOKEN_DECAY,
140-
TOKEN_DECAY,
141138
TOKEN_AFTER,
142139
TOKEN_DISTRIBUTED,
143140
TOKEN_NODE,
144141
TOKEN_REPLICA,
145-
TOKEN_REPLICA,
146142
TOKEN_SYNC,
147143
TOKEN_MODEL,
148144
TOKEN_TRAIN,
149145
TOKEN_PREDICT,
150-
TOKEN_TRAIN,
151-
TOKEN_PREDICT,
152146
TOKEN_DATASET,
153147
TOKEN_QUANTUM,
154148
TOKEN_QUBIT,
155149
TOKEN_SUPERPOSE,
156150
TOKEN_ENTANGLE,
157-
TOKEN_SUPERPOSE,
158-
TOKEN_ENTANGLE,
159151
TOKEN_MEASURE,
160152
TOKEN_TENSOR,
161153
TOKEN_MATRIX,
162154
TOKEN_GPU,
163-
TOKEN_GPU,
164155
TOKEN_KERNEL,
165156
TOKEN_ENCRYPT,
166157
TOKEN_DECRYPT,

0 commit comments

Comments
 (0)