語法分析程式

2022-06-04 04:54:08 字數 2979 閱讀 5380

語法分析程式

#include#include 

typedef

struct link //

字元鍊錶

link;

char special[10

];void specialchar(link *charhead);

main()

while(n!='\n'

); q=charhead->next;

/*while(q!=null)

*/printf(

"語法分析:\n");

specialchar(charhead);

}void specialchar(link *charhead)}}

}break

;

case'i

': //

判斷是否是識別符號if

special[0]=q->data;

q=q->next;

if(q->data=='f'

)

break

;

case't

':special[

0]=q->data;

q=q->next;

if(q->data=='h'

) }}

break

;

case'w

':special[

0]=q->data; //

一步一步存入陣列

q=q->next;

if(q->data=='h'

) }}

}break

;

case'd

':special[

0]=q->data;

q=q->next;

if(q->data=='o'

)

if(q->data=='d'

)

}break

;

case'e

':special[

0]=q->data;

q=q->next;

if(q->data=='f'

)

}break

;

case'l

':special[

0]=q->data; //

一步一步存入陣列

q=q->next;

if(q->data=='('

) }}

}}

}break

;

case'+

':printf(

"《加號》 %c

",q->data);

printf("\n

");break

;

case'-

':printf(

"《減號》 %c

",q->data);

printf("\n

");break

;

case'*

':printf(

"《乘號》 %c

",q->data);

printf("\n

");break

;

case'/

':printf(

"《識別符號》 %c

",q->data);

printf("\n

");break

;

case':

':special[

0]=q->data;

q=q->next;

if(q->data=='='

)

else

printf(

"《賦值號》 %c

",special[0

]); printf("\n

");break

;

case

'special[

0]=q->data;

q=q->next;

if(q->data=='='

)

else

if(q->data=='

>')

else

break

;

case

'>':

special[

0]=q->data;

q=q->next;

if(q->data=='='

)

else

break

;

case'=

':printf(

"《賦值符》 %c

",q->data);

printf("\n

");break

;

case';

':printf(

"《分號》 %c

",q->data);

printf("\n

");break

;

case'(

':printf(

"《左括號》 %c

",q->data);

printf("\n

");break

;

case')

':printf(

"《右括號》 %c

",q->data);

printf("\n

");break

;

case'#

':printf(

"《井號》 %c

",q->data);

printf("\n

");break; }

q=q->next;

}}

語法分析程式輸出分析樹 語法分析 自頂向下分析

因為這是從開始符號出發推出句子,因此稱為自頂向下分析。舉個例子 首先我們給定文法g如下 s n v n n s t g wv e d 需要推導出句子s如下 g d w 我們首先進行分一次隨意的推導,過程如下 s n v n s v n s e n s e t 結果明顯與句子s不符。那麼需要對其進行重...

語法分析 自上而下分析

語法分析 是編譯過程的核心部分。它的任務是在詞法分析識別出單詞符號串的基礎上,分析並判定程式的語法結構是否符合語法規則。語言的語法結構是用上下文無關文法描述的。因此,語法分析器的工作本質上就是按文法的產生式,識別輸入符號串是否為乙個句子。這裡所說的輸入串是指由單詞符號 文法的終結符 組成的有限序列。...

LTP語法分析

詞性標註 part of speech tagging,pos 是給句子中每個詞乙個詞性類別的任務。這裡的詞性類別可能是名詞 動詞 形容詞或其他。採用863詞性標註集 tag description example a adjective 美麗 b other noun modifier 大型,西式...