diff --git a/version1.0/choose.txt b/version1.0/choose.txt index bb819dc..47f991d 100644 --- a/version1.0/choose.txt +++ b/version1.0/choose.txt @@ -22,6 +22,10 @@ elsif(this_token.type==__elsif) parse.push(this_token); return; } +else if(this==(1+2+3*1)) +{ + return nil; +} else { parse.push(this_token); diff --git a/version1.0/func.txt b/version1.0/func.txt index d00a425..023e5bd 100644 --- a/version1.0/func.txt +++ b/version1.0/func.txt @@ -6,5 +6,5 @@ var f=func(n,m,dynamic...) n+=m; return dynamic; }; -print(f(1,1,0,0,0,0,0)[3]); +print(f(1,1,0,0,0,0,0,(1+2+3+(1+2+3+4)))[3]); function([0,1,2,3],{str:"str"}); \ No newline at end of file diff --git a/version1.0/loop.txt b/version1.0/loop.txt index 0c05320..5376d85 100644 --- a/version1.0/loop.txt +++ b/version1.0/loop.txt @@ -20,7 +20,11 @@ for(var i=0;i<1024;i+=1) { print(i); } -foreach(var i;[1,2,3,4]) +for(var i=0;(2*512)>=i;i+=1) +{ + print(i); +} +foreach(var i;[1+(1+1),2,3,4]) { print(i); } diff --git a/version1.0/nasal_parser.h b/version1.0/nasal_parser.h index 0a615b4..32378ca 100644 --- a/version1.0/nasal_parser.h +++ b/version1.0/nasal_parser.h @@ -265,6 +265,7 @@ void nasal_parser::list_generate_expr() case __id:identifier_begin_expr();break; case __left_bracket:list_generate_expr();break; case __left_brace:hash_generate_expr();break; + case __left_curve:in_curve_calc_expr();break; default: ++error; std::cout<<">>[Error] line "<>[Error] line "<>[Error] line "<>[Error] line "<