程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 用C#設計與實現一個四則算術運算解釋器(4)

用C#設計與實現一個四則算術運算解釋器(4)

編輯:關於C語言

三、創建 Abstract Syntax Tree

這裡需要考慮到2個不同的正常情況:

1、不同級別的操作符:+和-的優先等級比較低,×和/的優先等級比較高

2、同級別的操作符,操作的順序。比如,+和-的優先順序是從左往右。

從最簡單的情況開始考慮:分析 1 + 2 + 3 + 4

首先,AST 樹是空的, Root = NULL。

當把 NumToken 1 插入樹的時候,簡單的設置該 Token 為根即可。

當把 OpToken + 插入樹的時候,我們就需要挪動樹,把 + 設置成根:

當把 NumToken 2 插入樹的時候,我們就把數字 2 插入樹的右側:

當把 OpToken + 插入樹的時候(同級別的操作符,順序是左到右),我們就需要把最新的 OpToken 設置成根,當前樹設置成新根的左側:

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved