スペック

CPU名称:Intel Core i3
CPU動作周波数:3110M(2.4GHz)
メモリ(種類):DDR3 SO DIMM
メモリ(標準):2GB
メモリ(最大):8GB
付属ディスプレイサイズ:15.6型ワイド
最大解像度:1366×768
HDD容量:500GB
有線LAN:10M/100M/1Gbps
無線LANIEEE 802.11g/b/n
バッテリー駆動時間:約7.1時間
USBポート数:USB3.0×2、USB2.0×1
カメラ:○
Office系ソフト:Office Home and Business 2013
幅x奥行x高さ:375x245x35.8mm
重量:2.50kg
プリインストールOS:Windows 7 Professional 64ビット

写経141129

簡単なコンパイルを考えて
動く順番でコードを押し出すんです
どういう仕組みでコード吐くか
の簡単な答えとして

あと、理論はわからんが
コードはわかるみたいのもあるかも
僕がプログラム言語作成を学んでるってのもあるけど
でも昨日写経してたらそんなかんじになったから
写経すればコードはなんとなくわかる。はあるかもw

変数管理

変数は名前とIDで管理してようと考えているんですけど
道筋つきました

IDの値でswitchして
それから名前と等しいか判断するんです

連続で名前比較せず
連続でID比較すればいいですね
配列にしたらもっと速い

#define button_block(%1="") %tbtn1 %i0 button %1,*%p:%tbtn2 goto *%i %i0:%tbtn1 *%o
#define b_break             %tbtn2 goto *%p
#define b_end               %tbtn2 *%o:stop:*%o
#define b_jump(%1)          %tbtn2 *%o:goto %1:stop:*%o
#define begin_mlab(%1,%2) 		if %1==%2 {
#define end_mlab			}else{	dialog "error",1 }
button_block "bt1" :lp="s_l1":lpn=1
	b_jump *jump
button_block "bt2" :lp="s_l2":lpn=2
	b_jump *jump
stop

 *jump
	if lpn==1{
		begin_mlab lp,"s_l1"
			mes "aaa"
		end_mlab	
	}
	if lpn==2{
		begin_mlab lp,"s_l2" 
			mes "bbb"
		end_mlab	
	}
	stop

こんなかんじで

OS型プログラミング言語

リーナス・B・トーバルズ氏の本を読んでるんですけど
OSのhogeを取り入れたプログラム言語はどうだろうか?

フォルダ配置感覚でサブルーチンを配置し
ユーザーはそこから好きなサブルーチンを実行するのだ

シェルスクリプトみたいなサブルーチン動作の集合みたいのを
設定してもいいし

OSを利用するプログラム
OSを記述するプログラム

じゃなくOSを利用するようにプログラムを利用しよう
みたいなw

構造体っぽく

とりあえず構造体っぽくやっていこうってことで
考えたこと

構造体っぽいのの 定義をどうやるか?
みたいなとこがあるんですが
まずは構造体っぽいのは最初から用意しちまえってことで
だからっつって
一要素につき一モジュール変数ではなく
構造体っぽいのの要素はLISPっぽく実装しようと
そもそも構造体はそうなっているぽいし

ボタンテキスト ボタンラベル
で一単位としよーか

((ID) (b_bt bt1 bt2 nil) (msg) nil)

(ID (bt1 bt2 nil) msg nil)

1
car ID
cdr (bt1 bt2 nil) msg nil
1:11>ID

2
car (bt1 bt2 nil)
cdr msg nil

21
car bt1
cdr bt2 nil
21:211>bt1

212
car bt2
cdr nil
212:2121>bt2
2122:21221>nil

22
car msg
cdr nil
22:221>msg
222:2221>nil

LISPっぽく書くとこんなかんじかな?

ただテキスト形式データから読んで
インスタンスとして代入って処理は構想出来てなくて
とりあえずはプログラム中で
プログラム内データとして記述
シナリオデータはこんなかんじで上手くいきそうなんやけど
動作データをどう扱うかは全然わからなかったりw