#include "codegen.h" extern const struct code_generator unit_generator; extern const struct code_generator expr_generator; static const struct code_generator *code_generators[] = { [CODE_GENERATOR_UNIT] = &unit_generator, [CODE_GENERATOR_EXPR] = &expr_generator, }; static const size_t nr_code_generators = sizeof code_generators / sizeof code_generators[0]; const struct code_generator *get_code_generator(enum code_generator_type type) { if (type >= nr_code_generators) { return NULL; } return code_generators[type]; }