فهرست منبع

fix: 优化parserCommand的switch分支

只对特定的token进入operation匹配而不是使operation为default
SongZihuan 4 سال پیش
والد
کامیت
8289f92924
1فایلهای تغییر یافته به همراه10 افزوده شده و 2 حذف شده
  1. 10 2
      parser/grammar.c

+ 10 - 2
parser/grammar.c

@@ -169,11 +169,19 @@ void parserCommand(PASERSSIGNATURE){
                                          "Command: call include\n", true,
                                          "parserInclude: Don't get file after include");
             break;
-        // TODO-szh 对不支持的符号做error处理, 如:except、}、)
-        default :
+        case MATHER_STRING:
+        case MATHER_NUMBER:
+        case MATHER_VAR:
+        case MATHER_LC:
+        case MATHER_LB:
+        case MATHER_LP:
+        case MATHER_SUB:
             status = commandCallBack_(CALLPASERSSIGNATURE, parserOperation, OPERATION, &st,
                                       "Command: call operation\n");
             break;
+        default:
+            status = false;
+            break;
     }
     if (!status)
         goto return_;