タグ

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

タグの絞り込みを解除

C言語に関するnyanpのブックマーク (3)

  • ポート入出力

    PORT入出力 イントロダクション そもそもポートとは何か? たった今マイコンの袋を破ったばかりの人にはそこから分からないと思います。ポートとは、「電気信号を出したり受け取ったりする端子」と言って良いでしょう。たとえばLEDを灯す為に電気を出したり、スイッチの入力を読むために電気を受け取ったりするわけです。 ポートの種類 H8/3048Fには入出力のどちらにも使用できるポートが10種類と、入力専用ポートが1種類有ります。それぞれは4~8のポートを持ち、合計で78の入出力ポートがあります。 これらの中にはあらかじめプルアップ抵抗を内蔵している物もあり、極端な言い方をすればスイッチとLSIを抵抗を介さずにつなげてもOKという物もあります(大声でお勧めする接続方法ではありませんが、現実的には大丈夫です)。また、10mAくらいの電流を流せるポートもあり、トランジスタ無しでもLEDくらいならば駆

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

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

  • スタックの操作と逆ポーランド記法による数式処理-数学アルゴリズム演習ノート-

    コンピュータで数式を処理する時、良く「逆ポーランド記法」という表記とアルゴリズムが使われます。逆ポーランド記法とは、演算子(+-*/など)を被演算子(数値や変数)の後ろに書くことで数式を表現する記法で、「1+2」という式を逆ポーランド記法で書くと、「12+」となるわけです。ちょうど「1と2を足す」という日語の表現と同じですね。また、この記法は結果的に数学的な演算を具体的な「操作」として順番に書き下した、という面もあるので、逆ポーランド記法の数式は計算アルゴリズムを単純化しやすく計算処理のプログラミング時に非常に扱いやすくなります。 最も、コンピュータにとっては理解しやすくても、人間にとっては慣れないとややわかりにくい、という面もあるのですが。 さらに、逆ポーランド記法だとカッコをなくす事ができます。例えば「(1+2)*3」という式は「12+3*」と表現でき実際に計算する時は、まず最初の1

  • 1