Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
言語を自作する勉強会を開いてみた
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
soukouki
December 11, 2021
Technology
230
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
言語を自作する勉強会を開いてみた
Zli 2021大LT冬(2021-12-11)で発表したLTのスライドです。
soukouki
December 11, 2021
More Decks by soukouki
See All by soukouki
ローカルLLMバイブコーディングのすすめ
soukouki
0
130
ゲーム画面をブラウザから見られるサイトを作った話
soukouki
0
120
Simutrans CityView (日本語版)
soukouki
0
170
Simutrans CityView (English)
soukouki
0
130
10分で学ぶ すてきなモナド
soukouki
1
220
Misskey自鯖を建ててみた
soukouki
1
130
1年前の日記を要約するツールをローカルLLM&自作MCPサーバーで作った話
soukouki
0
610
自作Cコンパイラ 8時間の奮闘
soukouki
0
2k
定理証明支援系Coq(セキュリティキャンプLT会)
soukouki
1
290
Other Decks in Technology
See All in Technology
FactoryBotアンチパターン / factory_bot anti-patterns
toshimaru
0
140
ファミコンでPHPを動かす / PHP on the Famicom side b
tomzoh
0
140
Kiro Crewをはじめよう
kizawa2020
1
110
OpenSharing について熱く語る〜AI アセットの共有について〜
kameitomohiro
0
240
使いこなすために知っておきたい Azure SRE Agent アンチパターン
torumakabe
2
420
実体験から学ぶ分析エージェントの開発と運⽤
recruitengineers
PRO
8
1.8k
Claude Code本は、どのように執筆チームで書かれたか
oikon48
1
340
転んだ話が背中を預ける理由になる / A_story_about_falling_down_gives_you_a_reason_to_watch_each_other_s_backs.pdf
pauli
3
340
MCPゲートウェイを作って運用してわかったこと — Agent時代の権限管理の現在地
mtpooh
10
3.2k
プロダクト価値を、 チームが使える判断軸に変える
vivion
0
140
20260930_Gemma4_Hands-on
tsho
0
240
オブザーバビリティを高める AI エージェント体験を考える / Designing AI Agent Experiences That Enhance Observability
aoto
PRO
2
320
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
How to train your dragon (web standard)
notwaldorf
96
6.9k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
Code Reviewing Like a Champion
maltzj
529
40k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
300
Evolving SEO for Evolving Search Engines
ryanjones
0
310
How GitHub (no longer) Works
holman
316
150k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
A Soul's Torment
seathinner
8
3.7k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
940
Transcript
言語を自作する勉強会を開催してみた 大LT(2021-12-11) sou7 / soukouki
おはようございます!!! 昨日の夜から快活にこもってLTスライド作って、家に帰って仮眠していたら寝坊しま した 2
13時4分のツイートです 3
自己紹介 学部1年のsou7/soukouki です。 最近はプログラミング言語の構文とか型とかに 興味があり、夏休みには自作言語のインタプリ タとか作ってました。次はコンパイラ制作に挑 戦してみます・・・! 今回はみんな大好きVSCode上で発表したいと 思います。 4
Marpはいいぞ このスライドはMarpを利用して作成しています マークダウンから発表用のスライドを作成できてとても便利! スライドの見た目の変更にはCSSを利用でき、なんとアニメーションまで使えちゃいま す! 5
ちなみにこのスライドのマークダウンファイルはこんな感じです 6
各種アカウント Twitter Discord GitHub @sou7_ _ _ sou7#0094 @soukouki 7
勉強会の概要 期間 11月の末からクリスマスまで メインターゲット ある程度自在にプログラムの書ける学部1-2年生 参加者数 10人 回数 4時間 x
5回 講師とTA 講師1人(私) TA2人(ERASER, matumoto) 実装言語 JavaScript 計5回の勉強会の後、冬休みの間に自由に機能を拡張/新規してもらい、冬休み明けに 発表してもらえると嬉しいな―、と計画しています 8
開催した動機 プログラミング言語の構文とかについて興味があるけれど、 言語について詳しくやってる友達がいない・・・ 悲しい・・・ 9
いないのであれば、作ればいい! 自分好みの友達を育成していくゲーム 10
なんと自分で勉強会を開くと、不思議なことに勉強会で伝えた分野の知識を持った友 達が量産できるんですね!! 言語を自作する勉強会を開いて、言語自作仲間を増やしちゃおう!!! 11
勉強会の流れ すべてを一から実装!! 12
・・・だと難易度が高すぎるため、こちらで機能の少ないインタプリタを用意した上 で、機能追加を通して学ぶ形にしてみました メインは演習において、たまに講義を交えつつひたすら改造していく流れです 13
到達目標 インタプリタの処理系の作り方を把握し、自身で新しく処理系を実装するための知識 を得て、最終課題では自分で新たな構文を実装できることを目標としています 参加者の人が考えてくる構文をとても楽しみにしています 14
具体的な内容 字句解析 構文解析(再帰下降構文解析 / PEGパーサー) 評価(抽象構文木上をたどって実行する仕組み) 環境 15
第2回までの感想 直接感想を聞いている限りは、割と良い反応が多いです 実際、一回一回が長時間に及ぶ勉強会の割には、脱落した方は今の所いません 参加者が皆プログラム組むのが好きなだけかも知れない・・・? 少人数のためにフォローアップがしやすいのもあるかも知れません 講師としてはかなり手間がかかっている点はありますが、自分の好きな分野の話 が無限に語れるので、けっこう楽しいです 16
参加者への良い影響 言語の処理系に対する知識 言語についての知識だけでなく、実装を通してプログラミング全般への知識が深 まっている コンピュータについての基礎的な知識(改行文字と \n の違い) 開発に必要な知識(Git, ESLint, TDD)
JavaScriptの構文の知識 17
自分自身への良い影響 インタプリタを作る機会ができた 夏休みの最初に作ったインタプリタはバグが多すぎて辛かった (多分まだ見つけてないだけで大量にバグがある) 友達に言語の知識を前提とした質問ができるようになった 気軽に「〇〇言語の if って式?それとも文?」と聞ける! 実績として使える 自身のアイデンティティーの確立(言語自作の人)
18
もっと広い分野への影響 しんぶんぶんくん・直也先輩主催のAizuHackに続く勉強会だったので、勉強会を 開くムーブメントがUBIC界隈で起きている気がします ERASERくんは早くTypeScript/React勉強会を開きましょう! jimang先輩のRust勉強会、期待してます! 19
自分自身への悪い影響 絶起常習犯 落単 (課題とテスト適当にやりすぎた) 20
反省点 エコシステム化などは全く考えていないので、継続して取り組むことは難しい 説明をスライドではなく、対面での説明で行っているため、自習用の資料として 活用することが困難 参加者のレベルに合わせられるという利点もあるので、一概に悪いとは言えなさそう 微積分27F 21
まとめ sou7先生のQ3の累積GPAにご期待ください!!!!! 22