タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

forthとdocとlanguageに関するmasterqのブックマーク (7)

  • Top (Gforth Manual)

  • 機械語手書きから言語処理系をブートストラップする - Qiita

    この記事は言語実装のカレンダー | Advent Calendar 2021 - Qiita https://qiita.com/advent-calendar/2021/lang_dev の4日目の記事です。 はじめに 昔、アセンブリ言語のみから出発し、GC・継続・オブジェクトシステムなどを持つ比較的高級な言語までブートストラップするということをやりました。いつか再挑戦してみたいと思っていて、正月休みにやりましたら思いのほか動くものになりましたが、死蔵させたまま1年経ってしまいました。勿体無いのでこの機会に紹介して供養します。 前回作ったAmberという処理系はこちら リポジトリ: https://github.com/nineties/amber 今回はアセンブリ言語じゃなく ELFファイルの手書き から出発してみたいと思います。ただのお遊びで、そんなことしても役には立ちません。が、計

    機械語手書きから言語処理系をブートストラップする - Qiita
  • Threaded Code - moiの頭の中

    Threaded Code(翻訳) Threaded Code(翻訳) スレッデッドコードは何に効果的か? スレッデッドコードとは何か? スレッディング技法 間接スレッデッドコード Forthと直接スレッディング トークンスレッデッドコード その他の用語 どのようにスレッデッドコードを移植可能に実装するか? 値としてのGNU Cのラベル 継続渡しスタイル スイッチスレッディング コールスレッディング 歴史 参考文献 原文 : http://www.complang.tuwien.ac.at/forth/threaded-code.htmlを翻訳したサイトがあったのだが、いつの間にかなくなった。仕方ないので、自家翻訳する。 追記:(ほとんど訳した後に、Internet archiveがあることに気がついた。私が以前見た訳文は、Threaded Code。翻訳の質はこちらの方が上) スレッデッ

  • Hello, Forth World!! - ボクノス

    はい。今日も新たな言語に挑戦してみます。前回は、s kだけで全部出来ちゃうよ〜という純粋関数型言語Unlambdaでしたが、今回はもうちょっと高級に攻めてみたいと思います。 今日の言語はForth。噂によると相当早い言語らしい。なんか聞いたことがあったけど、どんな言語かは知らなかったので謎を追っていきます。処理系はgforthを使います。 Hello, Forth World!! とりあえず、Hello, world。 ." Hello, Forth World!!" Hello, Forth World!! okドットでprint。文字列の場合は、ドットと文字列の間はスペースは開けちゃダメらしい。 Hello, worldは謎が多いので次へ行きます。 (追記:突っ込みを頂きました。 ." という関数みたい。) 足し算 高級過ぎたので、もうちょっと低レベルに足し算行きます。 1 1 +なん

    Hello, Forth World!! - ボクノス
    masterq
    masterq 2021/12/05
    良い入門記事
  • POSTPONE IMMEDIATE - iMops-forth @Wiki

    IMMEDIATEというワードは、通常は、実行状態で利用される。このワード自体というよりも、このワードを実行したときに他のワードが被る効果が重要である。 IMMEDIATEとは、英語で、「間を置かない」とか「直接の」、「即時の」というような意味である。このワードを実行すると、その直前に定義された実行可能ワード — 通常はコロン定義である — が性質を変える。そのような性質の変わったワードはIMMEDIATE(イミディエット)ワードとも呼ばれる。どのように変わるかというと、コンパイル状態でも実行されるワードへと変わるのである。 通常のワード、つまり、IMMEDIATE指定されていないワードは、コンパイル状態で、つまり、何かのワードの定義の中で、その名前を書くと、そこに呼び出しがコンパイルされることになる(原則的コンピレーション・セマンティクス)。これに対して、IMMEDIATEワードは、定義

    POSTPONE IMMEDIATE - iMops-forth @Wiki
    masterq
    masterq 2021/12/04
    うーん、いまいち理解できない。。。
  • Forth

    An awesome stack based programming language, which is able to extend itself during runtime. \ a comment followed by the shortest quine source type \ another shorty, hello world looks like that ." hello world" \ tell me, what else can we do? ask the system itself! words \ this will yield all defined words EuroForth 2025 Hamburg, 12.-14. September 2025 The 41st EuroForth conference takes place in Ha

  • Forthを作ってみる - moiの頭の中

    プログラマの数だけForthが存在するといわれる、Forthを作ってみる。 実装言語は、C言語にする。 さて、やってみよう。 簡単なForthのプログラム スタックを作る 値をスタックに積む スタックから値を取り出す スタックの値を加算する スタックの内容を表示する Forthを実行してみる? プログラム配列を走査する 「値をスタックに積む」を実行する プログラムを用意する Forthを実行してみる ソースコードを読み込む 条件分岐を実装する 繰り返し構造を実装する ワード定義を実装する ワード名を登録する 処理内容を登録する ワード名と処理内容を関連付ける ワード定義のテスト 対話環境を作る 32ビット化する 対話環境の複数行対応 スレッディングの変更 文字列を表示する 変数を実装する 変数を実装する2 最後に ところで、「Forthを作ってみる」を電子書籍にしました。 Forthを作っ

    masterq
    masterq 2019/02/22
    わかりやすそう。インタープリタを作るときに参考にしたい
  • 1