diff --git a/main.cpp b/main.cpp index 514dbdc..497003f 100644 --- a/main.cpp +++ b/main.cpp @@ -42,7 +42,7 @@ void logo() <<" / \\/ / _` / __|/ _` | | \n" <<" / /\\ / (_| \\__ \\ (_| | | \n" <<" \\_\\ \\/ \\__,_|___/\\__,_|_|\n" - <<">> Nasal interpreter ver 7.0 \n"; + <<" Nasal interpreter ver 7.0 \n"; return; } void die(const char* stage,std::string& filename) diff --git a/nasal.ebnf b/nasal.ebnf index 28e833b..604a150 100644 --- a/nasal.ebnf +++ b/nasal.ebnf @@ -20,7 +20,7 @@ hashmember::= id|string ':' calculation ; function::= - func argument_list expressions + func {argument_list} exprs|expr ; argument_list::= '(' [{id ','} ([id '...']|{id '=' scalar ','})] ')' @@ -35,7 +35,7 @@ expr::= |continue_expr |break_expr ; -expressions::= +exprs::= '{' {expr} '}' ; calculation::= @@ -63,7 +63,6 @@ unary::= ; scalar::= function {call_scalar} - |[func] identifier {call_scalar} |vector {call_scalar} |hash {call_scalar} |number @@ -109,18 +108,18 @@ loop::= |forei_loop ; while_loop::= - while '(' calculation ')' expressions + while '(' calculation ')' exprs ; for_loop::= - for '(' [definition|calculation] ';' [calculation] ';' [calculation] ')' expressions + for '(' [definition|calculation] ';' [calculation] ';' [calculation] ')' exprs ; forei_loop::= - (forindex | foreach) '(' (definition | calculation) ';' calculation ')' expressions + (forindex | foreach) '(' (definition | calculation) ';' calculation ')' exprs ; conditional::= - if '(' calculation ')' expressions - {elsif '(' calculation ')' expressions} - [else expressions] + if '(' calculation ')' exprs + {elsif '(' calculation ')' exprs} + [else exprs] ; continue_expr::= continue diff --git a/nasal_lexer.h b/nasal_lexer.h index 24391ec..5b330db 100644 --- a/nasal_lexer.h +++ b/nasal_lexer.h @@ -363,7 +363,7 @@ void nasal_lexer::scanner() void nasal_lexer::print_token() { - for(auto tok:token_list) + for(auto& tok:token_list) std::cout<<"("<