メッセージ。 - にゃー
# にゃー
仕様書とか文書って、実はある種のプログラミング言語だと思って書いたほうがいいのかもしれない。この言語は、処理系によって上から順に1行ずつ処理される。広辞苑に載っているような一般的な言葉は、グローバル変数として、プログラム中の任意の場所で使用できる。
広辞苑に載っていない言葉を使用した場合、処理系によっては型推論・コンテキスト推論等により「内容や意味」が補完され、処理が継続可能な場合もあるが、未定義の言葉の使用は推奨されない(注意:処理系は、広辞苑に載っているすべての言葉を実装しているわけではない)。
実際には、処理系は広辞苑に載っている言葉のごく一部のみを実装しており、どの言葉を実装するかは処理系の実装に依存する。また、広辞苑に載っている言葉であっても、処理系の方言や実装方針、バグ、コンテキスト等によって、言葉や文書は意図しない内容や意味に解釈される場合がある。
文書内で頻繁に使用する概念については、0個以上の言葉を組み合わせて、ローカルな言葉として定義可能だが、ローカルな言葉は、その言葉を定義する文章より前の行で使用してはならず、もしそのように言葉を使用した場合は、処理系によって未定義な言葉として処理される。
未定義の言葉が多用された場合、処理系はその文章の解釈や実行が不可能であると判断し、直ちに処理を中断する。処理中断時点までに解釈された文章、および未解釈の文章をどのように扱うかは未定義であるが、しばしば媒体ごとクシャクシャにして捨てられる。
それにしてもPHP、案外難しいなぁ。コード読んでても、「えっこんなことできるの?」ってことがいっぱいでてきて、いちいち引っかかる。
広辞苑に載っていない言葉を使用した場合、処理系によっては型推論・コンテキスト推論等により「内容や意味」が補完され、処理が継続可能な場合もあるが、未定義の言葉の使用は推奨されない(注意:処理系は、広辞苑に載っているすべての言葉を実装しているわけではない)。
実際には、処理系は広辞苑に載っている言葉のごく一部のみを実装しており、どの言葉を実装するかは処理系の実装に依存する。また、広辞苑に載っている言葉であっても、処理系の方言や実装方針、バグ、コンテキスト等によって、言葉や文書は意図しない内容や意味に解釈される場合がある。
文書内で頻繁に使用する概念については、0個以上の言葉を組み合わせて、ローカルな言葉として定義可能だが、ローカルな言葉は、その言葉を定義する文章より前の行で使用してはならず、もしそのように言葉を使用した場合は、処理系によって未定義な言葉として処理される。
未定義の言葉が多用された場合、処理系はその文章の解釈や実行が不可能であると判断し、直ちに処理を中断する。処理中断時点までに解釈された文章、および未解釈の文章をどのように扱うかは未定義であるが、しばしば媒体ごとクシャクシャにして捨てられる。
それにしてもPHP、案外難しいなぁ。コード読んでても、「えっこんなことできるの?」ってことがいっぱいでてきて、いちいち引っかかる。
Comment
Trackback