diff options
author | Tucker Evans <tuckerevans24@gmail.com> | 2019-08-03 20:48:13 -0400 |
---|---|---|
committer | Tucker Evans <tuckerevans24@gmail.com> | 2019-08-03 20:48:39 -0400 |
commit | 8c59ccd6e23ac63d59f5839ad410c04b393ff0c0 (patch) | |
tree | 7f73ed2cf6450614599514ca77a2646624484da8 /scope.h | |
parent | e9ae811ffaa08caef0acca643ca1e7a1ff72396f (diff) | |
parent | 12f50dec6a529784a360dfaec9dc562b810ae2fd (diff) |
Merge branch 'scopes' into types
Diffstat (limited to 'scope.h')
-rw-r--r-- | scope.h | 27 |
1 files changed, 27 insertions, 0 deletions
@@ -0,0 +1,27 @@ +#ifndef SCOPE_H +#define SCOPE_H + +#define HASH_SIZE 211 + +typedef struct hash { + node* table[HASH_SIZE]; + struct hash *prev; + node* ret_var; +} scope; + +scope* mkscope(); +void free_scope(scope*); + +/*stack routines*/ +void pop_scope(scope**); +void push_scope(scope**); + +/*helpers*/ +node* scope_insert(scope*, char*); +node* scope_search_all(scope*, char*); +node* scope_search(scope*, char*); +node* scope_safe_search_all(scope*, char*); + +/*hash function*/ +int hashpjw(char*); +#endif |