diff options
author | Ting-Wei Lan <lantw44@gmail.com> | 2015-12-06 22:46:08 +0800 |
---|---|---|
committer | Ting-Wei Lan <lantw44@gmail.com> | 2015-12-06 22:46:08 +0800 |
commit | 39b409c9625f427966ae577aa3caa4d8caaa56a0 (patch) | |
tree | 73c0602e13440813452fcdcdcbecfcc533bca0df /src/symbol-table.c | |
parent | 21e57e72f5d7417bc2704d0356d66c21c269114a (diff) | |
download | compiler2015-39b409c9625f427966ae577aa3caa4d8caaa56a0.tar.gz compiler2015-39b409c9625f427966ae577aa3caa4d8caaa56a0.tar.zst compiler2015-39b409c9625f427966ae577aa3caa4d8caaa56a0.zip |
Implement semantic checks for type and variable declarations
Diffstat (limited to 'src/symbol-table.c')
-rw-r--r-- | src/symbol-table.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/symbol-table.c b/src/symbol-table.c index bd00d23..26a104d 100644 --- a/src/symbol-table.c +++ b/src/symbol-table.c @@ -82,4 +82,15 @@ CcmmcSymbol *ccmmc_symbol_table_retrive ( return NULL; } +bool ccmmc_symbol_scope_exist(CcmmcSymbolScope *scope, const char *name) +{ + int key = hash(name); + for (CcmmcSymbol *symbol = scope->hash_table[key]; + symbol != NULL; symbol = symbol->next) { + if (strcmp(name, symbol->name) == 0) + return true; + } + return false; +} + // vim: set sw=4 ts=4 sts=4 et: |