2021-03-10に更新

素朴な自作言語のコンパイラをTypeScript(Deno)に移植した

移植一覧に戻る


TypeScript 入門というか、とりあえず何か書いて慣れようと思って書いてみました。やっつけなので汚いです。TypeScript まだよく分からないけどなんか動いたのでヨシ、というレベルのものです。
(※ 2020-08-15 に書いた記事のクロス投稿です)

https://github.com/sonota88/vm2gol-v2-typescript

移植元

ベースになっているバージョン: tag:45 のあたり

(201-03-06 追記: step 55 の修正まで適用しました。それに伴い、アセンブラ・VM 関連のコードを old_version ディレクトリに移動しました。全部修正すると大変なので)

メモ

  • YAML/JSON ライブラリへの依存をなくしてみた
    • vge コードは YAML ではなく簡単な独自フォーマットにして自力でパースするようにした
    • 単に行ごとに読んで文字列か数かを判別できればよい
    • vgt コード(JSON)も自力でパースしてみた
  • Ruby 版で作った出力データがすでにあるので、
    それに一致するように未実装部分を潰していくだけ。
    ゼロから作っていた Ruby 版のときに比べたら遥かに楽。
  • 今回もなんとなく VM → アセンブラ → コード生成器 → パーサ
    の順で作ってしまって、インクリメンタルな作り方を試せばかったな……と作り終わってから思った
Originally published at memo88.hatenablog.com
ツイッターでシェア
みんなに共有、忘れないようにメモ

sonota88

Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

有料記事を販売できるようになりました!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?

コメント