中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

web解釋器模式的知識點有哪些

發布時間:2022-01-13 16:34:52 來源:億速云 閱讀:134 作者:iii 欄目:大數據

本文小編為大家詳細介紹“web解釋器模式的知識點有哪些”,內容詳細,步驟清晰,細節處理妥當,希望這篇“web解釋器模式的知識點有哪些”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

語法建模

作為解釋器模式的標準做法,定義了語言的語法之后的步驟就是為每種語言要素準備一個類。對于四則運算的例子,其類結構如下:

web解釋器模式的知識點有哪些

類圖稍微大了一些,下面以幾條規則為例進行說明。

1. 泛化關系

示例:[5]PrimaryExpr::=NumericLiteral|ParenthesizedExpr| FunctionCall

式[5]的含義為基本表達式PrimaryExpr可以是數值型字面值NumerLiteral、帶括號表達式ParemthesizedExpr、函數調用中的某一種。轉化成類關系就是泛化關系。所有適用PrimaryExpr的地方都可以使用NumericLiteral、ParenthesizedExpr、FunctionCall中的一種來代替。

2.組合關系

[2]AdditiveExpr::=MultiplicativeExpr(("+">

當AdditiveExpr由多個MultiplicativeExpr構成時,二者之間的關系又可以看作是組合關系。

當只有一個MultiplicativeExpr的時候,式[2]可以退化為:

AdditiveExpr::=MultiplicativeExpr

這種情況可以認為二者之間是簡單的泛化關系。

3.簡單組合關系

[7]ParenthesizedExpr::="(" Expr ")"

式[7]可以看作1對1的簡單組合關系。
 

形成語法樹

回頭看一下前一篇文章中的表達式:

100.0 * sin(29 + (23 * 6)) + sqrt(cos(34 * 5))

這個表達式轉換成語法樹如下:

web解釋器模式的知識點有哪些

分析過程是沿著類圖由上而下進行,直至找到適合的類型為止。例如最初的分析從AdditiveExpr開始,它的下級節點應該是多個MultiplicativeExpr,但是右側不符合MultiplicativeExpr的條件,因此沿著類圖向下搜索直至找到符合條件的FuncitonCall為止。如此周而復始就可以得到整個語法樹。

讀到這里,這篇“web解釋器模式的知識點有哪些”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

web
AI

正蓝旗| 饶河县| 杭锦旗| 宁安市| 鞍山市| 肇州县| 景谷| 五华县| 砀山县| 黑龙江省| 仲巴县| 叙永县| 安泽县| 湘潭县| 平凉市| 武乡县| 安陆市| 大理市| 康马县| 万源市| 华亭县| 隆安县| 织金县| 咸阳市| 丹棱县| 岐山县| 高州市| 卫辉市| 容城县| 甘肃省| 谢通门县| 嘉鱼县| 江西省| 沁水县| 蒲江县| 吉水县| 疏勒县| 厦门市| 聂拉木县| 洞头县| 防城港市|