summaryrefslogtreecommitdiff
path: root/src/ht.c
AgeCommit message (Collapse)Author
2022-02-05replace some hash table usage by tuplesJSDurand
Previously I used hash tables, which consume too much memory. Now the critical parts are replaced by a new hand-written library called "tuple.h". Now we can easily parse larger inputs. I haven't tested its limits, though.
2022-02-01need to stop abusing hash tablesJSDurand
Hash tables take too much space! If I use hash tables, the length of the input will be severely limited, to an unacceptable extent. So we have to use arrays instead.
2022-01-31test/check_cnp: working algorithmJSDurand
I now have a working algorithm in test/check_cnp. It can correctly parse the grammar for an esoteric language called "Brainfuck". This language does not matter. What matters is that it contains parentheses. So this shows that at least for grammars as complex as parentheses, this parser works well. Haha.
2022-01-28BSRJSDurand
A prototype of BSR is roughly finished.
2022-01-22Implemented a hash table with any type of keysJSDurand
2022-01-21temporary save pointJSDurand
Just to save some work.
2022-01-12Implement a simple hash table.JSDurand
It is a very basic and simple hash table. It is so simple that I hesitate to call it a hash table. Anyways, I think it suffices for my purposes here. * Makefile.am: Add necessary files. * grammar.c (new_tnt_string): Formatting. * ht.c (new_ht): Constructor (destroy_ht): Destructor (ht_expand): Rehash (ht_insert, ht_delete, ht_find): Main functions. * list.c (add_to_list, list_assure_size): Modify the use of realloc. * test/check_ht.c: Ensure this is working correctly. * util.c (read_entire_file): Modify the use of realloc.