::= | | ::= "if(" ")" [ "else()" ] "end()" /* if() soporta dos modos: Modo 1 — comparación estructurada: los dos primeros argumentos deben ser identificadores simples o literales, nunca expresiones de acceso. Si se necesita comparar un valor extraído de una estructura (ej. dict['clave']), debe asignarse previamente a una variable. Modo 2 — expresión libre: None, None, expresión compleja como string */ ::= "," "," | "None" "," "None" "," ::= | ::= "startLoop(" "," "," ")" "endLoop()" ::= "try()" "exception(" ")" "end()" ::= *