?? 遞歸下降法整數運算.cpp
字號:
#include "遞歸下降法整數運算.h"
char TOKEN;
void get_token () {
TOKEN = getchar ();
}
void match (char c) {
if (TOKEN == c) get_token ();
}
int command () {
int result = expression ();
return result;
}
int expression () {
int result = term ();
while (TOKEN == '+' || TOKEN == '-') {
char tmp = TOKEN;
get_token ();
tmp == '+' ?
result += term () : result -= term ();
}
return result;
}
int term () {
int result = factor ();
while (TOKEN == '*' || TOKEN == '/') {
char tmp = TOKEN;
get_token ();
tmp == '*' ?
result *= factor () : result /= factor ();
}
return result;
}
int factor () {
int result;
if (TOKEN == '(') {
get_token ();
result = expression ();
match (')');
} else
result = number ();
return result;
}
int number () {
int result = digit ();
get_token ();
while (TOKEN <= 57 && TOKEN >= 48) {
result = 10 * result + digit ();
get_token ();
}
return result;
}
int digit () {
int result = TOKEN - '0';
return result;
}
void parse () {
get_token ();
int result = command ();
printf ("The result of this expression is: %d\n", result);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -