<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ## 1.4 形式語言和自然語言 自然語言是指人類表達的語言,比如,英語、西班牙語和法語。自然語言不是由人類設計(盡管人類嘗試對其強加某些命令)的,而是通過自然演化的。 __形式語言__則是由人類為了某些特殊應用而設計的語言。例如,數學中使用的記號法就是一種特別擅長表示數字和符號間關系的形式語言。化學家使用某種形式語言來表示分子間的化學結構。而最重要的是: __編程語言是用于表達計算過程的形式語言。__ 正如我之前提到的,形式語言具有嚴格的語法規則。例如,3+3=6是一個語法正確的數學表達式,但是3=+6$就不是。同樣,H2O是一個語法正確的化學名詞,但是2Zz就不是。 語法規則有兩種:與標識有關的規則或者與結構有關的規則。標識是語言的基本元素,如單詞、數字以及化學元素。3=+6$的問題之一是$不是數學里合法的標識(至少據我所知是這樣)。類似地,因為化學里沒有縮寫為Zz的元素,所以 2Zz也是不合法的。 第二種語法錯誤是表達式結構的問題。所謂結構,就是標識的順序。表達式3=+6$在結構上就不合法,因為不能在等號之后直接使用加號。類似地,分子表達式需要在元素名之后添加下標而不是之前。 當你閱讀一句英文或者形式語言的一條語句,你需要找到它的結構(盡管這一行為在閱讀自然語言時是無意識的)。這一過程稱為__語法分析__。 舉個例子,當你聽到一句話:“另一只鞋掉了,”你會知道“另一只鞋”是主語而“掉”是動詞。一旦你解析了一個句子的語法,你會了解它是什么意思,就是句子的語義。假設你知道鞋是什么意思和掉了是什么意思,你就會明白這句話的大致含義。 盡管形式語言和自然語言有很多共同的特性,但是他們在標識、結構、語法以及語義上有很多不同。 __二義性:__自然語言充滿了二義性,需要人們根據上下文線索和其他信息理解。而形式語言幾乎沒有二義性,即形式語言的任何表達式都僅有一個含義,無關上下文。 __冗余性:__為了彌補歧義和減少誤解,自然語言引入了很多冗余,結果自然語言通常都很啰嗦。形式語言則更簡明扼要。 __文學性:__在自然語言中有很多習語和暗喻。如果我說另一只鞋掉了,很有可能指的不是鞋,也沒有什么東西掉了。而形式語言則精確地描述了它們表達的意思。 習慣于自然語言的人們(每個人)要適應形式語言通常都很艱難。在某些方面形式語言和自然語言的差別就像是詩歌和散文,但是更甚。 __詩歌:__詞匯的發音和意義都十分重要,而整首詩歌創造某種效果或者情感回應。詩歌中隨處可見精心設計的雙關語。 __散文:__相較于詩歌,散文中文字本身的含義更為重要,同時結構也具有更大的意義。散文雖然也有二義性,但是比詩歌容易分析。 __程序:__計算機程序的含義是純字面且無歧義的,并且可以通過分析標識和結構將其完整理解。 關于閱讀程序(還有其他一些形式語言)的幾條建議如下。首先,形式語言比自然語言難以理解得多,需要花費更長時間來閱讀。其次,形式語言的結構很重要。所以從頭到尾的完整閱讀并不是一個好方法。應該學會先將程序解析,識別標識和解釋結構。最后,記住細節決定成敗。像自然語言中無關大礙的錯誤拼寫和標點符號等,在形式語言中可能產生很大的影響。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看