Funnier delimiters for functions.

This commit is contained in:
Stefano Sanfilippo 2014-11-23 22:18:56 +01:00
parent a25e1697cd
commit 0de580d0e9
3 changed files with 4 additions and 10 deletions

View File

@ -138,12 +138,6 @@ CHAR [a-zA-Z_]
"," {
return COMMA;
}
"{" {
return LCURL;
}
"}" {
return RCURL;
}
"brematurata la supercazzola" {
return FUNCALL;
}

View File

@ -20,7 +20,7 @@ extern void emit(const char *, ...);
%token ASSERT_BEGIN ASSERT_END
%token LOOP_BEGIN LOOP_CONDITION
%token BRANCH_CONDITION BRANCH_BEGIN BRANCH_ELSE BRANCH_END CASE_END
%token COLON COMMA LCURL RCURL DOT
%token COLON COMMA DOT
%token FUNDECL PARAMS FUNCALL
%token ABORT
%token ID NUMBER FLOAT
@ -49,7 +49,7 @@ fun_decls:
/* epsilon */ | fun_decls fun_decl
;
fun_decl:
FUNDECL ID args LCURL statements RCURL
FUNDECL ID args DOT statements CASE_END
;
args:
/* epsilon */ | PARAMS arglist

View File

@ -156,9 +156,9 @@ Che corrisponde a (pseudocodice):
*** Funzioni ***
Una funzione può essere definita con la sintassi:
blinda la supercazzola <nome> [con <parametro>[, <parametro>]] {
blinda la supercazzola <nome> [con <parametro>[, <parametro>]].
<codice>
}
O scherziamo?
che definisce la funzione <nome> con i parametri in ingresso specificati