SlideShare une entreprise Scribd logo
1  sur  18
自作言語でお絵描き
2021年1月3日
第24回自作OSもくもく会
@uchan_nos
自己紹介
名前:内田公太
Twitter:@uchan_nos
 東京工業大学 情報工学系 特任助教(週2)
 サイボウズ・ラボ株式会社(週3)
活動
 osdev-jpの運営
 OS、言語処理系の開発
『30日でできる! OS自作入門』
の校正を担当(2006年)
『自作エミュレータで学ぶ
x86アーキテクチャ』著(2015年)
OpeLaプロジェクトとは
OpeLa: Operating and Language processing system
OSと言語処理系を全部自作するプロジェクト
OS
アセンブラ
コンパイラ
リンカ
ライブラリ
特徴:完全なセルフホスト
OpeLaで書き初め
OpeLaで書き初めの仕組み
OpeLaでSDLを使う
SDLでウィンドウ、背景、線を表示
SDL: Simple DirectMedia Layer
マルチメディアを扱うライブラリ
シンプルなライブラリ故に対応機種
が幅広い
C言語用インタフェースなのでいろ
んな言語から簡単に使える!
ロゴが明滅する様子
SDLの関数を呼び出す
SDLの関数をextern宣言し、呼び出す
ヘッダファイルは読み込めないのでマクロは使えない
SDL_Window*の代わりにint*
func main() int {
if SDL_Init(0x20) < 0 { // SDL_INIT_VIDEO
printf("Failed to initialize SDL: %sn", SDL_GetError());
return 1;
}
printf("Creating a windown");
window := SDL_CreateWindow("SDL by OpeLa", 0x1fff0000, 0x1fff0000, 300, 200, 0);
extern "C" SDL_Init func(flag uint) int;
extern "C" SDL_GetError func() *byte;
extern "C" SDL_CreateWindow func(title *byte, x, y, w, h int, flags uint) *int;
イベントポーリング
SDL_Eventの代わりに[16]uint32
var event [16]uint32;
for {
for SDL_PollEvent(&event[0]) != 0 {
if event[0] == uint32(256) { // SDL_QUIT
SDL_DestroyWindow(window);
SDL_Quit();
return 0;
}
}
グラデーション背景
Colorを1ずつ変化させ、黒→青緑に徐々に変化させる
SDL_SetRenderDrawColorで描画色を設定し
SDL_RenderClearで背景を塗りつぶす
color += dir;
if color == 255 {
dir = -1;
} else if color == 0 {
dir = 1;
}
SDL_SetRenderDrawColor(renderer, 0, color, color, 255);
SDL_RenderClear(renderer);
ロゴ
長方形と直線の描画を駆使してロゴを描く
SDL_SetRenderDrawColor(renderer, 0, 0, 0, 255);
// O
DrawRect(renderer, 30, 60, logo_x + 40*0, logo_y);
// p
DrawRect(renderer, 30, 30, logo_x + 40*1, logo_y + 30);
SDL_RenderDrawLine(renderer, logo_x + 40*1, logo_y + 60,
logo_x + 40*1, logo_y + 90);
func DrawRect(ren *int, w, h, x, y int) {
var r [4]int32;
r[0] = x; r[1] = y;
r[2] = w; r[3] = h;
SDL_RenderDrawRect(ren, &r[0]);
}
SDLの関数を呼び出すときの注意
SDLに限らないが、関数を呼び出す際はスタックのアライメント
に注意が必要
 参考「x86-64 モードのプログラミングではスタックのアライメントに気を付けよう」
 https://uchan.hateblo.jp/entry/2018/02/16/232029
関数を呼び出す直前でRSPが16の倍数でなければならない
void Call(std::ostream& os, Register addr) override {
os << " push rbxn";
os << " mov rbx, rspn";
os << " and rsp, -16n";
os << " call " << RegName(addr) << "n";
os << " mov rsp, rbxn";
os << " pop rbxn";
}
RBXは関数呼び出し前後で保存されている必要があるから、スタックに保存してから使う
and rsp, -16
=
and rsp, 0xf…f0
SDLを使うサンプルのビルド
sdl.oplをコンパイルしてsdl.sを得て
libSDL2.soとリンクする
cat sdl.opl | ../../opelac > sdl.s
cc sdl.s -lSDL2
可変長引数の対応
OpeLaで可変長引数
可変長引数:int printf(const char* format, ...);の...
C言語で可変個の引数を渡す仕組み
呼び出し側
x86-64(SystemV AMD64 ABI)
普通の引数と同様に、レジスタ渡し
RDI, RSI, RDX, RCX, R8, R9
AArch64(EABI)
可変長引数だけスタック渡し
format 1 2 3
format 1
2
3
RDI RSI RDX RCX
X0
SP
OpeLaの仕組みと可変長引数
OpeLaはスタックマシン
式はスタックに値を積む
「1 + 2」は右図
printf("%d:%d", 1, 2)
x86-64:いったんスタック
に引数を積み、最後にレジス
タへ転写すれば良い
普通の関数呼び出しと同じ!
1
SP 2
1
SP
3
SP
文字列へのアドレス
1
2
SP
for (int i = 0; i < num_args; ++i) {
asmgen->Pop64(os, kArgRegs[i]);
}
AArch64で可変長引数
printf("%d:%d", 1, 2)
AArch64では、途中までレジ
スタへ転写すればいいので
は?
→ダメだった
AArch64ではスタックに式の
値を8バイト飛ばしで積んで
いるから
文字列へのアドレス
1
2
SP
レジスタへ
スタックに残す
文字列へのアドレス
空き
1
SP
空き
2
空き
AArch64だと
実はこうなってる
AppleのABIではこうなっているが、Armの世界で一般
的なEABIでは可変長引数もレジスタ渡しらしい。
https://developer.apple.com/documentation/xcode/
writing_arm64_code_for_apple_platforms
なぜAArch64だと8バイト飛ばしなの?
16の倍数でないSPがベースアドレスとして使われると例外発生
str x0, [sp, #-16]!
Spから16を引き、そのアドレスにx0の値を書く
だから、opelacは8バイト飛ばしでスタックに値を積む
→そのままでは可変長引数として使えない!
私の今日の目標
AArch64で可変長引数をサポートする
引数省略記号「...」にパーサを対応させ、
可変長引数の部分はスタックに残し、
スタックの8バイトの隙間を詰め、
最後に関数を呼び出す
とうまく行くかなあ…?
可変長引数1
空き
可変長引数2
SP
空き
可変長引数3
空き
コピー
コピー
可変長引数4
コピー
OpeLaに興味ある人を募集してます
開発の様子は
Twitterの@uchan_nos
osdev-jp Slackの#opelaチャンネル
に書いてます
今は言語設計とコンパイラ実装を並走中
「配列リテラルを実装するかどうか」
「sizeof(uint2)は何を返すべきか」
などなど…
設計すべき部分がたくさんある
一緒にお話ししながらアイデアを練っていきたいです
Wanted
・言語設計の話し相手
・OpeLaロゴ制作
・アプリ製作
・実装のお手伝い

Contenu connexe

Tendances

Windows 7兼容性系列课程(5):Windows 7徽标认证
Windows 7兼容性系列课程(5):Windows 7徽标认证Windows 7兼容性系列课程(5):Windows 7徽标认证
Windows 7兼容性系列课程(5):Windows 7徽标认证Chui-Wen Chiu
 
網路、設計、使用者經驗
網路、設計、使用者經驗網路、設計、使用者經驗
網路、設計、使用者經驗Charles (XXC) Chen
 
俄语GOST标准,技术规范,法律,法规,中文英语,目录编号RG 3705
俄语GOST标准,技术规范,法律,法规,中文英语,目录编号RG 3705俄语GOST标准,技术规范,法律,法规,中文英语,目录编号RG 3705
俄语GOST标准,技术规范,法律,法规,中文英语,目录编号RG 3705Azerbaijan Laws
 
Search Engines Chapter 1 Summary
Search Engines Chapter 1 SummarySearch Engines Chapter 1 Summary
Search Engines Chapter 1 Summarysleepy_yoshi
 
20210118 holo lensmeetupvol24_lt_holomon
20210118 holo lensmeetupvol24_lt_holomon20210118 holo lensmeetupvol24_lt_holomon
20210118 holo lensmeetupvol24_lt_holomonHolo Mon
 
アジャイル事例紹介 —夜のおしごと編—
アジャイル事例紹介 —夜のおしごと編—アジャイル事例紹介 —夜のおしごと編—
アジャイル事例紹介 —夜のおしごと編—Fumihiko Kinoshita
 
誰動了川普的選票? Who moved Trump's votes?
誰動了川普的選票? Who moved Trump's votes?誰動了川普的選票? Who moved Trump's votes?
誰動了川普的選票? Who moved Trump's votes?Aman Tong
 
田町deナイト 質問集
田町deナイト 質問集田町deナイト 質問集
田町deナイト 質問集Yoji Kanno
 
Assembly Definition あれやこれ
Assembly Definition あれやこれAssembly Definition あれやこれ
Assembly Definition あれやこれNakanoYosuke1
 
Kintone 導入サービス キャンペーン_20140903-1
Kintone 導入サービス キャンペーン_20140903-1Kintone 導入サービス キャンペーン_20140903-1
Kintone 導入サービス キャンペーン_20140903-1denet_tech_tokyo
 
Cloud era -『クラウド時代』マッシュアップ技術による地方からの世界発信
Cloud era -『クラウド時代』マッシュアップ技術による地方からの世界発信Cloud era -『クラウド時代』マッシュアップ技術による地方からの世界発信
Cloud era -『クラウド時代』マッシュアップ技術による地方からの世界発信Yusuke Kawasaki
 
創業家研習營-7分鐘創意簡報技巧,Mr.6劉威麟
創業家研習營-7分鐘創意簡報技巧,Mr.6劉威麟創業家研習營-7分鐘創意簡報技巧,Mr.6劉威麟
創業家研習營-7分鐘創意簡報技巧,Mr.6劉威麟taiwanweb20
 
20210113「アウトプットしないのは知的な便秘」の影響力 -2020年版- ~How To Output Intellectual Constipa...
20210113「アウトプットしないのは知的な便秘」の影響力 -2020年版-  ~How To Output Intellectual Constipa...20210113「アウトプットしないのは知的な便秘」の影響力 -2020年版-  ~How To Output Intellectual Constipa...
20210113「アウトプットしないのは知的な便秘」の影響力 -2020年版- ~How To Output Intellectual Constipa...Typhon 666
 
普通の見積り勉強会 番外編
普通の見積り勉強会 番外編普通の見積り勉強会 番外編
普通の見積り勉強会 番外編Fumihiko Kinoshita
 

Tendances (20)

Mhada
MhadaMhada
Mhada
 
Windows 7兼容性系列课程(5):Windows 7徽标认证
Windows 7兼容性系列课程(5):Windows 7徽标认证Windows 7兼容性系列课程(5):Windows 7徽标认证
Windows 7兼容性系列课程(5):Windows 7徽标认证
 
sigfpai73-kaji
sigfpai73-kajisigfpai73-kaji
sigfpai73-kaji
 
網路、設計、使用者經驗
網路、設計、使用者經驗網路、設計、使用者經驗
網路、設計、使用者經驗
 
S30
S30S30
S30
 
俄语GOST标准,技术规范,法律,法规,中文英语,目录编号RG 3705
俄语GOST标准,技术规范,法律,法规,中文英语,目录编号RG 3705俄语GOST标准,技术规范,法律,法规,中文英语,目录编号RG 3705
俄语GOST标准,技术规范,法律,法规,中文英语,目录编号RG 3705
 
Search Engines Chapter 1 Summary
Search Engines Chapter 1 SummarySearch Engines Chapter 1 Summary
Search Engines Chapter 1 Summary
 
Xrdp
XrdpXrdp
Xrdp
 
20210118 holo lensmeetupvol24_lt_holomon
20210118 holo lensmeetupvol24_lt_holomon20210118 holo lensmeetupvol24_lt_holomon
20210118 holo lensmeetupvol24_lt_holomon
 
アジャイル事例紹介 —夜のおしごと編—
アジャイル事例紹介 —夜のおしごと編—アジャイル事例紹介 —夜のおしごと編—
アジャイル事例紹介 —夜のおしごと編—
 
誰動了川普的選票? Who moved Trump's votes?
誰動了川普的選票? Who moved Trump's votes?誰動了川普的選票? Who moved Trump's votes?
誰動了川普的選票? Who moved Trump's votes?
 
田町deナイト 質問集
田町deナイト 質問集田町deナイト 質問集
田町deナイト 質問集
 
Assembly Definition あれやこれ
Assembly Definition あれやこれAssembly Definition あれやこれ
Assembly Definition あれやこれ
 
Kintone 導入サービス キャンペーン_20140903-1
Kintone 導入サービス キャンペーン_20140903-1Kintone 導入サービス キャンペーン_20140903-1
Kintone 導入サービス キャンペーン_20140903-1
 
Cloud era -『クラウド時代』マッシュアップ技術による地方からの世界発信
Cloud era -『クラウド時代』マッシュアップ技術による地方からの世界発信Cloud era -『クラウド時代』マッシュアップ技術による地方からの世界発信
Cloud era -『クラウド時代』マッシュアップ技術による地方からの世界発信
 
examdoor
examdoorexamdoor
examdoor
 
創業家研習營-7分鐘創意簡報技巧,Mr.6劉威麟
創業家研習營-7分鐘創意簡報技巧,Mr.6劉威麟創業家研習營-7分鐘創意簡報技巧,Mr.6劉威麟
創業家研習營-7分鐘創意簡報技巧,Mr.6劉威麟
 
20210113「アウトプットしないのは知的な便秘」の影響力 -2020年版- ~How To Output Intellectual Constipa...
20210113「アウトプットしないのは知的な便秘」の影響力 -2020年版-  ~How To Output Intellectual Constipa...20210113「アウトプットしないのは知的な便秘」の影響力 -2020年版-  ~How To Output Intellectual Constipa...
20210113「アウトプットしないのは知的な便秘」の影響力 -2020年版- ~How To Output Intellectual Constipa...
 
普通の見積り勉強会 番外編
普通の見積り勉強会 番外編普通の見積り勉強会 番外編
普通の見積り勉強会 番外編
 
Hackday Ml
Hackday MlHackday Ml
Hackday Ml
 

Similaire à 自作言語でお絵描き

QM-078-企業導入六標準差之個案探討
QM-078-企業導入六標準差之個案探討QM-078-企業導入六標準差之個案探討
QM-078-企業導入六標準差之個案探討handbook
 
秩序从哪里来?
秩序从哪里来?秩序从哪里来?
秩序从哪里来?guest8430ea2
 
Apology Of Socrates
Apology Of SocratesApology Of Socrates
Apology Of Socrateshuquanwei
 
Opportunity Magazine 2008-11-03 Vol.5
Opportunity Magazine 2008-11-03 Vol.5Opportunity Magazine 2008-11-03 Vol.5
Opportunity Magazine 2008-11-03 Vol.5opportunity service
 
Republic 3 4
Republic 3 4Republic 3 4
Republic 3 4huquanwei
 
[Nahu] - 'ilm Kalam (arabic)
[Nahu] - 'ilm Kalam (arabic)[Nahu] - 'ilm Kalam (arabic)
[Nahu] - 'ilm Kalam (arabic)Syukran
 
AI&medical imaging in japan 2018
AI&medical imaging in japan 2018AI&medical imaging in japan 2018
AI&medical imaging in japan 2018yoshihiro todoroki
 
Swasthya siksha unnayan patrika
Swasthya siksha unnayan patrikaSwasthya siksha unnayan patrika
Swasthya siksha unnayan patrikaPrabir Chatterjee
 
980430寶來期貨台股盤後日報
980430寶來期貨台股盤後日報980430寶來期貨台股盤後日報
980430寶來期貨台股盤後日報guest92ee6e
 
Republic 1 2
Republic 1 2Republic 1 2
Republic 1 2huquanwei
 
ボストンの澄んだ空の下で考えたこと(LT編)
ボストンの澄んだ空の下で考えたこと(LT編)ボストンの澄んだ空の下で考えたこと(LT編)
ボストンの澄んだ空の下で考えたこと(LT編)Takeshi Kakeda
 
高中数学知识
高中数学知识高中数学知识
高中数学知识Xu jiakon
 
Arabic E Book 25 Success Stories[1]
Arabic E Book   25 Success Stories[1]Arabic E Book   25 Success Stories[1]
Arabic E Book 25 Success Stories[1]anas0666
 
Webken 03: Project Design for Optimaizing User Experience
Webken 03: Project Design for Optimaizing User ExperienceWebken 03: Project Design for Optimaizing User Experience
Webken 03: Project Design for Optimaizing User ExperienceNobuya Sato
 
Effective E Mail In Arabic By Gamal Arafa
Effective E Mail In Arabic By Gamal ArafaEffective E Mail In Arabic By Gamal Arafa
Effective E Mail In Arabic By Gamal ArafaGamal Arafa
 

Similaire à 自作言語でお絵描き (20)

QM-078-企業導入六標準差之個案探討
QM-078-企業導入六標準差之個案探討QM-078-企業導入六標準差之個案探討
QM-078-企業導入六標準差之個案探討
 
秩序从哪里来?
秩序从哪里来?秩序从哪里来?
秩序从哪里来?
 
Apology Of Socrates
Apology Of SocratesApology Of Socrates
Apology Of Socrates
 
Opportunity Magazine 2008-11-03 Vol.5
Opportunity Magazine 2008-11-03 Vol.5Opportunity Magazine 2008-11-03 Vol.5
Opportunity Magazine 2008-11-03 Vol.5
 
Republic 3 4
Republic 3 4Republic 3 4
Republic 3 4
 
From Virtual Worlds To The 3 D Web
From Virtual Worlds To The 3 D WebFrom Virtual Worlds To The 3 D Web
From Virtual Worlds To The 3 D Web
 
[Nahu] - 'ilm Kalam (arabic)
[Nahu] - 'ilm Kalam (arabic)[Nahu] - 'ilm Kalam (arabic)
[Nahu] - 'ilm Kalam (arabic)
 
Tamareen
TamareenTamareen
Tamareen
 
Green IT
Green ITGreen IT
Green IT
 
产业
产业产业
产业
 
AI&medical imaging in japan 2018
AI&medical imaging in japan 2018AI&medical imaging in japan 2018
AI&medical imaging in japan 2018
 
Swasthya siksha unnayan patrika
Swasthya siksha unnayan patrikaSwasthya siksha unnayan patrika
Swasthya siksha unnayan patrika
 
980430寶來期貨台股盤後日報
980430寶來期貨台股盤後日報980430寶來期貨台股盤後日報
980430寶來期貨台股盤後日報
 
Republic 1 2
Republic 1 2Republic 1 2
Republic 1 2
 
ボストンの澄んだ空の下で考えたこと(LT編)
ボストンの澄んだ空の下で考えたこと(LT編)ボストンの澄んだ空の下で考えたこと(LT編)
ボストンの澄んだ空の下で考えたこと(LT編)
 
高中数学知识
高中数学知识高中数学知识
高中数学知识
 
Arabic E Book 25 Success Stories[1]
Arabic E Book   25 Success Stories[1]Arabic E Book   25 Success Stories[1]
Arabic E Book 25 Success Stories[1]
 
Webken 03: Project Design for Optimaizing User Experience
Webken 03: Project Design for Optimaizing User ExperienceWebken 03: Project Design for Optimaizing User Experience
Webken 03: Project Design for Optimaizing User Experience
 
Effective E Mail In Arabic By Gamal Arafa
Effective E Mail In Arabic By Gamal ArafaEffective E Mail In Arabic By Gamal Arafa
Effective E Mail In Arabic By Gamal Arafa
 
IA & UCD/UXD
IA & UCD/UXDIA & UCD/UXD
IA & UCD/UXD
 

Plus de uchan_nos

MikanOSと自作CPUをUSBで接続する
MikanOSと自作CPUをUSBで接続するMikanOSと自作CPUをUSBで接続する
MikanOSと自作CPUをUSBで接続するuchan_nos
 
OSを手作りするという趣味と仕事
OSを手作りするという趣味と仕事OSを手作りするという趣味と仕事
OSを手作りするという趣味と仕事uchan_nos
 
小型安価なFPGAボードの紹介と任意波形発生器
小型安価なFPGAボードの紹介と任意波形発生器小型安価なFPGAボードの紹介と任意波形発生器
小型安価なFPGAボードの紹介と任意波形発生器uchan_nos
 
トランジスタ回路:エミッタ接地増幅回路
トランジスタ回路:エミッタ接地増幅回路トランジスタ回路:エミッタ接地増幅回路
トランジスタ回路:エミッタ接地増幅回路uchan_nos
 
OpeLa: セルフホストなOSと言語処理系を作るプロジェクト
OpeLa: セルフホストなOSと言語処理系を作るプロジェクトOpeLa: セルフホストなOSと言語処理系を作るプロジェクト
OpeLa: セルフホストなOSと言語処理系を作るプロジェクトuchan_nos
 
OpeLa 進捗報告 at 第23回自作OSもくもく会
OpeLa 進捗報告 at 第23回自作OSもくもく会OpeLa 進捗報告 at 第23回自作OSもくもく会
OpeLa 進捗報告 at 第23回自作OSもくもく会uchan_nos
 
サイボウズ・ラボへ転籍して1年を振り返る
サイボウズ・ラボへ転籍して1年を振り返るサイボウズ・ラボへ転籍して1年を振り返る
サイボウズ・ラボへ転籍して1年を振り返るuchan_nos
 
USB3.0ドライバ開発の道
USB3.0ドライバ開発の道USB3.0ドライバ開発の道
USB3.0ドライバ開発の道uchan_nos
 
Security Nextcamp remote mob programming
Security Nextcamp remote mob programmingSecurity Nextcamp remote mob programming
Security Nextcamp remote mob programminguchan_nos
 
Langsmith OpeLa handmade self-hosted OS and LPS
Langsmith OpeLa handmade self-hosted OS and LPSLangsmith OpeLa handmade self-hosted OS and LPS
Langsmith OpeLa handmade self-hosted OS and LPSuchan_nos
 
OpeLa セルフホストなOSと言語処理系の自作
OpeLa セルフホストなOSと言語処理系の自作OpeLa セルフホストなOSと言語処理系の自作
OpeLa セルフホストなOSと言語処理系の自作uchan_nos
 
自動でバグを見つける!プログラム解析と動的バイナリ計装
自動でバグを見つける!プログラム解析と動的バイナリ計装自動でバグを見つける!プログラム解析と動的バイナリ計装
自動でバグを見つける!プログラム解析と動的バイナリ計装uchan_nos
 
1を書いても0が読める!?隠れた重要命令INVLPG
1を書いても0が読める!?隠れた重要命令INVLPG1を書いても0が読める!?隠れた重要命令INVLPG
1を書いても0が読める!?隠れた重要命令INVLPGuchan_nos
 
レガシーフリーOSに必要な要素技術 legacy free os
レガシーフリーOSに必要な要素技術 legacy free osレガシーフリーOSに必要な要素技術 legacy free os
レガシーフリーOSに必要な要素技術 legacy free osuchan_nos
 
Building libc++ for toy OS
Building libc++ for toy OSBuilding libc++ for toy OS
Building libc++ for toy OSuchan_nos
 
プランクトンサミットの歴史2019
プランクトンサミットの歴史2019プランクトンサミットの歴史2019
プランクトンサミットの歴史2019uchan_nos
 
Introduction of security camp 2019
Introduction of security camp 2019Introduction of security camp 2019
Introduction of security camp 2019uchan_nos
 
30分で分かる!OSの作り方 ver.2
30分で分かる!OSの作り方 ver.230分で分かる!OSの作り方 ver.2
30分で分かる!OSの作り方 ver.2uchan_nos
 
USB3 host driver program structure
USB3 host driver program structureUSB3 host driver program structure
USB3 host driver program structureuchan_nos
 

Plus de uchan_nos (20)

MikanOSと自作CPUをUSBで接続する
MikanOSと自作CPUをUSBで接続するMikanOSと自作CPUをUSBで接続する
MikanOSと自作CPUをUSBで接続する
 
OSを手作りするという趣味と仕事
OSを手作りするという趣味と仕事OSを手作りするという趣味と仕事
OSを手作りするという趣味と仕事
 
小型安価なFPGAボードの紹介と任意波形発生器
小型安価なFPGAボードの紹介と任意波形発生器小型安価なFPGAボードの紹介と任意波形発生器
小型安価なFPGAボードの紹介と任意波形発生器
 
トランジスタ回路:エミッタ接地増幅回路
トランジスタ回路:エミッタ接地増幅回路トランジスタ回路:エミッタ接地増幅回路
トランジスタ回路:エミッタ接地増幅回路
 
OpeLa: セルフホストなOSと言語処理系を作るプロジェクト
OpeLa: セルフホストなOSと言語処理系を作るプロジェクトOpeLa: セルフホストなOSと言語処理系を作るプロジェクト
OpeLa: セルフホストなOSと言語処理系を作るプロジェクト
 
OpeLa 進捗報告 at 第23回自作OSもくもく会
OpeLa 進捗報告 at 第23回自作OSもくもく会OpeLa 進捗報告 at 第23回自作OSもくもく会
OpeLa 進捗報告 at 第23回自作OSもくもく会
 
サイボウズ・ラボへ転籍して1年を振り返る
サイボウズ・ラボへ転籍して1年を振り返るサイボウズ・ラボへ転籍して1年を振り返る
サイボウズ・ラボへ転籍して1年を振り返る
 
USB3.0ドライバ開発の道
USB3.0ドライバ開発の道USB3.0ドライバ開発の道
USB3.0ドライバ開発の道
 
Security Nextcamp remote mob programming
Security Nextcamp remote mob programmingSecurity Nextcamp remote mob programming
Security Nextcamp remote mob programming
 
Langsmith OpeLa handmade self-hosted OS and LPS
Langsmith OpeLa handmade self-hosted OS and LPSLangsmith OpeLa handmade self-hosted OS and LPS
Langsmith OpeLa handmade self-hosted OS and LPS
 
OpeLa セルフホストなOSと言語処理系の自作
OpeLa セルフホストなOSと言語処理系の自作OpeLa セルフホストなOSと言語処理系の自作
OpeLa セルフホストなOSと言語処理系の自作
 
自動でバグを見つける!プログラム解析と動的バイナリ計装
自動でバグを見つける!プログラム解析と動的バイナリ計装自動でバグを見つける!プログラム解析と動的バイナリ計装
自動でバグを見つける!プログラム解析と動的バイナリ計装
 
1を書いても0が読める!?隠れた重要命令INVLPG
1を書いても0が読める!?隠れた重要命令INVLPG1を書いても0が読める!?隠れた重要命令INVLPG
1を書いても0が読める!?隠れた重要命令INVLPG
 
レガシーフリーOSに必要な要素技術 legacy free os
レガシーフリーOSに必要な要素技術 legacy free osレガシーフリーOSに必要な要素技術 legacy free os
レガシーフリーOSに必要な要素技術 legacy free os
 
Building libc++ for toy OS
Building libc++ for toy OSBuilding libc++ for toy OS
Building libc++ for toy OS
 
プランクトンサミットの歴史2019
プランクトンサミットの歴史2019プランクトンサミットの歴史2019
プランクトンサミットの歴史2019
 
Introduction of security camp 2019
Introduction of security camp 2019Introduction of security camp 2019
Introduction of security camp 2019
 
30分で分かる!OSの作り方 ver.2
30分で分かる!OSの作り方 ver.230分で分かる!OSの作り方 ver.2
30分で分かる!OSの作り方 ver.2
 
Timers
TimersTimers
Timers
 
USB3 host driver program structure
USB3 host driver program structureUSB3 host driver program structure
USB3 host driver program structure
 

Dernier

CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 

Dernier (20)

CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 

自作言語でお絵描き