Compiler v2.0.0
Victor-Y-Fadeev
released this
15 Jun 11:07
·
1963 commits
to master
since this release
Добавлена полноценная реализация интерфейса дерева:
Создана библиотека работы с Хеш-таблицей:
hash hash_create(const size_t alloc);
size_t hash_add(hash *const hs, const item_t key, const size_t amount);
size_t hash_get_index(const hash *const hs, const item_t key);
size_t hash_get_amount(const hash *const hs, const item_t key);
item_t hash_get(const hash *const hs, const item_t key, const size_t num);
size_t hash_set(hash *const hs, const item_t key, const size_t num, const item_t value);
item_t hash_get_key(const hash *const hs, const size_t index);
size_t hash_get_amount_by_index(const hash *const hs, const size_t index);
item_t hash_get_by_index(const hash *const hs, const size_t index, const size_t num);
int hash_set_by_index(hash *const hs, const size_t index, const size_t num, const item_t value);
bool hash_is_correct(const hash *const hs);
int hash_clear(hash *const hs);
Отсортированы константы компилятора (файлы defs.h и tokens.h):
- Константы сгруппированы по соответствующим перечислениям (
enum
) - Добавлены Doxygen-комментарии
- Стандартизирован формат именования, Snake case в верхнем регистре
Общие исправления и улучшения:
- Исправлено построение дерева для инициализаторов массивов и объявлений структур
- Добавлен флаг
-Wno
для "отключения" восстановления после ошибок - Макросы
GENERATE_TREE
иGENERATE_CODES
привязаны к Debug конфигурации проекта - Отключен цветной вывод в Debug сборках macOS
- Добавлены модификаторы
static
иinline
для приватных функций (там где это уместно) - Внедрено использование типа
bool
(библиотека<stdbool.h>
) - Исправлено форматирование печати
size_t
(%zi
заменен на%zu
) - Добавлены пропущенные запятые в конце
enum
- Удалены лишние пробелы и табуляции в конце строк