タグ

コンパイラに関するn_knuuのブックマーク (3)

  • if式 / if文 の条件節で、左辺に定数を書くべき言語はあるか? @ajiyoshi.gist

    gistfile1.md if式 / if文 の条件節で、左辺に定数を書くべき言語はあるか? @ajiyoshi.gist twitterからながれてきたこの話題。昔のCコンパイラは、if文の条件節で代入を書いても文句を言わなかったので、このようなコードに何の警告も出なかった。 #include<stdio.h> int main() { int x = 0; /* おそらく意図と違う。 x == 1 と書くべきであった これでは常に実行されてしまう */ if ( x = 1 ) { puts("残念"); } } 「これをこのように書けば、コンパイルエラーになり、ある種の誤りをコンパイラに見つけさせることができる」というのが、「老害」とされる人の主張である。 /* これはコンパイルエラーになる */ if ( 1 = x ) { puts("残念"); } もし使っている環境が「コンパ

    if式 / if文 の条件節で、左辺に定数を書くべき言語はあるか? @ajiyoshi.gist
    n_knuu
    n_knuu 2014/12/08
    “Python、Perl、Ruby、C(clang)では、「老害」の意見には反発しよう”
  • Bison 1.25

    Bison 1.25 マニュアル 目次 まえがき 日語訳にあたって Bisonの利用条件 GNU一般公有使用許諾書 はじめに 和文文書自体の再配布に関して あなたの新しいプログラムにこれらの条項を適用する方法 Bisonの概念 言語と文脈自由文法 形式規則からBisonの入力へ 意味値 意味アクション Bisonの出力――構文解析器ファイル Bisonを使う手順 Bison文法の全体像 例 逆ポーランド記法電卓 rpcalcのための宣言 rpcalcのための文法規則 inputの説明 lineの説明 exprの説明 rpcalc字句解析器 制御関数 エラー報告関数 構文解析器を生成するためにBisonを実行 構文解析器ファイルのコンパイル 中間記法電卓:calc 単純なエラー回復 多機能電卓:mfcalc mfcalcのための定義 mfcalcのための文法規則 mfcalcの記号表 練習

  • Flex(Fast Lexical Analyzer) 入門

    字句スキャナ生成プログラム Flex 2.3.7、1.03版 1993年2月 G. T. Nicol 著 序 プログラムの実例について Flex入門 問題解決手段としてのFlex 一般的なプログラミング・ツールとしてのFlex Flexの起動 コマンドライン・オプション コマンドライン・オプション(Flex 2.5の補足情報) Flex記述言語 コメント オプションのCコード 定義 %% ルール パターン・セクション 文字 Flexにおける文字列 Flexにおける文字のグループ化 Flexにおける文字のグループ化(Flex 2.5の補足情報) 正規表現 スタート状態 スタート状態の説明 状態の活性化 スタート状態に関する注 スタート状態に関する注(Flex 2.5の補足情報) スタート状態の使用例 %option(Flex 2.5の補足情報) Flexとのインターフェイス FlexとC F

  • 1