タグ

forthとcompileに関するmasterqのブックマーク (2)

  • POSTPONE IMMEDIATE - iMops-forth @Wiki

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

    POSTPONE IMMEDIATE - iMops-forth @Wiki
    masterq
    masterq 2021/12/04
    うーん、いまいち理解できない。。。
  • プログラミング言語Forthに魅せられて。 - Qiita

    NextremerのCommon Lisp大好きプログラマ、t-sinです。 この記事はNextremer Advent Calendar 2018の19日目の記事ですが日は12/26(水)です。 大遅刻です。 記事では、ふしぎなふしぎなプログラミング言語Forthについて、現時点でわかっていることを話します。 ごたくはいいからコードを見せて ForthでHTTPリクエストを処理するコードです。ご査収ください。 ほかには、Forthのウェブアプリケーションフレームワークである1991のソースコードを見てみてください。「これがウェブフレームワークのソースコード? ちっさ」と感じることと思います。 Forthとは Forthは後置(逆ポーランド)記法で記され、引数や返り値を含めた値をすべてスタックに置く、インタプリタ型言語です。その内部では極小のVMが動いており、ユーザ定義の手続き(For

    プログラミング言語Forthに魅せられて。 - Qiita
    masterq
    masterq 2021/08/27
    "コンパイルモードと実行モードを自由に行き来できたり、コンパイル中にも実行できる即値ワードというものを定義したりして、コンパイルの結果つくられるバイトコードをプログラムで操作"
  • 1