Funnier delimiters for functions.
This commit is contained in:
parent
a25e1697cd
commit
0de580d0e9
|
@ -138,12 +138,6 @@ CHAR [a-zA-Z_]
|
||||||
"," {
|
"," {
|
||||||
return COMMA;
|
return COMMA;
|
||||||
}
|
}
|
||||||
"{" {
|
|
||||||
return LCURL;
|
|
||||||
}
|
|
||||||
"}" {
|
|
||||||
return RCURL;
|
|
||||||
}
|
|
||||||
"brematurata la supercazzola" {
|
"brematurata la supercazzola" {
|
||||||
return FUNCALL;
|
return FUNCALL;
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,7 +20,7 @@ extern void emit(const char *, ...);
|
||||||
%token ASSERT_BEGIN ASSERT_END
|
%token ASSERT_BEGIN ASSERT_END
|
||||||
%token LOOP_BEGIN LOOP_CONDITION
|
%token LOOP_BEGIN LOOP_CONDITION
|
||||||
%token BRANCH_CONDITION BRANCH_BEGIN BRANCH_ELSE BRANCH_END CASE_END
|
%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 FUNDECL PARAMS FUNCALL
|
||||||
%token ABORT
|
%token ABORT
|
||||||
%token ID NUMBER FLOAT
|
%token ID NUMBER FLOAT
|
||||||
|
@ -49,7 +49,7 @@ fun_decls:
|
||||||
/* epsilon */ | fun_decls fun_decl
|
/* epsilon */ | fun_decls fun_decl
|
||||||
;
|
;
|
||||||
fun_decl:
|
fun_decl:
|
||||||
FUNDECL ID args LCURL statements RCURL
|
FUNDECL ID args DOT statements CASE_END
|
||||||
;
|
;
|
||||||
args:
|
args:
|
||||||
/* epsilon */ | PARAMS arglist
|
/* epsilon */ | PARAMS arglist
|
||||||
|
|
|
@ -156,9 +156,9 @@ Che corrisponde a (pseudocodice):
|
||||||
|
|
||||||
*** Funzioni ***
|
*** Funzioni ***
|
||||||
Una funzione può essere definita con la sintassi:
|
Una funzione può essere definita con la sintassi:
|
||||||
blinda la supercazzola <nome> [con <parametro>[, <parametro>]] {
|
blinda la supercazzola <nome> [con <parametro>[, <parametro>]].
|
||||||
<codice>
|
<codice>
|
||||||
}
|
O scherziamo?
|
||||||
|
|
||||||
che definisce la funzione <nome> con i parametri in ingresso specificati
|
che definisce la funzione <nome> con i parametri in ingresso specificati
|
||||||
|
|
||||||
|
|
Reference in New Issue
Block a user