diff --git a/version0.11/bnf.bison b/version0.11/bnf.bison deleted file mode 100644 index 59702f1..0000000 --- a/version0.11/bnf.bison +++ /dev/null @@ -1,297 +0,0 @@ -%% -id - :IDENTIFIER - ; -scalar - :number - |string - |char - |calculation - ; -call - :call_list - |call_hash - |call_function - ; -datas - :id,id - |id,scalar - |id,call - |id,function - |id,list - |id,hash - |scalar,id - |scalar,scalar - |scalar,call - |scalar,function - |scalar,list - |scalar,hash - |call,id - |call,scalar - |call,call - |call,function - |call,list - |call,hash - |function,id - |function,scalar - |function,call - |function,function - |function,list - |function,hash - |list,id - |list,scalar - |list,call - |list,function - |list,list - |list,hash - |hash,id - |hash,scalar - |hash,call - |hash,function - |hash,list - |hash,hash - |list,datas - |hash,datas - |id,datas - |scalar,datas - |call,datas - |function,datas - ; -hash_member - :id:id - |id:scalar - |id:call - |id:function - ; -hash_members - :hash_member,hash_member - |hash_member,hash_members - ; -list - :[] - |[id] - |[scalar] - |[call] - |[function] - |[datas] - ; -hash - :{} - |{hash_member} - |{hash_members} - ; -call_list - :id list - |call list - |id[hash_member] - |call[hash_member] - |id[id:] - |id[scalar:] - |id[call:] - |call[id:] - |call[scalar:] - |call[call:] - ; -call_hash - :id.id - |id.call - |id.scalar - |call.id - |call.call - |call.scalar - ; -call_function - :id() - |id(id) - |id(scalar) - |id(call) - |id(list) - |id(hash) - |id(function) - |id(datas) - -calculation - :id two_operator id - |id two_operator scalar - |id two_operator call - |scalar two_operator id - |scalar two_operator scalar - |scalar two_operator call - |call two_operator id - |call two_operator scalar - |call two_operator call - |(id) - |(scalar) - |(call) - |! id - |! scalar - |! call - |__add0 -id - |__add0 -scalar - |__add0 -call - |__add0 +id - |__add0 +scalar - |__add0 +call - ; -two_operator - :+ - |- - |* - |/ - |~ - |== - |> - |>= - |< - |<= - |!= - |and - |or - ; -assignment_operator - :+= - |-= - |*= - |/= - |~= - ; - -function - :func{} - |func{statement} - |func{statements} - |func(){} - |func(){statement} - |func(){statements} - |func(id){} - |func(id){statement} - |func(id){statements} - |func(scalar){} - |func(scalar){statement} - |func(scalar){statements} - |func(call){} - |func(call){statement} - |func(call){statements} - |func(list){} - |func(list){statement} - |func(list){statements} - |func(hash){} - |func(hash){statement} - |func(hash){statements} - |func(function){} - |func(function){statement} - |func(function){statements} - |func(dynamic_id){} - |func(dynamic_id){statement} - |func(dynamic_id){statements} - |func(datas){} - |func(datas){statement} - |func(datas){statements} - -choose - :if(id){} - |if(scalar){} - |if(call){statement} - |if(id){statement} - |if(scalar){statement} - |if(call){statement} - |if(id){statements} - |if(scalar){statements} - |if(call){statements} - |else if(id){} - |else if(scalar){} - |else if(call){statement} - |else if(id){statement} - |else if(scalar){statement} - |else if(call){statement} - |else if(id){statements} - |else if(scalar){statements} - |else if(call){statements} - |elsif(id){} - |elsif(scalar){} - |elsif(call){statement} - |elsif(id){statement} - |elsif(scalar){statement} - |elsif(call){statement} - |elsif(id){statements} - |elsif(scalar){statements} - |elsif(call){statements} - |else{} - |else{statement} - |else{statements} - -loop - :while(id){} - |while(scalar){} - |while(call){} - |while(id){statement} - |while(scalar){statement} - |while(call){statement} - |while(id){statements} - |while(scalar){statements} - |while(call){statements} - |forindex|foreach(statement id){} - |forindex|foreach(statement scalar){} - |forindex|foreach(statement call){} - |forindex|foreach(statement list){} - |forindex|foreach(statement id){statement} - |forindex|foreach(statement scalar){statement} - |forindex|foreach(statement call){statement} - |forindex|foreach(statement list){statement} - |forindex|foreach(statement id){statements} - |forindex|foreach(statement scalar){statements} - |forindex|foreach(statement call){statements} - |forindex|foreach(statement list){statements} - |for(statement pre_assignment){} - |for(statement pre_assignment){statement} - |for(statement pre_assignment){statements} - -definition - :var id = id; - |var id = scalar; - |var id = call; - |var id = list; - |var id = hash; - |var id = function; - |var id; -pre_assignment - :id = id - |id = scalar - |id = call - |id = function - |id = list - |id = hash - |call = id - |call = scalar - |call = call - |call = function - |call = list - |call = hash - |id assignment_operator id - |id assignment_operator scalar - |id assignment_operator call - |call assignment_operator id - |call assignment_operator scalar - |call assignment_operator call - ; -assignment - :pre_assignment ; - ; -return_scalar - :return id; - |return scalar; - |return call; - |return function; - |return list; - |return hash; - |return; - ; -statement - :continue; - |break; - |return_scalar - |definition - |assignment - |loop - |choose - ;