Skip to content
Snippets Groups Projects
Commit 4b3282c5 authored by Wilke Pierre's avatar Wilke Pierre
Browse files

Mise à jour des tests funcall.

parent a51088ad
No related branches found
No related tags found
No related merge requests found
Showing
with 281 additions and 25 deletions
int main(int argc,char* argv[]){ main(){
return f(); return f();
} }
int f(){ f(){
return 3; return 3;
} }
{"output": "", "error": null, "retval": 3}
\ No newline at end of file
{"output": "", "error": null, "retval": 3}
\ No newline at end of file
SYM_IDENTIFIER(main)
SYM_LPARENTHESIS
SYM_RPARENTHESIS
SYM_LBRACE
SYM_RETURN
SYM_IDENTIFIER(f)
SYM_LPARENTHESIS
SYM_RPARENTHESIS
SYM_SEMICOLON
SYM_RBRACE
SYM_IDENTIFIER(f)
SYM_LPARENTHESIS
SYM_RPARENTHESIS
SYM_LBRACE
SYM_RETURN
SYM_INTEGER(3)
SYM_SEMICOLON
SYM_RBRACE
SYM_EOF
{"output": "", "error": null, "retval": 377}
\ No newline at end of file
{"output": "", "error": null, "retval": 1}
\ No newline at end of file
SYM_IDENTIFIER(fib)
SYM_LPARENTHESIS
SYM_IDENTIFIER(n)
SYM_RPARENTHESIS
SYM_LBRACE
SYM_IF
SYM_LPARENTHESIS
SYM_IDENTIFIER(n)
SYM_GT
SYM_INTEGER(14)
SYM_RPARENTHESIS
SYM_LBRACE
SYM_RETURN
SYM_MINUS
SYM_INTEGER(1)
SYM_SEMICOLON
SYM_RBRACE
SYM_IF
SYM_LPARENTHESIS
SYM_IDENTIFIER(n)
SYM_LEQ
SYM_INTEGER(2)
SYM_RPARENTHESIS
SYM_LBRACE
SYM_RETURN
SYM_INTEGER(1)
SYM_SEMICOLON
SYM_RBRACE
SYM_ELSE
SYM_LBRACE
SYM_RETURN
SYM_IDENTIFIER(fib)
SYM_LPARENTHESIS
SYM_IDENTIFIER(n)
SYM_MINUS
SYM_INTEGER(1)
SYM_RPARENTHESIS
SYM_PLUS
SYM_IDENTIFIER(fib)
SYM_LPARENTHESIS
SYM_IDENTIFIER(n)
SYM_MINUS
SYM_INTEGER(2)
SYM_RPARENTHESIS
SYM_SEMICOLON
SYM_RBRACE
SYM_RBRACE
SYM_IDENTIFIER(main)
SYM_LPARENTHESIS
SYM_IDENTIFIER(n)
SYM_RPARENTHESIS
SYM_LBRACE
SYM_RETURN
SYM_IDENTIFIER(fib)
SYM_LPARENTHESIS
SYM_IDENTIFIER(n)
SYM_RPARENTHESIS
SYM_SEMICOLON
SYM_RBRACE
SYM_EOF
int gcd(int a,int b){ gcd(a,b){
if(b == 0){ if(b == 0){
return a; return a;
} else { } else {
return gcd(b, a % b); return gcd(b, a % b);
} }
} }
int main(int argc,char* argv[]){ main(a, b){
int a = atoi(argv[1]);
int b = atoi(argv[2]);
return gcd(a,b); return gcd(a,b);
} }
{"output": "", "error": null, "retval": 2}
\ No newline at end of file
{"output": "", "error": null, "retval": 1}
\ No newline at end of file
SYM_IDENTIFIER(gcd)
SYM_LPARENTHESIS
SYM_IDENTIFIER(a)
SYM_COMMA
SYM_IDENTIFIER(b)
SYM_RPARENTHESIS
SYM_LBRACE
SYM_IF
SYM_LPARENTHESIS
SYM_IDENTIFIER(b)
SYM_EQUALITY
SYM_INTEGER(0)
SYM_RPARENTHESIS
SYM_LBRACE
SYM_RETURN
SYM_IDENTIFIER(a)
SYM_SEMICOLON
SYM_RBRACE
SYM_ELSE
SYM_LBRACE
SYM_RETURN
SYM_IDENTIFIER(gcd)
SYM_LPARENTHESIS
SYM_IDENTIFIER(b)
SYM_COMMA
SYM_IDENTIFIER(a)
SYM_MOD
SYM_IDENTIFIER(b)
SYM_RPARENTHESIS
SYM_SEMICOLON
SYM_RBRACE
SYM_RBRACE
SYM_IDENTIFIER(main)
SYM_LPARENTHESIS
SYM_IDENTIFIER(a)
SYM_COMMA
SYM_IDENTIFIER(b)
SYM_RPARENTHESIS
SYM_LBRACE
SYM_RETURN
SYM_IDENTIFIER(gcd)
SYM_LPARENTHESIS
SYM_IDENTIFIER(a)
SYM_COMMA
SYM_IDENTIFIER(b)
SYM_RPARENTHESIS
SYM_SEMICOLON
SYM_RBRACE
SYM_EOF
int main(int argc,char* argv[]){ main(ndisque){
int ndisque = atoi(argv[1]);
return hanoi(ndisque); return hanoi(ndisque);
} }
int hanoi(int n) hanoi(n)
{ {
if(n > 0) if(n > 0)
{ {
int x = hanoi(n-1); x = hanoi(n-1);
return 1 + 2 * x; return 1 + 2 * x;
} }
return 0; return 0;
......
{"output": "", "error": null, "retval": 16383}
\ No newline at end of file
{"output": "", "error": null, "retval": 1}
\ No newline at end of file
SYM_IDENTIFIER(main)
SYM_LPARENTHESIS
SYM_IDENTIFIER(ndisque)
SYM_RPARENTHESIS
SYM_LBRACE
SYM_RETURN
SYM_IDENTIFIER(hanoi)
SYM_LPARENTHESIS
SYM_IDENTIFIER(ndisque)
SYM_RPARENTHESIS
SYM_SEMICOLON
SYM_RBRACE
SYM_IDENTIFIER(hanoi)
SYM_LPARENTHESIS
SYM_IDENTIFIER(n)
SYM_RPARENTHESIS
SYM_LBRACE
SYM_IF
SYM_LPARENTHESIS
SYM_IDENTIFIER(n)
SYM_GT
SYM_INTEGER(0)
SYM_RPARENTHESIS
SYM_LBRACE
SYM_IDENTIFIER(x)
SYM_ASSIGN
SYM_IDENTIFIER(hanoi)
SYM_LPARENTHESIS
SYM_IDENTIFIER(n)
SYM_MINUS
SYM_INTEGER(1)
SYM_RPARENTHESIS
SYM_SEMICOLON
SYM_RETURN
SYM_INTEGER(1)
SYM_PLUS
SYM_INTEGER(2)
SYM_ASTERISK
SYM_IDENTIFIER(x)
SYM_SEMICOLON
SYM_RBRACE
SYM_RETURN
SYM_INTEGER(0)
SYM_SEMICOLON
SYM_RBRACE
SYM_EOF
int f(int a, f(a,
int b, b,
int c, c,
int d, d,
int e, e,
int f, f,
int g, g,
int h, h,
int i, i,
int j j
){ ){
return a + b * c + d * e * f + g * h * i * j; return a + b * c + d * e * f + g * h * i * j;
} }
int main(int argc, char* argv[]){ main(){
return f(1,2,3,4,5,6,7,8,9,10); return f(1,2,3,4,5,6,7,8,9,10);
} }
{"output": "", "error": null, "retval": 5167}
\ No newline at end of file
{"output": "", "error": null, "retval": 5167}
\ No newline at end of file
SYM_IDENTIFIER(f)
SYM_LPARENTHESIS
SYM_IDENTIFIER(a)
SYM_COMMA
SYM_IDENTIFIER(b)
SYM_COMMA
SYM_IDENTIFIER(c)
SYM_COMMA
SYM_IDENTIFIER(d)
SYM_COMMA
SYM_IDENTIFIER(e)
SYM_COMMA
SYM_IDENTIFIER(f)
SYM_COMMA
SYM_IDENTIFIER(g)
SYM_COMMA
SYM_IDENTIFIER(h)
SYM_COMMA
SYM_IDENTIFIER(i)
SYM_COMMA
SYM_IDENTIFIER(j)
SYM_RPARENTHESIS
SYM_LBRACE
SYM_RETURN
SYM_IDENTIFIER(a)
SYM_PLUS
SYM_IDENTIFIER(b)
SYM_ASTERISK
SYM_IDENTIFIER(c)
SYM_PLUS
SYM_IDENTIFIER(d)
SYM_ASTERISK
SYM_IDENTIFIER(e)
SYM_ASTERISK
SYM_IDENTIFIER(f)
SYM_PLUS
SYM_IDENTIFIER(g)
SYM_ASTERISK
SYM_IDENTIFIER(h)
SYM_ASTERISK
SYM_IDENTIFIER(i)
SYM_ASTERISK
SYM_IDENTIFIER(j)
SYM_SEMICOLON
SYM_RBRACE
SYM_IDENTIFIER(main)
SYM_LPARENTHESIS
SYM_RPARENTHESIS
SYM_LBRACE
SYM_RETURN
SYM_IDENTIFIER(f)
SYM_LPARENTHESIS
SYM_INTEGER(1)
SYM_COMMA
SYM_INTEGER(2)
SYM_COMMA
SYM_INTEGER(3)
SYM_COMMA
SYM_INTEGER(4)
SYM_COMMA
SYM_INTEGER(5)
SYM_COMMA
SYM_INTEGER(6)
SYM_COMMA
SYM_INTEGER(7)
SYM_COMMA
SYM_INTEGER(8)
SYM_COMMA
SYM_INTEGER(9)
SYM_COMMA
SYM_INTEGER(10)
SYM_RPARENTHESIS
SYM_SEMICOLON
SYM_RBRACE
SYM_EOF
int g(int x){ g(x){
return x; return x;
} }
int f(int a, int b){ f(a, b){
b = g(8); b = g(8);
print(a); print(a);
print(b); print(b);
return 0; return 0;
} }
int main(int argc, char* argv[]){ main(){
f(3,4); f(3,4);
return 0; return 0;
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment