エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
Rubyで80行くらいのインタプリタ(コンパイラ?)作った - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Rubyで80行くらいのインタプリタ(コンパイラ?)作った - Qiita
class Interpreter def calc(code) create_tokens(code) exec(stmt) end private def create_tokens(cod... class Interpreter def calc(code) create_tokens(code) exec(stmt) end private def create_tokens(code) @tokens = [] while !code.empty? arr = [ [/^[0-9]+(\.[0-9]+)?/, "num"], [/^[\+\-\*\/]/, "bin"], [/^[()]/, "bra"], [/^\;/, "semicolon"], ] token = arr.map { |(regex, type)| val = code[regex] { type: type, val: val } if !val.nil? }.compact.first if token.nil? code.slice!(0) else @tokens << token code.s

