Spaces:
Running
Running
Update parser.py
Browse files
parser.py
CHANGED
|
@@ -105,6 +105,8 @@ class Parser:
|
|
| 105 |
}
|
| 106 |
|
| 107 |
if func_name in funciones_con_argumento:
|
|
|
|
|
|
|
| 108 |
self.match("OPEN_PAREN")
|
| 109 |
arg = self.expression()
|
| 110 |
self.match("CLOSE_PAREN")
|
|
@@ -112,6 +114,8 @@ class Parser:
|
|
| 112 |
return {"type": "function", "name": func_name, "arg": arg}
|
| 113 |
|
| 114 |
elif func_name in funciones_sin_argumento:
|
|
|
|
|
|
|
| 115 |
self.match("SEMICOLON")
|
| 116 |
return {"type": "function", "name": func_name, "arg": None}
|
| 117 |
|
|
|
|
| 105 |
}
|
| 106 |
|
| 107 |
if func_name in funciones_con_argumento:
|
| 108 |
+
if self.current()[0] != "OPEN_PAREN":
|
| 109 |
+
raise SyntaxError(f"La funci贸n '{func_name}' requiere un argumento entre par茅ntesis.")
|
| 110 |
self.match("OPEN_PAREN")
|
| 111 |
arg = self.expression()
|
| 112 |
self.match("CLOSE_PAREN")
|
|
|
|
| 114 |
return {"type": "function", "name": func_name, "arg": arg}
|
| 115 |
|
| 116 |
elif func_name in funciones_sin_argumento:
|
| 117 |
+
if self.current()[0] == "OPEN_PAREN":
|
| 118 |
+
raise SyntaxError(f"La funci贸n '{func_name}' no debe llevar argumentos ni par茅ntesis.")
|
| 119 |
self.match("SEMICOLON")
|
| 120 |
return {"type": "function", "name": func_name, "arg": None}
|
| 121 |
|