亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

临猗县| 交口县| 呼和浩特市| 台中县| 延安市| 香港| 深圳市| 望奎县| 宁乡县| 安达市| 庄浪县| 天镇县| 奉化市| 新沂市| 铜陵市| 洪雅县| 本溪| 常州市| 塔城市| 宜兴市| 伊春市| 宜阳县| 宜良县| 巢湖市| 太和县| 静海县| 天峻县| 绥芬河市| 无为县| 沛县| 静安区| 安国市| 怀仁县| 包头市| 永济市| 塔城市| 石台县| 平乐县| 巴南区| 天等县| 深圳市|