Windows 7: как вывести окно на передний план, независимо от того, какое другое окно имеет фокус?

Объявление %union изменяет тип yylval.

Руководство bison объясняет :

В обычном (нерентабельный) парсер, семантическое значение токена должно храниться в глобальной переменной yylval. Когда вы используете только один тип данных для семантических значений, yylval имеет этот тип. Таким образом, если тип int (по умолчанию), вы можете записать это в yylex:

...
yylval = value;  /* Put value onto Bison stack. */
return INT;      /* Return the type of the token. */
...

Когда вы используете несколько типов данных, тип yylval является объединением сделанные из объявления %union (см. раздел «Коллекция типов значений»). Поэтому, когда вы сохраняете значение токена, вы должны использовать правильный член объединения. Если объявление %union выглядит так:

%union {
  int intval;
  double val;
  symrec *tptr;
}

, тогда код в yylex может выглядеть следующим образом:

...
yylval.intval = value; /* Put value onto Bison stack. */
return INT;          /* Return the type of the token. */
...
blockquote>

16
задан jmite 10 June 2011 в 22:54
поделиться