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
電卓アプリで再帰降下法を使った話
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
nakawai
May 27, 2018
380
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
電卓アプリで再帰降下法を使った話
nakawai
May 27, 2018
More Decks by nakawai
See All by nakawai
AI機能プロジェクト炎上の 3つのしくじりと学び
nakawai
0
360
AI駆動プロダクト開発で最速価値検証
nakawai
0
550
エンジニアがエンジニアリングマネージャーになって最初にやったこと
nakawai
2
1.4k
Android+TensorflowでAI画像生成
nakawai
0
81
AndroidでSRCNN(超解像ニューラルネットワーク) 2017
nakawai
0
78
Androidで超解像ニューラルネットワークできる?
nakawai
0
99
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
A designer walks into a library…
pauljervisheath
211
24k
Navigating Weather and Climate Data
rabernat
0
500
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
330
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.2k
The Invisible Side of Design
smashingmag
301
52k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
First, design no harm
axbom
PRO
2
1.3k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
230
Making the Leap to Tech Lead
cromwellryan
135
10k
Building an army of robots
kneath
306
46k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
440
Transcript
電卓アプリで 再帰下降構文解析を 使った話 かものはし 2018/5/27 @kawai
どんな電卓?
デモ
1. 式の計算 2. 式の編集 3. 式の参照 要件
行計算できる 電卓
「式」の計算
“3+4” ↓ 3 + 4 ↓ 7
“√4+(3-15)” ↓ √4+(3-15) ↓ 2+-12
“100+8%” ↓ 100+(100×0.08) ↓ 100+8
“100×÷8” ↓ 無効な式
構文解析が必要
式の文字列から結果を導くには 1. トークンに分解 2. 処理用にパース 3. パース結果を処理
↑をトークンに分解 √4+(3-15)
√4+(3-15) 4 √ + - 3 15 ) (
処理用にパース
アルゴリズム
・操車場アルゴリズム(Shunting Yard Algorithm ) 中置 → 後置(逆ポーランド記法) ・再帰降下法 中置 → 構文木 → 評価
- 3 5 - 3 5 - 3 5 操
車 場 再帰降下法
- 3 15 4 √ + - 3 15 )
( √ 4 +
実装など
Evaluater Parser Tokenizer ParserTest EvaluaterTest Unit Test TokenizerTest Core Logic
電卓アプリで 再帰降下法を使った話 以上