タグ

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

  • その4 「電卓を作ってみよう」 - C YOTA BANASHI

    電卓が欲しい! PCで文書作成とかしていて、ちょっと電卓が使いたくなることは、 ちょくちょくあります。 Windowsなら、スタートメニューからGUIベースの電卓が起動できますが、 立派なキーボードが付いてるPCで、 マウスで一所懸命ボタンをクリックするのなんて、 冷静に考えるとなんかバカです。 もちろんあの電卓でもキーボードから入力することは出来ますが、 演算子の優先順位は見てくれませんし、括弧を使った計算もできません。 それに、一般に、電卓で何十個もの数値を足す場合などは、 「ああ、入力ミスしてないかなあ」と途中で不安になるものです。 また、途中で入力ミスに気付いた場合、 最後の入力だけクリアして入れ直すことは一応出来るようなんですが、 どこまでどうクリアされてるのかよくわからなくて、 結局最初から入れ直したりしてません? 私は(プログラマの癖に)機械オンチなので、よく最初から入れ直し

  • 疑りぶかいあなたのためのオブジェクト指向再入門

    このページは、「オブジェクト指向再入門」とあるように、 オブジェクト指向を勉強しようとして挫折した人向けの文書です。 タイトルに「疑り深いあなたのための」とありますが、 これは決して揶揄して言っているわけではありません。 現在世間に蔓延しているオブジェクト指向の説明では、 むしろ納得しない方がまともだとさえ思えます。 「オブジェクト指向を使えば、生産性が飛躍的に上がり、 プログラムの見通しがよくなり、再利用性も高まる」と聞かされて、 「ホントかあ?」と思える人は、一度読んでみてください。 稿の対象読者は「既に他の手続き型言語を習得しているが、 オブジェクト指向が理解しがたいと感じている人」です。 言語としてはJavaを使用します。 手続き指向型の言語の例としては、C言語を使用します。 特にCに習熟している必要はないようにしたいのですが、 Cで言うところの「構造体」「ポインタ」「動的メモリ

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

    yacc/lexとは Cでプログラミング言語の処理系を実装するのであれば、 多くの場合、yaccとlexというツールを使います。 実のところ、Cとyacc/lexで簡単なプログラミング言語を作る、というのは、 以前、「C言語ヨタ話 」で書いた「 電卓を作ってみよう」 の焼き直しになります。yaccとlexの説明もそちらに簡単に書いたので、 そちらを見てください――と言いたいところですが、 まあここでも軽く説明します。 内容的には重複、というかコピペしている部分もありますが。 プログラミング言語の処理系は、通常、以下のような手順を取ります。 字句解析 ソースプログラムを、「字句(トークン)」の並びに分割する処理です。 構文解析 トークンの並びから、解析木を構築する処理です。 この後、Cなどの機械語を吐くコンパイラや Javaのようなバイトコードを吐くコンパイラなら、 「コード生成」という処理

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

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

    mhrs
    mhrs 2005/08/03
  • POINTER「配列とポインタの完全制覇」「C言語 ポインタ完全制覇」

    タイトルは「C言語 ポインタ完全制覇」。 このページの書籍化とはいえ、内容の大半は書き下ろしですので、 既にWebで読んでおられる方にも決して損はさせません。 詳細はこちらへどうぞ。 「C言語 ポインタ完全制覇(第2版)」書籍情報 「C言語 ポインタ完全制覇」書籍情報(旧版) 技術評論社さんによる書籍案内はこちら。 第2版 旧版 修正履歴は、このページの末尾にあります このページについて 全くもって僭越ながら、恐れおおくも偉そうにも、 こんな文書をWWWで公開させていただくことにしました。 この文書は、もともと社内向けの教科書として作成したものです。 私は、一介の文系出身プログラマであり、 特に情報関係の教育を受けたわけでもなく、 プログラミング言語に深い造詣を持っているわけではありません。 この文書にも多くの誤りや、誤解を招く表現があるかと思います。 そのような記述を見付けられた方は、ぜ

    mhrs
    mhrs 2005/08/03
    「空の []について」
  • C YOTA BANASHI

    C言語についてのヨタ話を書いてみました。 ウソ・間違い・誤解を招く表現など見付けられた方は、ぜひ 掲示板または PXU00211@nifty.ne.jp 宛てに連絡願います。 その1 「セミコロン」 その2「ポインタ」 その3「モジュールと命名とヘッダファイルと」 その4「メモリ管理問題」 その5「無理矢理インヘリタンス」 その6「電卓を作ってみよう」 文中で規格書とは、「JISハンドブック 情報処理 プログラミング言語編」 に収録されているX3010を指します。これは正確にはJISの規格なんで ANSI-Cの規格というわけではないんですが、JIS規格は章番号を含めて ISO規格のまる写しみたいなのでこれで良いと思ってるのですが、 もし違う所があるようでしたら情報ください。 文中でK&Rとは、「プログラミング言語C 第2版」の訳改訂版を指します。 文中でANSI-C Rational

    mhrs
    mhrs 2005/08/03
    Cに關するコラム。セミコロンの話からlex&yaccまで色色。
  • ほげを考えるページ

    このページについて: このページは、かつて http://www.selab.tutkie.tut.ac.jp/~yoshida/hoge.html に存在していたページです。 現在は公開されていません。 しかし、このような歴史的・文化的に極めて大きな価値のあるページが 見られないのは実に惜しいということ、 および、私自身が著書にて上記URLを紹介しまくっていることから、 作者の吉田さんに許可を頂き、ここに転載することにしました。 「C言語ポインタ完全制覇」の第6刷からは、こちらのURLを紹介しています。 転載を快諾してくださった吉田さんに感謝いたします。 ひとつ上のページに戻る | トップページに戻る ほげを考えるページこのページはネットワーク文化人類学の新しい分野である「ほげ学」のページです。暇な人以外は、このページを見ないようにお願い致します。特に、 レポートや論文が完成していない技

    mhrs
    mhrs 2005/05/24
    ほげ學。
  • 1