文脈のために前のまとめに入れたツイートから一部入れている
let returnAddr:SystemUInt32=0 label %func call Debug.Log "\"Hello, World!\n\"" goto_indirect returnAddr labelpub %_start let pub x : SystemBool = null goto_if x %next set returnAddr %next goto %func label %next exit という感じの中間言語を作っています
2019-12-24 02:14:41UAssembly にアドレスとスタックの管理の自動化を入れただけのやつで,さらにこいつをターゲットとした高級言語を作る
2019-12-24 02:15:25(というか私は普段型検査器しか作らない人で,一応プログラム言語ですという言い訳のためにパーサとインタプリタだけ作ってきたところがある)
2019-12-24 02:22:21中間言語をなぜ先に公開するかというと、人間でも可能な難易度で最低限プログラミングが可能な環境を最速で用意するためです 多分ブラウザで動く補完エディタ付きのコンパイラもつくります
2019-12-24 14:07:54UAssembly のアセンブラのパーサは実装をサボっているみたいで、"\"" をエスケープされたダブルクォーテーションとして認識してくれない。漢字平仮名とかはまだ試してないけど出来ないかもしれない
2019-12-24 14:11:03上から順に,ヒープの初期値,生成されたバイナリ,警告メッセージです pic.twitter.com/ICs0lk6VoY
2019-12-24 16:45:17ここからが新しいツイート 量が少ないのでまた数日分まとめる予定
これなんですが,できそうなのでブラウザでコンパイルできるようにします.補完も付くかも twitter.com/cannorin_vrc/s…
2019-12-26 02:01:31パーサやコンパイラなどまとめて JavaScript にトランスパイルできるようにしたので、あとはいい感じのガワを作れば完成という様子です(昨日あまり進捗がなかったのはパーサを書くためのライブラリを書いていた)
2019-12-26 21:58:24