assistance-engine/ingestion/code/BNF/n07_BNF.txt

9 lines
584 B
Plaintext

/* Nota: las funciones utilizan llaves {} como delimitadores de bloque por decisión
arquitectónica explícita, diferenciándose de las estructuras de control (if, loop, try)
que usan palabras clave de cierre (end(), endLoop()). Ambos patrones coexisten
en la gramática y el parser los distingue por el token de apertura. */
<function_decl> ::= "function" <identifier> "(" [<param_list>] ")" "{" <EOL>
<block>
"}" <EOL>
<param_list> ::= <identifier> ("," <identifier>)*
<return_stmt> ::= "return(" [<expression>] ")"