タグ

ブックマーク / kmaebashi.com (3)

  • MALLOC

    時事ネタ いや、「今、fj.comp.lang.cが熱い!」という話は ちょっと前から聞き及んではいたのですが、 流量が尋常じゃないらしいので、 忙しさもあって読むのを控えていたんですけど、 先日、大筋を拾い読みしてみました。 確かに熱いですねえ。 いったん収束するかなあ、と思ったら、なんかまた泥沼の気配が(^^; fjを読んでない人のために説明すると(って、 私も普段はあんまり読んでないんですが)、 「malloc()で確保した領域は、必ずfree()で解放しなきゃいけないか?」という 話題でして、「exit()する時には、OSが解放してくれるんだから 別にfree()しなくてもいいじゃん」という主張と、 「いや、malloc()には常に対になるfree()があるべきだ」という主張があって、 議論を呼んでいたのでした。 んで、私がどう思うかなんですが、 私は面倒臭がりなので、free()

    iww
    iww 2018/11/28
    free面倒とか言いつつMEM_mallocなるラッパーを作るなら、MEM_freeでも作って中身は空にでもすればよいだろう。という話
  • プログラミング言語を作る/オブジェクトとクロージャ

    このごろの言語はオブジェクト指向でなければ 言語として認めてもらえないような気配もあったりするので、 crowbarにもオブジェクトを組み込むことにします。 が、crowbarのオブジェクト指向は、 C++Javaのそれとはちょっとばかり趣が違います。 なにしろクラスがありません。 では具体的にどんな仕様と実装になっているのか、今回はそれを説明します。 GLOBALをかましたソースは こちらから参照可能です。 ダウンロードは、UNIX版がこちら、 Windows版がこちら。 細かい不具合修正を全バージョンに対して行うのは大変ですので、 ver.0.3系列はver.0.3.01に統合しました。 ここから参照してください。 crowbarでは、配列の生成はネイティブ関数new_array()を使いますが、 同様に、オブジェクトはネイティブ関数new_object()を使用します。 o = n

  • プログラミング言語を作る

    このページの目的は、「独自のプログラミング言語を作る」ことです。 「プログラミング言語を作る」というのは、 やったことのない方からすれば、ずいぶん無謀な目標に見えるのかもしれません。 でも、いくつかの基礎知識さえ修得すれば、技術的には、 実はそんなに難しいものでもありません。 だったら、ひとつぐらい作ってみたいと思いませんか? なにしろプログラミング言語を作るなんて、 いかにもかっこ良さげじゃないですか。 私は作ってみたいと思いました。だから作ります。 プログラミング言語なんてもう山ほどあるのに、 今さら新しい言語なんて付け足して何をしたいんだよ! などというツッコミは入れてはいけません。 「なぜプログラミング言語なんか作るんですか?」 と聞かれたら、その答は そこにyaccがあるからだ。 で充分だろうと私は思います(yaccが何かは後述します)。 というわけで―― ただ私なんぞが新言語を

  • 1