My VLSI tools take a chip from conception through testing. Perhaps 500 lines of source code. Cadence, Mentor Graphics do the same, more or less. With how much source/object code? – Chuck Moore, the inventor of Forth This is a personal account of my experience implementing and using the Forth programming language and the stack machine architecture. "Implementing and using" – in that order, pretty m
Forthコンパイラの記事が格好良くて触発されてしまい、Forth処理系を作った。 前回のC言語的なコンパイラと同様に、Pythonでx86-64のGNU Assembler向けのコードを出力する。 ##プロトタイプ実装 まずはとりあえず動くものをと思って最初に実装したのがこれ。 初めてのアセンブリ言語の題材に良さそう。 code = "6 3 + 2 - . 3 4 * 2 / 1 + . 2 3 drop dup dup 1 + + + 7 dup . . ." def translator(token): if token.isdigit(): print(" pushq $"+token) elif token == "+": print(" popq %rax") print(" addq %rax, (%rsp)") elif token == "-": print(" pop
はじめに これは「言語実装 Advent Calendar 2017」24日目の記事です。 この記事では 64bit版Windows で実行可能な x86_64 のセルフホスティング Forth コンパイラを作ります。 対象読者としては「C言語そこそこわかる」「x64アセンブラに嫌悪感はない」ぐらいの人を想定しています。コンパイラの知識は特に前提としません。 完成品はこちらから取得できます。 bootstrap には C を使います。しかしC言語的にお行儀の悪いことを色々やりますので、バージョンやコンパイルオプション等によっては動かないかもしれません。ご了承ください。一応完成版は以下の環境で動作を確認しています。 Cygwin64 の gcc option: -O3 と -O なし両方 version: 6.4.0 (GCC) target: x86_64-pc-cygwin Msys2
Excamera Labs is the home of: The popular Gameduino series of graphics and gaming adapters The I²CDriver and SPIDriver USB protocol tools The J1 Forth CPU The Excamera Labs newsletter is sent out every Tuesday. In it I talk about the latest projects, launches and previews. You can subscribe here. Gameduino CircuitPython March 2021 Crossbars in CuFlow February 2021 Forth double loops September 2020
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く