Commit aa8b856aeb3e2aafd61486349fbb4f40899e682f
1 parent
5d97b206
some more fixes. Still some errors are left.
Showing
4 changed files
with
13 additions
and
6 deletions
| @@ -15,4 +15,5 @@ s_block * blockPrev (s_block *); | @@ -15,4 +15,5 @@ s_block * blockPrev (s_block *); | ||
| 15 | s_stmtQueue * blockStmts (s_block *); | 15 | s_stmtQueue * blockStmts (s_block *); |
| 16 | s_identList * blockIdl (s_block *); | 16 | s_identList * blockIdl (s_block *); |
| 17 | 17 | ||
| 18 | +s_identList * blockGetIdl (s_block *); | ||
| 18 | #endif /* _BLOCK_H_ */ | 19 | #endif /* _BLOCK_H_ */ |
| 1 | +#include <malloc.h> | ||
| 2 | + | ||
| 1 | #include <identList.h> | 3 | #include <identList.h> |
| 2 | #include <stmtQueue.h> | 4 | #include <stmtQueue.h> |
| 3 | 5 | ||
| 4 | -typedef struct block s_block; | ||
| 5 | - | ||
| 6 | struct block /* a stack of used blocks. */ | 6 | struct block /* a stack of used blocks. */ |
| 7 | { | 7 | { |
| 8 | s_stmtQueue * stmts; | 8 | s_stmtQueue * stmts; |
| @@ -12,6 +12,11 @@ struct block /* a stack of used blocks. */ | @@ -12,6 +12,11 @@ struct block /* a stack of used blocks. */ | ||
| 12 | }; | 12 | }; |
| 13 | 13 | ||
| 14 | 14 | ||
| 15 | +s_identList * | ||
| 16 | +blockGetIdl (s_block * block) | ||
| 17 | +{ | ||
| 18 | + return block->idl; | ||
| 19 | +} | ||
| 15 | s_block * | 20 | s_block * |
| 16 | blockNew (s_stmtQueue * stmts) | 21 | blockNew (s_stmtQueue * stmts) |
| 17 | { | 22 | { |
| @@ -19,7 +24,8 @@ blockNew (s_stmtQueue * stmts) | @@ -19,7 +24,8 @@ blockNew (s_stmtQueue * stmts) | ||
| 19 | 24 | ||
| 20 | new->stmts = stmts; | 25 | new->stmts = stmts; |
| 21 | new->prev = NULL; | 26 | new->prev = NULL; |
| 22 | - new->idl = identListNew (new); | 27 | + new->idl = identListNew (); /* !!!FIXME: i guess idl should know about |
| 28 | + its block! (Give the block as arg) */ | ||
| 23 | 29 | ||
| 24 | return new; | 30 | return new; |
| 25 | } | 31 | } |
| @@ -284,7 +284,7 @@ stmtBlock (s_stmt * stmt, s_block * actBlock) | @@ -284,7 +284,7 @@ stmtBlock (s_stmt * stmt, s_block * actBlock) | ||
| 284 | if (id == NULL) | 284 | if (id == NULL) |
| 285 | exitError (0); | 285 | exitError (0); |
| 286 | 286 | ||
| 287 | - blockSetNonLocalId (args, id); | 287 | + blockSetNonLocalId (gBlock, id); |
| 288 | } | 288 | } |
| 289 | } | 289 | } |
| 290 | 290 | ||
| @@ -309,7 +309,7 @@ stmtIf (s_stmt * stmt, s_block * actBlock) | @@ -309,7 +309,7 @@ stmtIf (s_stmt * stmt, s_block * actBlock) | ||
| 309 | _do = stmtQueueGet (args, 2); | 309 | _do = stmtQueueGet (args, 2); |
| 310 | 310 | ||
| 311 | if (_do != NULL) | 311 | if (_do != NULL) |
| 312 | - stmtDo (_do); | 312 | + stmtDo (_do, actBlock); |
| 313 | 313 | ||
| 314 | return (u_stmtType) 0; | 314 | return (u_stmtType) 0; |
| 315 | } | 315 | } |
| @@ -116,7 +116,7 @@ stmtQueueDo (s_stmtQueue * sQueue) | @@ -116,7 +116,7 @@ stmtQueueDo (s_stmtQueue * sQueue) | ||
| 116 | return; | 116 | return; |
| 117 | 117 | ||
| 118 | for (i = 0; i < sQueue->maxIdx; i++) | 118 | for (i = 0; i < sQueue->maxIdx; i++) |
| 119 | - stmtDo (sQueue->stmts[i]); | 119 | + stmtDo (sQueue->stmts[i], NULL /* !!!FIXME: give me a sane value!!! */); |
| 120 | } | 120 | } |
| 121 | 121 | ||
| 122 | unsigned | 122 | unsigned |
Please
register
or
login
to post a comment