ベストアンサー
すばらしい質問です!
言語のセマンティクスとは、構造が変化した場合に意味がどのように変化するかを指します。デザインのセマンティクスは(書き言葉や話し言葉のように)順序に依存しませんが、要素とそれらがどのように相互作用するかに依存します:素材、サイズ、形、質感、色。これらはすべて、特定のデザインとの相互作用の方法を理解するための記号論的な手がかりを提供します。
たとえば、特定の素材を使用すると、オブジェクトが高価または安価であると思われる可能性があります。フォーム(サイズなど)は、若い人や年配の人を対象としている場合にヒントを与えることができます(たとえば、レゴなどのプラスチック製のビルディングブロックについて考えてみてください)。椅子の位置は、再会で最も重要な人物を対象としていることなどを伝えることができます。
設計者は、これらすべての微妙な(それほど微妙ではない)情報を考慮に入れて、マニュアルがなくても、何をすべきかわからないことで恥ずかしがらずに、人々が対話できるオブジェクトを作成します。
物質文化の理論を探求することをお勧めします。
回答
構文とセマンティクスは、相互および他のエンティティとの通信の両方の部分です。コンピューターのように。
構文は、単語の文法的な配置を指します。
セマンティクスはの意味を指します構文的に許容できる方法で配置された単語と句読点の組み合わせ。
構文的に正しいことを考えてみましょう。最初は、プレーンイングリッシュコンパイラでは意味的に理解できない例。Intelx86コンピュータプロセッサが実行できる形式に縮小できる場合、文は意味的に理解されていると見なされます。
このプログラムで強調表示されている文…
…明らかに作業が必要です。
問題は、コンパイラが「ピギーバンク」が何であるかを知らないことです。これで、貯金箱には多くの特性(サイズ、形状、色など)があることがわかりました…
…しかし、プログラムが貯金箱について知る必要がある唯一のことは、それがさまざまな金額でお金を保持できるということです。そこで、これらの行に沿って簡単な定義を追加し(赤い矢印)、プログラムのコンパイルを再試行します。
ラット!まだ通信していません。たぶん私たちは大声で話すべきです!!!ただし、平易な英語では大文字と小文字は区別されません。そして待ってください…エラーが変更されました。今回は、コンピューターが理解できない「ドル」という言葉だと思います。そこで、以下に示すように「ドル」について説明し、再度コンパイルを試みます。
再びラット!さて、コンパイラにペニーについて考える方法を伝える文を追加することで、それを修正できるかどうか見てみましょう:
Et voila !今回はコンパイル時に意味が理解され、プログラムを実行すると機能します(以下に示すコンソール出力):
一方、内部では…
これが、コンパイラの頭の中でその文の意味的理解に到達した方法です。
•「10ドル」は、数値のリテラルの後に測定単位が続くものとして認識され、値が1000の数値変数に変換されました(10ドル×100ペニー/ドル)。
•「ピギーバンク」は、タイプ「ピギーバンク」の新しいローカル変数の要求として理解されました。これは、基本タイプの「数値」になります。この変数のスペースは、ゼロに初期化され、スタックに割り当てられました。
•「ピギーバンクに10ドルを追加する」という文は、内部的には、「[ピギーバンク]に[ドル]を追加する」という雑な必需品だけに削減されました。角括弧はタイプ名です。
•そのようなルーチンはどちらのプログラムにも見つかりませんでした。コードまたは「ヌードル」(便利なダンディタイプ、変数、ルーチンのプレーンイングリッシュライブラリ)で、変数は一度に1つずつ基本タイプに削減され、各組み合わせで一致するルーチンが確認されました。
•最下位レベル—「[number]を[number]に/に/に追加」—対応するルーチンヘッダーがNoodleに見つかりました。ユーレカ!具体的には、このルーチンの2番目のヘッダー…
…ご覧のとおり、その本文は次の言語で記述されています。 Intel x86の頭脳は理解できます(青色のアセンブラ言語ステートメントはコメントです)。
•したがって、コンパイラは、(a)スタック上の2つの変数のアドレスをプッシュするために必要なIntelx86ステートメントを生成しました。 (b)上記のルーチンを呼び出します。
これでその文は終わりです。プログラムの残りの部分も同じ方法でコンパイルされました。
意味理解。心の集まり。
Et voila!