我試圖在F#中編寫一個解釋器。我想檢查表達式的類型。 這裏是我的表達 type Expr =
| Integer of int
| String of string
| Boolean of bool
這是我使用與 let checkType (e:Expr) =
match e with
| String s -> s
| Integer i -> i
| Boolean b
本質上,我爲Java Au Naturel烏龜程序構建了一個非常簡潔的指向並點擊的IDE。其中最關鍵的部分是我目前的翻譯。我已經從頭開始構建了各個部分,以便將命令正確寫入列表,然後解析列表並執行相關方法。 不幸的是,這一直是我與管道膠帶的編程等價物一起舉辦的,以便讓我的概念驗證脫離實際,現在除了特定於龜的方法之外還做其他任何事情(思考循環,變量,條件語句)正在讓我難倒。 我已經編寫了一個使用真正的
我讀到python set x = set(["a","b","c","d"])
y = set(["c","d"])
print(x.intersection(y))
我得到輸出作爲每次{'d', 'c'}或{'c', 'd'}。 雖然它是正確的,我只是好奇的set item 序列翻譯閱讀如何設置?
我有興趣實施我自己的語言翻譯。根據Sebesta的「程序設計語言概念」第10章,當編程語言允許這樣的嵌套函數時,新的ARI(活動記錄實例)充滿了靜態父代; f(){
int x;
g() { int y = x+1; ..} // definition of g
k(t) { // definition of k
h(t) { t();..