Next: Rpcalc Rules, Up: RPN Calc [Contents][Index]
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
¤À¤±¤ò¡¢
½ªÃ¼µ¹æ¤È¤·¤ÆÀë¸À¤·¤Þ¤¹¡£