Next: Rpcalc Lexer, Previous: Rpcalc Decls, Up: RPN Calc [Contents][Index]
rpcalc
¤Î¤¿¤á¤Îʸˡµ¬Â§µÕ¥Ý¡¼¥é¥ó¥ÉµË¡ÅÅÂî¤Î¤¿¤á¤Îʸˡµ¬Â§¤ò¼¨¤·¤Þ¤¹¡£
input: /* ¶õ */ | input line ; line: '\n' | exp '\n' { printf ("\t%.10g\n", $1); } ; exp: NUM { $$ = $1; } | exp exp '+' { $$ = $1 + $2; } | exp exp '-' { $$ = $1 - $2; } | exp exp '*' { $$ = $1 * $2; } | exp exp '/' { $$ = $1 / $2; } /* ¤Ù¤¾è´Ø¿ô */ | exp exp '^' { $$ = pow ($1, $2); } /* ñ¹à¤Î¥Þ¥¤¥Ê¥¹ */ | exp 'n' { $$ = -$1; } ; %%
¤³¤³¤ÇÄêµÁ¤µ¤ì¤ërpcalc¡Ö¸À¸ì¡×¤Î¥°¥ë¡¼¥×¤Ï¡¢
¼°¡Êexp
¡Ë¤È¡¢ÆþÎϹԡÊline
¡Ë¤È¡¢
´°Á´¤ÊÆþÎϤμ̤·¡Êinput
¡Ë¤Ç¤¹¡£
¤³¤ì¤é¤ÎÈó½ªÃ¼µ¹æ¤Ë¤Ï¡¢¡ÖÏÀÍýÏ¡פȤ¤¤¦‘|’µ¹æ¤Ç¶èÀÚ¤é¤ì¤¿¡¢
¤¤¤¯¤Ä¤«¤Îµ¬Â§¤¬¤¢¤ê¤Þ¤¹¡£
°Ê²¼¤Î¹à¤Ç¡¢¤³¤ì¤é¤Îµ¬Â§¤Î°ÕÌ£¤òÀâÌÀ¤·¤Þ¤¹¡£
¸À¸ì¤Î°ÕÌ£¤Ï¡¢¥°¥ë¡¼¥×¤¬Ç§¼±¤µ¤ì¤¿¤È¤¤Î¥¢¥¯¥·¥ç¥ó¤Ë¤è¤Ã¤Æ·è¤Þ¤ê¤Þ¤¹¡£ ¥¢¥¯¥·¥ç¥ó¤È¤Ï¡¢¥Ö¥ì¡¼¥¹¤Ç°Ï¤Þ¤ì¤¿C¤Î¥×¥í¥°¥é¥à¤Ç¤¹¡£ See Actions¡£
¤³¤ì¤é¤Î¥¢¥¯¥·¥ç¥ó¤òC¤Ç½ñ¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¤¬¡¢
Bison¤Ë¤Ïµ¬Â§¤Î´Ö¤Ç°ÕÌ£Ãͤò¼õ¤±ÅϤ·¤¹¤ëÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£
¤½¤ì¤¾¤ì¤Î¥¢¥¯¥·¥ç¥ó¤Ç¡¢µ¼»÷ÊÑ¿ô$$
¤Ï¡¢
¤½¤Îµ¬Â§¤¬¹½À®¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¥°¥ë¡¼¥×¤Î°ÕÌ£Ãͤò¼¨¤·¤Þ¤¹¡£
$$
¤ËÃͤòÂåÆþ¤¹¤ë¤³¤È¤¬¡¢¥¢¥¯¥·¥ç¥ó¤Î¼ç¤Ê»Å»ö¤Ç¤¹¡£
µ¬Â§¤ÎÉôÉʤΰÕÌ£Ãͤϡ¢$1
¡¢$2
¤Ê¤É¤Î
̾Á°¤Ç»²¾È¤µ¤ì¤Þ¤¹¡£
• Rpcalc Input: | ||
• Rpcalc Line: | ||
• Rpcalc Expr: |