736 Lisp 語法解析

2021-09-23 06:00:15 字數 874 閱讀 2027

給定乙個類似 lisp 語句的表示式expression,求出其計算結果。

表示式語法如下所示:

示例:

輸入: (add 1 2)

輸出: 3

輸入: (mult 3 (add 2 3))

輸出: 15

輸入: (let x 2 (mult x 5))

輸出: 10

輸入: (let x 2 (mult x (let x 3 y 4 (add x y))))

輸出: 14

解釋:

表示式 (add x y), 在獲取 x 值時, 我們應當由最內層依次向外計算, 首先遇到了 x=3, 所以此處的 x 值是 3.

輸入: (let x 3 x 2 x)

輸出: 2

解釋: let 語句中的賦值運算按順序處理即可

輸入: (let x 1 y 2 x (add x y) (add x y))

輸出: 5

解釋:

第乙個 (add x y) 計算結果是 3,並且將此值賦給了 x 。

第二個 (add x y) 計算結果就是 3+2 = 5 。

輸入: (let x 2 (add (let x 3 (let x 4 x)) x))

輸出: 6

解釋:

(let x 4 x) 中的 x 的作用範圍僅在()之內。所以最終做加法操作時,x 的值是 2 。

輸入: (let a1 3 b2 (add a1 1) b2)

輸出: 4

解釋:

變數命名時可以在第乙個小寫字母後跟隨數字.

注意:

perl解析語法

perl語法解析 perldoc 可以用來查閱,perl的文件 使用下面的命令可以查詢perl本身的文件 perldoc perlvar 用來查詢perl的內建perl變數 perldoc perlrun 告訴你如何執行perl perl整合了許多內建函式,你想知道某個特定函式的作用。perlfun...

oracle rman語法解析

size large b 1.b size 是執行由rman命令組成的乙個檔案,oracle dbs cmd cmd1.rman,如果不提供絕對路徑,那麼rman就是當作是本目錄下的乙個檔案,cmd1.rman,不要在路徑加雙引號 如檔案backup.rman內容為 backup tablespac...

Vuex語法解析

安裝vuex cnpm i d vuex 五種屬性用法 import vuex from vuex import vue from vue vue.use vuex export default new vuex.store mutations store.commit increment stor...