compiler-construction

    2熱度

    1回答

    我正在研究JavaScript程序的合併工具,我需要爲JavaCC格式編寫JavaScript(> ES6)的語法。爲此,我想爲ES6使用公開可用的BNF語法,所以我會使用JavaCC格式編寫語法。 我只能找到那些(從Stack Overflow post): http://tomcopeland.blogs.com/EcmaScript.html http://www.ccs.neu.edu/h

    1熱度

    2回答

    我正在構建一個小腳本,使用TypeScript Compiler API掃描所有具有給定類型成員的接口,其中的源可找到here。我檢查這些班級的成員,看看他們是如何相互關聯的。 我的問題是:我怎麼知道何時可以將一個類型賦值給另一個類型?我搜索TypeChecker的方法,但我找不到一個。有沒有人有任何機會有任何指針?下面是應該能夠得到分析的一些例子: export enum ASTKind {

    1熱度

    1回答

    我正在編寫一個編譯器來從一個隨機的簡單文本生成一個JSON代碼,但我不明白這些類型的編譯器。我可以將其視爲源到源編譯器嗎? 源 - 源編譯器是一個編譯器,需要寫入一個編程語言作爲其輸入的程序的源代碼,並且產生的等效源代碼中另一種編程語言。 (問題是輸入爲文本,而不是寫在一個編程語言編寫的源代碼) 還是有另一種類型,這些類型的編譯器? 並感謝您

    0熱度

    1回答

    我正在構建一個自定義的小型解釋腳本語言,除了範圍界定之外,一切正常。 對於實際執行我使用的是訪問者模式: 我修改通過變量表的模式: public void visit(ProgrammTree proTree){ VariableTable vt = new VariableTable(); foreach (var t in proTree.getChildren())

    0熱度

    1回答

    什麼是OOL(行外)代碼?我在ION編譯器中找到它,但無法理解正在發生的事情。 bool CodeGeneratorShared::generateOutOfLineCode() { for (size_t i = 0; i < outOfLineCode_.length(); i++) { // Add native => bytecode mapping entries f

    0熱度

    1回答

    當編譯器使用SSA形式表示代碼時,對局部變量的更新成爲新變量。但是,當變量處於封閉範圍內時,這並不總是有效的,例如, (使用JavaScript語法說明,可以在許多語言中出現的情況): function f() { var x = 1; function g() { x++; } ... } 什麼是代表這個通常的方法是什麼?

    2熱度

    2回答

    編輯:對於那些有興趣/誰想看到我在做什麼,我的應用程序的源代碼可以找到here。 我正在用C#構建一個代碼編輯器應用程序,它提供語法高亮顯示。我目前使用ANTLR for C#來解析代碼以突出顯示它。到目前爲止,當用戶最初打開文件時,我的應用程序可以非常快速地突出顯示代碼。不過,當用戶開始編輯文本時,我沒有編寫任何代碼來重新突出顯示文本。 我希望編輯器能夠很好地處理大文件,所以我不希望每次用戶輸入

    3熱度

    2回答

    Scala的定義方法的時候,我發現這個 def method1: Int => Int = (j: Int) => j // works def method2: Int => Int = j => j // works def method3: Int => Int = j: Int => j // error def method4: Int => Int = {j: Int => j}

    0熱度

    3回答

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

    0熱度

    3回答

    1我找到了一個用Python實現的Python解釋器。我很困惑我是否需要安裝其他解釋器來解釋解釋器本身? 如果是這樣,爲什麼我們需要用它將解釋的語言編寫解釋器?如果不是,我該如何運行這個解釋器? 2我也不是很清楚編譯器是用它編譯的語言實現的。解釋器和編譯器的背後是否有同樣的原因?