词法、语法与语义相关知识
概念
http://www.juweixin.com/t/detail/148383
語法到底是什么?有人說語法是語言里的法律、法規(guī);有人說語法是框架結構;還有人說語法就是對前人語言習慣的一種總結。以上這些說法都對,但是又不全對。
In linguistics, grammar is the set of structural rules governing the composition of clauses, phrases, and words in any given natural language. The term refers also to the study of such rules, and this field includes morphology, syntax, and phonology, often complemented by phonetics, semantics, and pragmatics.
在語言學中,語法是句子、短語和詞匯在任何給定的自然語言中的結構規(guī)則組成。這個領域也包括這些規(guī)則的研究,這一領域包括形態(tài)學、語構、語音,常常輔以語音學,語義學和語用學。
?
?我的理解:
1、 詞法, 定義組成語言的單詞, 是語言中最小單元。
2、 語法, 將單子組織成有含義的短語和句子的規(guī)則。
3、 語義, 結合上下文,可以推導出語句的真實含義。
?
語法糖
http://www.cnblogs.com/zhangyongjian/p/3628766.html
語法糖(Syntactic sugar),是由Peter J. Landin(和圖靈一樣的天才人物,是他最先發(fā)現(xiàn)了Lambda演算,由此而創(chuàng)立了函數(shù)式編程)創(chuàng)造的一個詞語,它意指那些沒有給計算機語言添加新功能,而只是對人類來說更“甜蜜”的語法。語法糖往往給程序員提供了更實用的編碼方式,有益于更好的編碼風格,更易讀。不過其并沒有給語言添加什么新東西。 舉個例子:在C語言里用a[i]表示*(a+i),用a[i][j]表示*(*(a+i)+j),看來語法糖不是“現(xiàn)代語言”才有啊,連我們的老大哥C也有,而且這種寫法簡潔明了,也更好懂了。 實際上從面向過程到面向?qū)ο笠彩且环N語法糖啊,C語言可以通過它的指針、類型轉(zhuǎn)換,結構實現(xiàn)面向?qū)ο蟮木幊田L格,但是C++更進一步的推廣了這種風格,更好用了
?
?
詞法分析、語法分析、語義分析
http://blog.csdn.net/nic_r/article/details/7835908
?
詞法分析(Lexical analysis或Scanning)和詞法分析程序(Lexical analyzer或Scanner)
詞法分析階段是編譯過程的第一個階段。這個階段的任務是從左到右一個字符一個字符地讀入源程序,即對構成源程序的字符流進行掃描然后根據(jù)構詞規(guī)則識別單詞(也稱單詞符號或符號)。詞法分析程序?qū)崿F(xiàn)這個任務。詞法分析程序可以使用lex等工具自動生成。
語法分析(Syntax analysis或Parsing)和語法分析程序(Parser)
語法分析是編譯過程的一個邏輯階段。語法分析的任務是在詞法分析的基礎上將單詞序列組合成各類語法短語,如“程序”,“語句”,“表達式”等等.語法分析程序判斷源程序在結構上是否正確.源程序的結構由上下文無關文法描述.
語義分析(Syntax analysis)
語義分析是編譯過程的一個邏輯階段. 語義分析的任務是對結構上正確的源程序進行上下文有關性質(zhì)的審查, 進行類型審查.例如一個C程序片斷:
int arr[2],b;
b = arr * 10;
源程序的結構是正確的.
語義分析將審查類型并報告錯誤:不能在表達式中使用一個數(shù)組變量,賦值語句的右端和左端的類型不匹配.
?
?詞法分析實現(xiàn):
http://www.cnblogs.com/yanlingyin/archive/2012/04/17/2451717.html
正則表達式的詞法分析:
http://www.cnblogs.com/naturemickey/p/3667571.html
?
總結
以上是生活随笔為你收集整理的词法、语法与语义相关知识的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Todo】Tomcat与Jetty的比
- 下一篇: Session的异常