Вы можете использовать обтекание по-прежнему. Обтекание такое же, как в оригинале! :)
Если вы действительно хотите:
var orig = wrap;
Вот ветка на форумах MySQL, в которой обсуждается именно это.
Вот ответ, опубликованный Кеном Тасселлом
Проблема решена с помощью следующей команды:
grant file on *.* to kentest@localhost identified by 'kentest1';
В качестве дополнительной мысли, если вы хотите быть более явным с вашими сокращениями (если вы выполняете аннотацию AST, это может быть удобно), вы можете сделать указатели значений стека, а затем обработать тип ценит себя. Очень похоже на скалярные типы с:
struct myScalar {
union {
int num;
char *id;
char *float_lexeme;
}payload;
enum {
TYPE_NUM,
TYPE_IDENTIFIER,
TYPE_FLOAT_CHAR
} type;
char *orig_lexeme;
};
И имеют typedef и scalar_val * val
для стека.
Когда вы переходите к более сложным интерфейсам компилятора, это может помочь построить ваш AST следующим образом так что при перемещении по дереву у вас будут лучшие метаданные, и вы также можете дополнить перевод переводами для до-семантических типов. Затем все сводится к вашим конечным продуктам, таким как ID, чтобы перетасовать лексему в правильную скалярную полезную нагрузку.
Не полное объяснение, но вы поняли идею.
Надеюсь, это поможет с вашими будущими интерфейсами Bison / Lex и ...