@@ -42,7 +42,8 @@ typedef enum {
4242 EXPR_DICTIONARY , EXPR_TERNARY , EXPR_LAMBDA ,
4343 EXPR_DICTIONARY , EXPR_TERNARY , EXPR_LAMBDA ,
4444 EXPR_AWAIT , EXPR_THIS , EXPR_SUPER , EXPR_NEW ,
45- EXPR_SANITIZE
45+ EXPR_SANITIZE ,
46+ EXPR_CRYPTO // Encrypt/Decrypt
4647} ExprType ;
4748
4849typedef enum {
@@ -62,7 +63,8 @@ typedef enum {
6263 STMT_MODEL_DECL ,
6364 STMT_MODEL_DECL ,
6465 STMT_QUANTUM_BLOCK ,
65- STMT_GPU_BLOCK
66+ STMT_GPU_BLOCK ,
67+ STMT_VERIFY
6668} StmtType ;
6769
6870// --- List Structures ---
@@ -115,6 +117,7 @@ typedef struct { char *name; } VariableExpr;
115117typedef struct { char * name ; Expr * value ; } AssignExpr ;
116118typedef struct { Expr * left ; char * operator ; Expr * right ; } LogicalExpr ;
117119typedef struct { Expr * value ; } SanitizeExpr ;
120+ typedef struct { Expr * value ; bool isEncrypt ; } CryptoExpr ; // isEncrypt=true (encrypt), false (decrypt)
118121typedef struct { Expr * callee ; ExprList * arguments ; } CallExpr ;
119122typedef struct { Expr * object ; char * name ; } GetExpr ;
120123typedef struct { Expr * object ; char * name ; Expr * value ; } SetExpr ;
@@ -138,6 +141,7 @@ struct Expr {
138141 BinaryExpr binary ; UnaryExpr unary ; LiteralExpr literal ; GroupingExpr grouping ;
139142 VariableExpr variable ; AssignExpr assign ; LogicalExpr logical ;
140143 SanitizeExpr sanitize ;
144+ CryptoExpr crypto ;
141145 // ... struct pointers for others due to C union size limit usually
142146 struct { Expr * callee ; ExprList * arguments ; } call ;
143147 struct { Expr * object ; char * name ; } get ;
@@ -170,13 +174,19 @@ typedef struct { char *name; StringList *params; TypeInfo returnType; } IntentDe
170174typedef struct { char * name ; char * targetIntent ; StmtList * body ; } ResolverDeclStmt ;
171175typedef struct { char * name ; StringList * params ; TypeInfo returnType ; } IntentDeclStmt ;
172176typedef 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 ;
173179typedef struct { StmtList * body ; char * strategy ; int retryCount ; StmtList * recoveryBody ; } ResilientStmt ;
174180typedef struct { char * policyName ; char * target ; StmtList * rules ; } PolicyDeclStmt ;
175181typedef struct { char * name ; StringList * capabilities ; } NodeDeclStmt ;
176182typedef 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 ;
177186typedef struct { char * name ; char * architecture ; StmtList * body ; } ModelDeclStmt ;
178187typedef struct { StmtList * body ; } QuantumBlockStmt ;
179188typedef struct { char * kernelName ; StmtList * body ; } GPUBlockStmt ;
189+ typedef struct { char * identityName ; StmtList * body ; } VerifyStmt ; // verify identity <name> { ... }
180190
181191struct Stmt {
182192 StmtType type ;
@@ -201,6 +211,7 @@ struct Stmt {
201211 ModelDeclStmt model_decl ;
202212 QuantumBlockStmt quantum_block ;
203213 GPUBlockStmt gpu_block ;
214+ VerifyStmt verify_stmt ;
204215 } as ;
205216};
206217
@@ -225,6 +236,8 @@ Expr *createAwaitExpr(Expr *expression, int line, int column);
225236Expr * createThisExpr (int line , int column );
226237Expr * createSuperExpr (const char * method , int line , int column );
227238Expr * createNewExpr (Expr * clazz , ExprList * args , int line , int column );
239+ Expr * createSanitizeExpr (Expr * value , int line , int column ); // Added prototype
240+ Expr * createCryptoExpr (Expr * val , bool isEncrypt , int line , int column );
228241
229242Stmt * createExpressionStmt (Expr * expression , int line , int column );
230243Stmt * createVarDeclStmt (const char * name , Expr * init , bool is_const , bool isTemporal , int ttl , int line , int column );
@@ -254,6 +267,7 @@ Stmt *createDistributedDeclStmt(const char *name, StmtList *fields, int line, in
254267Stmt * createModelDeclStmt (const char * name , const char * architecture , StmtList * body , int line , int column );
255268Stmt * createQuantumBlockStmt (StmtList * body , int line , int column );
256269Stmt * createGPUBlockStmt (const char * kernelName , StmtList * body , int line , int column );
270+ Stmt * createVerifyStmt (const char * identityName , StmtList * body , int line , int column );
257271
258272ExprList * createExprList ();
259273void appendExpr (ExprList * list , Expr * expr );
0 commit comments