K.Maebashi's BBS 投稿フォーム
ハンドル名
件名
Link
> ようやくシステム変数の組込みが終わりました。下記に示すような感じで >使用します。上にある#defineは、システムのヘッダーファイルになり。 >#includeされます。 また今回は日本語プログラムにするとこんな感じに >なります。と言った感じのプログラムリストです。 > システム変数は宣言だけが違い、多少特殊ですが普通の変数と同じように >使用できます。なおかつスレッドセーフで使用できます。 > >//-- システム変数定義ヘッダーファイル -------------- >#define システム変数 sysval >#define 生成 1 // システム変数使用 >#define 廃棄 2 // システム変数廃棄 >#define クリア 3 // システム変数を初期化 >#define リスト 4 // システム変数のリスト宣言 >#define 辞書 5 // システム変数の辞書宣言(予約) >#define 昇順ソート 6 // システム変数をソート >#define 降順ソート 7 // システム変数をソート >#define システム変数検索 sysval_find >#define 線形 1 // システム変数リストを線形検索 >#define 二分 2 // システム変数リストを二分検索 >#define 辞書 3 // システム変数辞書検索(予約) >#define システム変数リスト挿入 sysval_push_list >#define システム変数リスト取出 sysval_pop_list >#define 先頭 1 // システム変数リストの先頭 >#define 最後 2 // システム変数リストの最後 >//-- 日本語定義ヘッダーファイル ------------------ >#define メイン main >#define 表示 print >#define 文字列 string >#define 整数 int >//------------------------------------------------ > >//-- 日本語で書いた場合 ----------------- >整数 表示(文字列 str); >整数 システム変数(文字列 str,整数 type); > >整数 メイン() >{ > システム変数("AAS001",生成); > システム変数("AAI001-ACI005",生成); > システム変数("BAD001-BCD005",生成); > システム変数("CAS001-CCS005",生成); > AAS001 = "testdata"; > 表示("AAS001 = " + AAS001 + "--\n\n"); > AAI001[3][1] = 33; > BAD002[2] = 3.2; > CAS003[1] = "aaa"; > 表示("AAI001 = " + AAI001[3][1] + "--\n\n"); > 表示("BAD002 = " + BAD002[2] + "--\n\n"); > 表示("CAS003 = " + CAS003[1] + "--\n\n"); >} >//----------------------------------- > ↓ > ↓まったく同じプログラムで英語で書いた場合 > ↓ >//----------------------------------- >int print(string str); >int sysval(string str,int type); >int main() >{ > sysval("AAS001",CREATION); > sysval("AAI001-ACI005",CREATION); > sysval("BAD001-BCD005",CREATION); > sysval("CAS001-CCS005",CREATION); > AAS001 = "testdata"; > print("AAS001 = " + AAS001 + "--\n\n"); > AAI001[3][1] = 33; > BAD002[2] = 3.2; > CAS003[1] = "aaa"; > print("AAI001 = " + AAI001[3][1] + "--\n\n"); > print("BAD002 = " + BAD002[2] + "--\n\n"); > print("CAS003 = " + CAS003[1] + "--\n\n"); >} >----------------------------------- > ↓ > ↓日本語版も英語版まったく同じ下記のコードになります。 > ↓ >------------------------------------ >1:*** 一般関数情報ダンプ ****************** >1:int main() >1:*** 配列定数 数 = 0 ********** >1:*** 文字列 数 = 23 *** >1: 0: "main" >1: 1: "AAS001" >1: 2: "sysval" >1: 3: "AAI001-ACI005" >1: 4: "sysval" >1: 5: "BAD001-BCD005" >1: 6: "sysval" >1: 7: "CAS001-CCS005" >1: 8: "sysval" >1: 9: "testdata" >1: 10: "AAS001 = " >1: 11: "-- > >" >1: 12: "print" >1: 13: "aaa" >1: 14: "AAI001 = " >1: 15: "-- > >" >1: 16: "print" >1: 17: "BAD002 = " >1: 18: "-- > >" >1: 19: "print" >1: 20: "CAS003 = " >1: 21: "-- > >" >1: 22: "print" >1:*** 使用予定のスタックサイズ = 1292 >1:*** 関数コードのディスアセンブラ size = 223 >1: 0 push_string_const 1 >1: 3 push_int_1byte 1 >1: 5 call_function 2 0 0 2 >1: 14 pop >1: 15 push_string_const 3 >1: 18 push_int_1byte 1 >1: 20 call_function 4 0 0 2 >1: 29 pop >1: 30 push_string_const 5 >1: 33 push_int_1byte 1 >1: 35 call_function 6 0 0 2 >1: 44 pop >1: 45 push_string_const 7 >1: 48 push_int_1byte 1 >1: 50 call_function 8 0 0 2 >1: 59 pop >1: 60 push_string_const 9 >1: 63 pop_sysval_str 3-0-1 >1: 68 push_string_const 10 >1: 71 push_sysval_str 3-0-1 >1: 76 add_string >1: 77 push_string_const 11 >1: 80 add_string >1: 81 call_function 12 0 0 1 >1: 90 pop >1: 91 push_int_1byte 33 >1: 93 push_sysval_array 1-0-1 >1: 98 push_int_1byte 3 >1: 100 push_array_int 1 >1: 102 push_int_1byte 1 >1: 104 pop_array_int >1: 105 push_double_8byte 3.200000e+000 >1: 114 push_sysval_array 2-52-2 >1: 119 push_int_1byte 2 >1: 121 pop_array_double >1: 122 push_string_const 13 >1: 125 push_sysval_array 3-104-3 >1: 130 push_int_1byte 1 >1: 132 pop_array_string >1: 133 push_string_const 14 >1: 136 push_sysval_array 1-0-1 >1: 141 push_int_1byte 3 >1: 143 push_array_int 1 >1: 145 push_int_1byte 1 >1: 147 push_array_int 0 >1: 149 cast_int_to_string >1: 150 add_string >1: 151 push_string_const 15 >1: 154 add_string >1: 155 call_function 16 0 0 1 >1: 164 pop >1: 165 push_string_const 17 >1: 168 push_sysval_array 2-52-2 >1: 173 push_int_1byte 2 >1: 175 push_array_double 0 >1: 177 cast_double_to_string >1: 178 add_string >1: 179 push_string_const 18 >1: 182 add_string >1: 183 call_function 19 0 0 1 >1: 192 pop >1: 193 push_string_const 20 >1: 196 push_sysval_array 3-104-3 >1: 201 push_int_1byte 1 >1: 203 push_array_string 0 >1: 205 add_string >1: 206 push_string_const 21 >1: 209 add_string >1: 210 call_function 22 0 0 1 >1: 219 pop >1: 220 push_int_1byte 0 >1: 222 return >1:*** 行情報 数 = 14 *** >1: 20: from 0 size 15 >1: 21: from 15 size 15 >1: 22: from 30 size 15 >1: 23: from 45 size 15 >1: 24: from 60 size 8 >1: 25: from 68 size 23 >1: 26: from 91 size 14 >1: 27: from 105 size 17 >1: 28: from 122 size 11 >1: 29: from 133 size 32 >1: 30: from 165 size 28 >1: 31: from 193 size 27 >1: 154: from 220 size 2 >1: 32: from 222 size 1 >1:*** end of main() -------------- >-------------------------------------------------- >
spamよけのため、ここに「ほげぴよ」と入力してください。
削除パスワード :
クリック!