Next: , Up: RPN Calc   [Contents][Index]


2.1.1 rpcalc¤Î¤¿¤á¤ÎÀë¸À

µÕ¥Ý¡¼¥é¥ó¥Éµ­Ë¡ÅÅÂî¤Î¤¿¤á¤ÎC¤ÈBison¤ÎÀë¸À¤ò¼¨¤·¤Þ¤¹¡£ C¤ÈƱÍͤˑ/*…*/’¤Ï¥³¥á¥ó¥È¤Ç¤¹¡£

/* µÕ¥Ý¡¼¥é¥ó¥Éµ­Ë¡ÅÅÂî */

%{
#define YYSTYPE double
#include <math.h>
%}

%token NUM

%% /* ʸˡµ¬Â§¤È¥¢¥¯¥·¥ç¥ó¤¬Â³¤¯ */

CÀë¸ÀÉô¡Êsee The C Declarations Section¡Ë¤Ë¤Ï¡¢ 2¤Ä¤Î¥×¥ê¥×¥í¥»¥Ã¥µ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤¬¤¢¤ê¤Þ¤¹¡£

#define¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤Ç¡¢¥È¡¼¥¯¥ó¤È¥°¥ë¡¼¥×¤Î°ÕÌ£ÃͤËÂФ¹¤ë C¤Î¥Ç¡¼¥¿·¿¤ò»ØÄꤹ¤ë¤¿¤á¤Ë¡¢¥Þ¥¯¥íYYSTYPE¤òÄêµÁ¤·¤Þ¤¹ ¡Êsee Data Types of Semantic Values¡Ë¡£ Bison¹½Ê¸²òÀÏ´ï¤Ï¡¢YYSTYPE¤ËÄêµÁ¤µ¤ì¤¿·¿¤ò»È¤¤¤Þ¤¹¡£ ÄêµÁ¤·¤Ê¤¤¤È¡¢int·¿¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£ ³Æ¥È¡¼¥¯¥ó¤È¼°¤Ï¡¢ÉâÆ°¾®¿ôÅÀ¿ô¤Ç¤¢¤ëµ­Ï¿Ãͤò»ý¤Ä¤Î¤Ç¡¢ ¤³¤³¤Ç¤Ïdouble¤ò»ØÄꤷ¤Þ¤¹¡£

¤Ù¤­¾è´Ø¿ôpow¤ÎÀë¸À¤ò»È¤¦¤¿¤á¤Ë¡¢ #include¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤ò»È¤Ã¤Æ¤¤¤Þ¤¹¡£

Âè2¤ÎÉô¡¢BisonÀë¸À¤Ï¡¢Bison¤Î¤¿¤á¤Ë¥È¡¼¥¯¥ó·¿¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤òÍѰդ·¤Þ¤¹ ¡Êsee The Bison Declarations Section¡Ë¡£ 1ʸ»ú¥ê¥Æ¥é¥ë¤Ç¤Ê¤¤½ªÃ¼µ­¹æ¤Ï¡¢¤³¤³¤ÇÀë¸À¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹ ¡ÊÄ̾1ʸ»ú¤Î¥ê¥Æ¥é¥ë¤òÀë¸À¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡Ë¡£ ¤³¤ÎÎã¤Ç¤Ï¡¢¤¹¤Ù¤Æ¤Î»»½Ñ±é»»»Ò¤¬1ʸ»ú¥ê¥Æ¥é¥ë¤Ê¤Î¤Ç¡¢ ¿ôÃÍÄê¿ô¤ËÂФ¹¤ë¥È¡¼¥¯¥ó·¿NUM¤À¤±¤ò¡¢ ½ªÃ¼µ­¹æ¤È¤·¤ÆÀë¸À¤·¤Þ¤¹¡£