名古屋IoT縛りの勉強会! IoTLT vol1に行ってきた。
IoTって、最近よく聞く単語なのだけど、実際のどういうものだろうというのを見に行ってきた。
続きを読む
「software_development」カテゴリーアーカイブ
LLVM-IR(LLVM中間コード)用コンパイラの作り方 その10
INPUT文の実装について。
10 INPUT A
みたいなINPUT (変数)という構文を実装する。
入力を促すためのプロンプト表示として”?”を出力する。
これは前回のPRINTと同様にコード出力すればよい。
そのあとは、C言語のgets関数をcall命令で呼び出して、文字列を入力し、atoi関数で整数に変換する。
セキュアなコードではないのだけど、手抜きをして作ったのでこんなもので。
そして、そのatoiの戻り値をstore命令で変数%aのメモリに格納する。
まとめると、このようになる。
%1 = call i32(i8*,...)* @printf(i8* getelementptr inbounds([3 x i8]* @.2, i32 0, i32 0)) nounwind %2 = call i8* @gets(i8* getelementptr inbounds ([1024 x i8]* @buf, i32 0, i32 0)) nounwind %3 = call i32 @atoi(i8* getelementptr inbounds ([1024 x i8]* @buf, i32 0, i32 0)) nounwind store i32 %3, i32* %a ,align 4
マスク形のウェアラブル機器というのは作れないだろうか?
ウェアラブル機器として、自然に身につけて、他人に警戒されないようなものというのはどういうのがいいのだろうか?
メガネ形というかサングラス形というのは結構いいような気がする。
あと、帽子とかヘッドホン形とか。
花粉症が流行っていてマスクをして外を歩いている人が多いので、マスクの中に機器を埋め込んだマスク形ウェアラブル機器というのは大丈夫そうな気がする。
マスク形ビデオカメラとか。
こういうカメラを使って作れないかと考えてる。
他には、マイクとスピーカーを埋め込んだマスク形翻訳機とかマスク形ボイスチェンジャーとか。
呼気をチェックするヘルスケア系のデバイスとか。
LLVM-IR(LLVM中間コード)用コンパイラの作り方 その9
LLVM-IR(LLVM中間コード)用コンパイラの作り方 その8
LLVM-IR(LLVM中間コード)用コンパイラの作り方 その7
前回、GOTO文の分ができたので、条件分岐のIF文の実装について
IF B=1 THEN A=2
というTinyBasicのソースをコード生成の仕方を説明する。
まず、
比較演算子(=)について、左辺と右辺のコードを生成する。
%1 = load i32* %_V1, align 4 store i32 %11, i32* %acc %2 = load i32* %acc, align 4 store i32 1 , i32* %acc, align 4 %3 = load i32* %acc, align 4
として、変数Bの中身をレジスタ的な使い捨て変数の%2に取り出し、即値の1を%3に入れる。
そして、icmp命令で比較を行う。
%4 = icmp eq i32 %2, %3
比較した結果はBool値で%4に入る。
続きを読む
Nagoya ComCamp 2016 powered by MVPsに行ってきた
Nagoya ComCamp 2016 powered by MVPsという勉強会に行ってきた。
去年も行ったのだった。(→ MicrosoftのMVP Community Camp 2015 名古屋に行ってきた)
今年は、会場はNSCではなく、別の場所だ。NSCのランディ-さんの勉強会もずっと開催されていないが、どうしてしまったのだろうか?
内容は、
・Windows 10の魅力と真価
・JavaScript で作る! UWP アプリ
・OSSとオープンイノベーション
・2016年初頭のWebフロントエンド技術おさらい – Edgeもあるよ –
・.NET Core5から概観する、.NETのOSSへの取り組み
・Azure Machine Learning実践入門
とLTだった。
続きを読む