Browse Source

feat: 函数和类定义时允许括号缺省

SongZihuan 4 năm trước cách đây
mục cha
commit
a5e327605c
2 tập tin đã thay đổi với 3 bổ sung6 xóa
  1. 0 2
      main.c
  2. 3 4
      parser/grammar.c

+ 0 - 2
main.c

@@ -21,8 +21,6 @@ int main(int argc, char *argv[]) {
 
 
 /** TODO-szh List
- * 赋值权限认证
  * 官方函数
  * 官方类
- * for 循环
  */

+ 3 - 4
parser/grammar.c

@@ -998,10 +998,8 @@ void parserDef(PASERSSIGNATURE){
                             "Don't get a function/class name"))
         goto error_;
 
-    if (!checkToken(pm, MATHER_LP)) {
-        syntaxError(pm, syntax_error, line, 1, "Don't get a function/class ( before parameter");
-        goto error_;
-    }
+    if (!checkToken(pm, MATHER_LP))
+        goto get_code;
     if (!parserParameter(CALLPASERSSIGNATURE, &pt, true, true, false, false, MATHER_COMMA, MATHER_ASSIGNMENT)) {
         lexEnter(pm, false);
         syntaxError(pm, syntax_error, line, 1, "Don't get a function/class parameter");
@@ -1011,6 +1009,7 @@ void parserDef(PASERSSIGNATURE){
         syntaxError(pm, syntax_error, line, 1, "Don't get a function/class ) after parameter");
         goto error_;
     }
+    get_code:
     if (!callParserCode(CALLPASERSSIGNATURE, &code_tmp, "Don't get a function code", line)) {
         syntaxError(pm, syntax_error, line, 1, "Don't get a function code");
         goto error_;