Проблема: У нас это следующее перечисление декларации:получить значение перечисления из входной строки в C
enum yytokentype
{
ID = 258,
SEMI = 259,
NUMBER = 260,
DECIMAL = 261,
SENTENCE = 262,
LETTER = 263,
ASSIGN = 264,
//etc... }
Теперь мы получаем строку, значение которой может быть «ID», «SEMI», «ЧИСЛО» и т.д. и мы должны сохранить целое число, соответствующее этой строке в enum yytokentype, в отдельном целочисленном массиве. Я не уверен, как это сделать на C. Были некоторые ответы для C#, но мне требуется строго C здесь. ТИА.
Вы пытались использовать двумерный массив структур? Пример (псевдокод) 'struct {char * item; int val; } Токен; Token tokens [] = {"bla", 6}; ' – Joel
Мы можем это сделать, но этот enum yytokentype имеет 26 записей, и это будет много печатать (поскольку нам нужно будет установить строку и нет для каждой записи в enum yytokentype). Это, конечно, будет последним вариантом. Мне просто интересно, есть ли для этого более короткий путь. – shane
использование петель. Создайте массив строк, передайте его структуре. – Joel