根據(jù)語法樹直接短語和句柄 the teacher praised the student語法樹、短語、直接短語,句柄?
the teacher praised the student語法樹、短語、直接短語,句柄?老師把學(xué)生養(yǎng)大了s=NP VP意思是一個句子,句子由名詞短語和動詞短語組成NP=det n表示名詞短語由行列
the teacher praised the student語法樹、短語、直接短語,句柄?
老師把學(xué)生養(yǎng)大了
s=NP VP意思是一個句子,句子由名詞短語和動詞短語組成
NP=det n表示名詞短語由行列式+名詞組成
VP=v Nd表示動詞短語由動詞+名詞短語組成
Nd=det n表示名詞短語由行列式+名詞組成
det是限定詞冠詞]n是名詞教師V是一個準(zhǔn)備好的動詞]det是一個限定詞冠詞]n是一個名詞學(xué)生s=NP VP是整個句子=名詞短語教師動詞短語練習(xí)學(xué)生
NP=det n是名詞短語教師=限定詞冠詞+名詞教師
VP=V nd是動詞短語練習(xí)學(xué)生=動詞短語練習(xí)+名詞短語student
nd=detn是一個名詞短語,student=限定詞冠詞+名詞student
如果我們給出短語和其他名詞的正式定義,就很難理解了。
我們構(gòu)造了一個語法樹來解決這個問題。
首先,你應(yīng)該能夠根據(jù)語法構(gòu)造成語樹的形式,即如何根據(jù)語法推導(dǎo)出句型eT*f。
如果您有一個基于二叉樹的數(shù)據(jù)結(jié)構(gòu),那么構(gòu)造起來非常容易。
在構(gòu)造語法樹后,找到短語以查看根節(jié)點,有t和E
然后短語是:E,t*F,t*F,直接短語是指可以直接推斷葉節(jié)點根的短語。我們可以看到節(jié)點是t,直接短語是:t*F.
Handle是最左邊的直接短語,稱為:t*F.
編譯原理中的短語、直接短語、句柄?
Handle是一個數(shù)字,通常與當(dāng)前系統(tǒng)中的整數(shù)數(shù)相同。例如,32位系統(tǒng)是4個字節(jié)。此編號是對象的唯一標(biāo)識符,并與對象一一對應(yīng)。此對象可以是塊內(nèi)存、資源或服務(wù)上下文(如套接字、線程)等。此數(shù)字可以來自多個源,只要它能夠與它所表示的對象保持唯一的對應(yīng)關(guān)系。例如,您可以使用內(nèi)存地址、句柄表的序列號,或者只使用自增ID,或者使用上面的值對常量進(jìn)行異或運算。傳統(tǒng)上,操作系統(tǒng)內(nèi)核和系統(tǒng)服務(wù)API都是C語言接口,但它們的內(nèi)部設(shè)計思想是面向?qū)ο蟮?,因此有對象的概念,但沒有相應(yīng)的語言語法支持。在c語言環(huán)境中,用句柄代替c對象指針。創(chuàng)建句柄就是構(gòu)造,銷毀句柄就是銷毀。用句柄調(diào)用函數(shù)相當(dāng)于傳入這個指針。如果有一個帶有C接口的系統(tǒng)API,那么就沒有句柄,只有一個接口指針、ixxptr等等,比如windows的com PTR。