interpreter

    1熱度

    1回答

    所以我想用JavaScript實現LISP的一個子集。我被困在與lambda相關的兩件事上。 如何實現創建lambda的能力,並同時給它的參數,並立即評估?例如: ((lambda(x)(* x 2)) 3) 現在我硬編碼這個功能在我的eval環這樣的: else if (isArray(expr)){ if (expr[0][0] === 'lambda' || expr[0][

    -1熱度

    2回答

    我正在爲我創建的靜態類型語言編寫解釋器。解釋器是用C語言編寫的。爲了簡單起見,我只列出兩種基本數據類型,int和float。 我需要某種類型的結構,其可以存儲: 一個基本數據類型 函數返回一個類型 一個某種類型的數組 類型定義 類型可以簡單地作爲基本數據類型或數組或函數之一。因此,有一個函數返回返回一個返回int的函數的函數是有效的。 我知道我可以使用聯合存儲基本數據類型,但是如何存儲函數,數組和

    0熱度

    1回答

    我想研究解釋器和編譯器的基礎知識,使用F#和FsLexYacc庫,但是我很難理解編寫Lexer和Parser文件的原則......我正在關注this example,但它爲iterpreter使用了一些簡單的SQL查詢。我在尋找的是如何使用F#將this grammar轉換爲有效的Lexer和Parser。 如果有幫助,我會包含我的AST,Lexer和Parser文件。 這是AST module

    4熱度

    4回答

    有一個結構,如下所示: typedef enum any_type{ ANY_TYPE_CHAR, ANY_TYPE_UCHAR, ANY_TYPE_SHORT, ANY_TYPE_USHORT, ANY_TYPE_INT, ANY_TYPE_UINT, ANY_TYPE_LONG, ANY_TYPE_ULONG,

    1熱度

    1回答

    我有以下Brainfuck解釋器通過最小測試套件。除了像打印斐波那契序列這樣的大問題似乎失敗(套件中的最後一個測試)。我解釋失誤執行的brainfuck斐波那契代碼是從http://esoteric.sange.fi/brainfuck/bf-source/prog/fibonacci.txt。 我的解釋有什麼問題? 這裏是一個小提琴:https://jsfiddle.net/rt017kpz/

    0熱度

    1回答

    您好我正在嘗試使用PyCharm來調試我的流浪機上使用解釋器的項目。它以前完美運行,但現在已停止。 我的設置已附加,錯誤消息位於以下屏幕截圖中。 請幫忙。 enter image description here

    0熱度

    1回答

    考慮下面的SQL語句 select * from A inner join B on A.FK = B.PK inner join C on A.FK = B.PK 這顯然是不正確形成陳述。 C的連接使用B的連接條件。但是,這仍然運行。在這種情況下,口譯員如何決定加入C?爲什麼這甚至是被允許的陳述?有沒有任何情況下,像這樣的東西是可取的?

    20熱度

    1回答

    我讀過Dan Piponi在The Three Projections of Doctor Futamura上的優秀博客文章。在文章結尾處,他有一個附錄,其中有Haskell中Futamura預測的證據。但是,我發現他的文章缺乏有關涉及語言的信息。爲了使Futamura預測能夠工作,專業人員必須具備哪些源語言,目標語言和對象語言?例如,如果我在Haskell中編寫了一個Haskell到LLVM專家

    2熱度

    1回答

    我實現純C Lisp語言解釋器時遇到了問題由C過渡到Lisp語言來引導一個Lisp解釋。 繼彼得·諾維格在步驟他blog post,我有一個REPL迄今解析Lisp的表達式成Lisp的數據結構和串行化所得到的數據結構回如下所示被印刷在Lisp表達式: 我也有保羅Grahm實現七元described,並理解其中的自循環直譯器。我的煩惱寫在C代碼(不口齒不清!)一旦它已經被解析(下稱「EVAL」),上

    0熱度

    3回答

    我研究了在不同處理器體系結構上執行Java的地方。如果它使用編譯器,那麼將會有一些(機器碼)指令,這些指令將特定於處理器體系結構,並且Java將取決於平臺。 但是由於java使用解釋器,它是獨立於處理器架構的。 我的問題是如何在Java應用JIT(準時)編譯器?處理器的架構不會影響它嗎?如果它不影響它,那爲什麼不影響它呢?