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
nakawai
May 27, 2018
360
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
330
AI駆動プロダクト開発で最速価値検証
nakawai
0
530
エンジニアがエンジニアリングマネージャーになって最初にやったこと
nakawai
2
1.4k
Android+TensorflowでAI画像生成
nakawai
0
73
AndroidでSRCNN(超解像ニューラルネットワーク) 2017
nakawai
0
71
Androidで超解像ニューラルネットワークできる?
nakawai
0
94
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
97
6.7k
Faster Mobile Websites
deanohume
310
32k
Building an army of robots
kneath
306
46k
Deep Space Network (abreviated)
tonyrice
0
220
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
210
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
180
The untapped power of vector embeddings
frankvandijk
2
1.8k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
320
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.4k
Navigating Weather and Climate Data
rabernat
0
270
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
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
電卓アプリで 再帰降下法を使った話 以上