Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AkarengaLT vol.38
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
hashimoto-kei
October 19, 2025
Programming
1
200
AkarengaLT vol.38
AkarengaLT vol.38 に登壇した際の資料です。
https://engineercafe.connpass.com/event/370316/
hashimoto-kei
October 19, 2025
Tweet
Share
More Decks by hashimoto-kei
See All by hashimoto-kei
AkarengaLT vol.41
hashimoto_kei
0
13
AkarengaLT vol.40
hashimoto_kei
0
61
HajimetenoLT vol.17
hashimoto_kei
1
160
AkarengaLT vol.37
hashimoto_kei
0
95
AkarengaLT vol.36
hashimoto_kei
0
79
AkarengaLT vol.35
hashimoto_kei
0
180
Boast Code Party | RubyKaigi 2025 After Event
hashimoto_kei
2
330
Other Decks in Programming
See All in Programming
IFSによる形状設計/デモシーンの魅力 @ 慶應大学SFC
gam0022
1
260
CSC307 Lecture 01
javiergs
PRO
0
680
公共交通オープンデータ × モバイルUX 複雑な運行情報を 『直感』に変換する技術
tinykitten
PRO
0
200
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
660
副作用をどこに置くか問題:オブジェクト指向で整理する設計判断ツリー
koxya
1
540
Unicodeどうしてる? PHPから見たUnicode対応と他言語での対応についてのお伺い
youkidearitai
PRO
0
960
Kotlin Multiplatform Meetup - Compose Multiplatform 외부 의존성 아키텍처 설계부터 운영까지
wisemuji
0
180
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
200
組織で育むオブザーバビリティ
ryota_hnk
0
150
Deno Tunnel を使ってみた話
kamekyame
0
350
[KNOTS 2026登壇資料]AIで拡張‧交差する プロダクト開発のプロセス および携わるメンバーの役割
hisatake
0
120
コントリビューターによるDenoのすゝめ / Deno Recommendations by a Contributor
petamoriken
0
200
Featured
See All Featured
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
200
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.3k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
49
The Pragmatic Product Professional
lauravandoore
37
7.1k
A better future with KSS
kneath
240
18k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
0
1.1k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
150
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
61
49k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
150
The Language of Interfaces
destraynor
162
26k
Transcript
2025/10/19 hashimoto-kei AkarengaLT Vol. 38
ࣗݾհ Let me introduce myself.
໊લɿhashimoto-kei name: hashimoto-kei
ग़ɿԬ birthplace: Fukuoka City
ॴଐɿελʔτΞοϓ@Ԭ belong_to: startup at Fukuoka
ݞॻɿݚڀһ position: researcher
ࣄɿΤϯδχΞ work: engineer
ٕज़ελοΫɿPython, AWS technology stack: Python, AWS
͖ͳຊɿNand2Tetris favorite book: Nand2Tetris
None
ࠓͷςʔϚ Today’s theme
͘͠Έ.py
⚙.🐍
Python ͷΈ How Python works
CPython
Python͕ϓϩάϥϜΛ࣮ߦ͢ΔྲྀΕɺ࠷ޙʹʮόΠτίʔυʯ͕ੜ͞ΕΔ https://xtech.nikkei.com/ a tcl/nxt/column/18/02585/092000003/?SS=imgview&FD=1420927604
CRuby
Rubyͷதͷ༧උࣝ_RubyK a igiͷલʹΓୄʂ_ެ։༻ https://docs.google.com/present a tion/d/1oFvP4W3Ox8uiGXsW a 3ibyDg a 1cpLguVZhwCjpD46hFU/
mobilepresent?slide=id.g3389fccf211_0_100
4 components
None
Hands-on
Version
https://www.python.org/downlo a ds/
None
લఏࣝ Background
Modules
Python Language Services
https://docs.python.org/3.13/libr a ry/l a ngu a ge.html
🐍
ࣈ۟ղੳث Lexical Analyzer
None
લఏࣝ Background
ࣈ۟ lexeme
ϓϩάϥϜΛߏ͢Δ࠷খ୯Ґ Minimum unit for program
ࣗવݴޠͷʮ୯ޠʯ Like word in natural language
τʔΫϯ token
จ๏ͷߏ୯Ґ unit for grammar
ࣗવݴޠͷʮࢺʮจܕཁૉʯ Like grammatical element in natural language
ࣈ۟ղੳ Lexical Analysis
ίʔυΛτʔΫϯʹม Convert source code into tokens
https://docs.python.org/3.13/gloss a ry.html#term-token
https://docs.python.org/3.13/gloss a ry.html#term-lexic a l- a n a lyzer
Hands-on
https://docs.python.org/3.13/libr a ry/tokenize.html
None
ߏจղੳث Parser
None
લఏࣝ Background
நߏจ Abstract Syntax Tree
จ๏ߏΛʮʯͰදݱ Represent syntax as tree
ߏจղੳ Parsing
จ๏ϧʔϧΛͱʹ τʔΫϯྻΛ AST ʹม Convert tokens into AST with grammar
Hands-on
https://docs.python.org/3.13/libr a ry/ a st.html
None
None
ίϯύΠϥ Compiler
None
લఏࣝ Background
όΠτίʔυ bytecode
VM ͕࣮ߦͰ͖Δதؒදݱ IR run by Python’s VM
https://docs.python.org/3.13/gloss a ry.html#term-bytecode
Hands-on
https://docs.python.org/3.13/libr a ry/dis.html
None
ԾϚγϯ VM
None
લఏࣝ Background
ԾϚγϯ VM
தؒදݱΛղऍ࣮ͯ͠ߦ͢Δ Execute IR
https://docs.python.org/3.13/gloss a ry.html#term-virtu a l-m a chine
Let’s try !
⚠
1 + 2 * 3
NUMBER (1) PLUS (‘+’) NUMBER (2) MULT (‘*’) NUMBER (3)
EOF (‘’)
จ๏ϧʔϧΛͱʹ τʔΫϯྻΛ AST ʹม Convert tokens into AST with grammar
όοΧεɾφΞه๏ BNF
จ๏Λهड़͢ΔͨΊͷه๏ Notation to define grammar
None
ύʔαδΣωϨʔλ Parser Generator
จ๏ϑΝΠϧΛೖྗ͢Δͱ ύʔαʔΛੜ͢Δ Generate parser with grammar file
LALR (1) Parser
None
None
ਂ͞༏ઌ୳ࡧ/ؼΓ͕͚ॱ DFS / post-order
PUSH 1 PUSH 2 PUSH 3 MULT PLUS POP
ελοΫϚγϯ Stack Machine
PUSH 1 PUSH 2 PUSH 3 MULT PLUS POP =>
PUSH 1 PUSH 2 PUSH 3 MULT PLUS POP =>
1
PUSH 1 PUSH 2 PUSH 3 MULT PLUS POP =>
1 2
PUSH 1 PUSH 2 PUSH 3 MULT PLUS POP =>
1 2 3
PUSH 1 PUSH 2 PUSH 3 MULT PLUS POP =>
1 6
PUSH 1 PUSH 2 PUSH 3 MULT PLUS POP =>
7
PUSH 1 PUSH 2 PUSH 3 MULT PLUS POP =>
1 + 2 * 3
End ...?
None
None
Thank you for listening!