削除された内容 追加された内容
Wkpdlin (会話 | 投稿記録)
これらの例はbashの記述例ではなくshの記述例であるため、英語版にあわせ見出しをbashからBourne shellに修正。cshも英語版に合わせてC shellに変更。bashと比較するのであれば、"(( $days > 365 ))", ": $((i*=2))" などarithmetic comparison/expansionがあり、C shellと同様になり、本文で主張している"構文のわかりやすさ"が主張できなくなる。
Wkpdlin (会話 | 投稿記録)
誤解に基づく注釈を削除。その誤解の原因の元となった文を修正。ここで述べているのは、「結合性」(associativity) という言葉の説明として、 例えば (a-b+c)といった式の演算順序の「あいまいさ」であって、言語の構文規則のあいまいさについてではない。 (a-b+c) を (a-(b+c))と解釈するのは「ただのバグ」という考えには同意する。
291行目:
C shell はC言語の演算子を流用した文法で32ビット整数の式を評価する機能を実装している。他に文字列比較の演算子やファイルシステムのテスト演算子(あるファイルが存在するかどうかのテスト)もある。演算子とオペランドは空白で区切らなければならない。変数は <code>$</code>''name'' の形式で参照する。
 
[[演算子の優先順位]]もC言語を踏襲しているが、演算子の結合性はC言語とは異なり、優先順位の等しい演算子が並んでいるとき<!--の演算順序の曖昧さを解消しよう決する演算子の結合性はC言語していは異なる。-->C言語では多くの演算子で左から右へ結合していくのに対し、C shell では右から左に結合していく。以下に例を示す。<ref>英語版から引き継いでいる記述のため注として残すが、ここにあった「並んでいるときの曖昧さを解消しようとしている。」という記述は何を言おうとしているのかわからない。構文規則において「曖昧さ」というのは、異なった構文木が導出される(され得る)ことを意味し、エラーになるとか異なった結果のうちの1つがランダムに選ばれるとかでなければならず、左から右に一意的に解釈されるというC言語の規則は、それはそれで1つの唯一性であって「曖昧さ」ではない。結合性が逆になっている、というのは、意図した設計(by design)なら「違う規則である」ということであり、意図していないならば「曖昧さを解消しようとしている」のではなく、ただのバグである。</ref>
 
{{Columns|width=27em