diff --git a/densaku.aproj b/densaku.aproj index 2aae46e..30ecc6e 100644 --- a/densaku.aproj +++ b/densaku.aproj @@ -101,6 +101,8 @@ + + diff --git a/densaku_lib b/densaku_lib index 5c7cd86..7be0acc 160000 --- a/densaku_lib +++ b/densaku_lib @@ -1 +1 @@ -Subproject commit 5c7cd864b6cc8232c2e719fe3a1e3740288cc0e2 +Subproject commit 7be0acc189ec7b831dce1255ac3e498c0002305e diff --git a/src/generation/types_header.anubis b/src/generation/types_header.anubis index c9c0795..f1a42f3 100644 --- a/src/generation/types_header.anubis +++ b/src/generation/types_header.anubis @@ -31,7 +31,7 @@ public define Maybe(One) write_string(stream, "/* * Created by 伝作 (Densaku). - * User: Automat + * Types & Messages generator written by フランスのトトロ aka (David RENÉ) * Date: "+_Int_to_ISO_8601_date(now)+" * Time: "+_Int_to_ISO_8601_time(now)+" * diff --git a/src/generation/types_messages.anubis b/src/generation/types_messages.anubis index 20aa311..6b200b5 100644 --- a/src/generation/types_messages.anubis +++ b/src/generation/types_messages.anubis @@ -56,10 +56,18 @@ public define String "add_bool("+type_msg+", \""+field_name+"\", _"+name+")", int then "add_string("+type_msg+", \""+field_name+"\", to_String(_"+name+"))", + word8 then + "add_int8("+type_msg+", \""+field_name+"\", _"+name+")", + word16 then + "add_int16("+type_msg+", \""+field_name+"\", _"+name+")", + word32 then + "add_int32("+type_msg+", \""+field_name+"\", _"+name+")", string then "add_string("+type_msg+", \""+field_name+"\", _"+name+")", - float then - "add_float("+type_msg+", \""+field_name+"\", _"+name+")", + float32 then + "add_float32("+type_msg+", \""+field_name+"\", _"+name+")", + float64 then + "add_float64("+type_msg+", \""+field_name+"\", _"+name+")", ds_type(type_name) then "add_message("+type_msg+", \""+field_name+"\", to_Message(_"+name+"))", extern_type(type_name, _) then //external type. No need to check @@ -198,8 +206,12 @@ public define String brace_counter <- *brace_counter + 1; indent + "with mb_" + name + " = map_escape((String int_str) |-> decimal_scan(int_str), find_string_list("+type_msg+", \""+field_name+"\")),\n"+ indent + " if mb_" + name + " is {failure then failure, success("+ name + ") then \n", + word8 then indent + "with " + name + " = find_int8_list("+type_msg+", \""+field_name+"\"),\n", + word16 then indent + "with " + name + " = find_int16_list("+type_msg+", \""+field_name+"\"),\n", + word32 then indent + "with " + name + " = find_int32_list("+type_msg+", \""+field_name+"\"),\n", string then indent + "with " + name + " = find_string_list("+type_msg+", \""+field_name+"\"),\n", - float then indent + "with " + name + " = find_float_list("+type_msg+", \""+field_name+"\"),\n", + float32 then indent + "with " + name + " = find_float32_list("+type_msg+", \""+field_name+"\"),\n", + float64 then indent + "with " + name + " = find_float64_list("+type_msg+", \""+field_name+"\"),\n", ds_type(type_name) then brace_counter <- *brace_counter + 1; indent +"with mb_"+name+" = map_escape(( Message msg ) |-> (Maybe("+dump(anb_type)+ ")) from_Message(msg), find_message_list("+type_msg+", \""+field_name+"\")),\n"+ @@ -233,12 +245,24 @@ public define String brace_counter <- (*brace_counter + 2); indent + "if find_string("+type_msg+", \""+field_name+"\")"+" is {failure then failure, success(_"+name+") then\n"+ indent + " if decimal_scan(_"+name+") is { failure then failure, success("+name+") then\n", + word8 then + brace_counter <- (*brace_counter + 1); + indent + "if find_int8("+type_msg+", \""+field_name+"\")"+" is {failure then failure, success("+name+") then\n", + word16 then + brace_counter <- (*brace_counter + 1); + indent + "if find_int16("+type_msg+", \""+field_name+"\")"+" is {failure then failure, success("+name+") then\n", + word32 then + brace_counter <- (*brace_counter + 1); + indent + "if find_int32("+type_msg+", \""+field_name+"\")"+" is {failure then failure, success("+name+") then\n", string then brace_counter <- (*brace_counter + 1); indent + "if find_string("+type_msg+", \""+field_name+"\")"+" is {failure then failure, success("+name+") then\n", - float then + float32 then + brace_counter <- (*brace_counter + 1); + indent + "if find_float32("+type_msg+", \""+field_name+"\)"+" is {failure then failure, success("+name+") then\n", + float64 then brace_counter <- (*brace_counter + 1); - indent + "if find_float("+type_msg+", \""+field_name+"\)"+" is {failure then failure, success("+name+") then\n", + indent + "if find_float64("+type_msg+", \""+field_name+"\)"+" is {failure then failure, success("+name+") then\n", ds_type(type_name) then brace_counter <- (*brace_counter + 2); indent + "if find_message("+type_msg+", \""+field_name+"\")"+" is {failure then failure, success("+name+"_msg) then\n"+ -- libgit2 0.21.4