[ ]表示出現一次或0次,{}表示出現0次或多次,()表示是乙個整體
程式aint x=1,y=3;
int fun(int a)
return 2*a;
int main()
int a=3;
printf("%d\n",fun(a));
程式a 就是個翻譯單元
乙個完整的c檔案是乙個翻譯單元
翻譯單元由若干個外部宣告和乙個檔案結束符組成符
外部宣告可以是宣告也可以是函式定義
程式a中有三個外部宣告
乙個是宣告 int x=....
兩個是 函式定義
函式定義由 型別區分符 宣告符 函式體組成
型別區分符 就是 int void char short 或者自己定義的結構體型別
自己定義的結構體 是
struct 名稱 或者是
struct 名稱
型別區分符 宣告符,宣告符......;
......
宣告符 是
[*] 識別符號 [宣告符字尾]
宣告符出現*時一般是與前面的型別區分符搭配表示 指標
如 int *p 定義了乙個整型指標p
宣告符字尾是
'[' 整型變數 ']' 帶單引號的括號表字元 或
'('型別區分符 宣告符,型別區分符 宣告符,......')'
定義函式的時候 int fun(int a)
fun(int a)是乙個宣告符
(int a)是宣告符字尾
定義結構體的時候
struct node
int a[4];
a[4]就是個宣告符
[4]是宣告符字尾
函式體是乙個復合語句
語句1語句2
......}宣告
型別區分符; 或
型別區分符 宣告符[=初始值],宣告符[=初始值].......;
比如 int a=3,b=4,x;
就是個宣告
語法分析 自上而下分析
語法分析 是編譯過程的核心部分。它的任務是在詞法分析識別出單詞符號串的基礎上,分析並判定程式的語法結構是否符合語法規則。語言的語法結構是用上下文無關文法描述的。因此,語法分析器的工作本質上就是按文法的產生式,識別輸入符號串是否為乙個句子。這裡所說的輸入串是指由單詞符號 文法的終結符 組成的有限序列。...
LTP語法分析
詞性標註 part of speech tagging,pos 是給句子中每個詞乙個詞性類別的任務。這裡的詞性類別可能是名詞 動詞 形容詞或其他。採用863詞性標註集 tag description example a adjective 美麗 b other noun modifier 大型,西式...
語法分析程式
語法分析程式 include include typedef struct link 字元鍊錶 link char special 10 void specialchar link charhead main while n n q charhead next while q null printf...