compiler-construction

    0熱度

    1回答

    我想明白爲什麼野牛以下規則 stmt: declaration { ... } | assignment { ... } | exp { ... } | ID ';' <-- this rule { ... fprintf(stderr, "\n my id is '%s'", $1);

    2熱度

    1回答

    我想做一個java程序,我自己的格式解析到java文件。例如,當我寫與 show("Hello World"); 一個文件,這個文件保存爲hello。[my_own_extension]從我的程序和出口類似的東西閱讀, class Hello { public static void main(String[] args) { System.out.println("Hello W

    0熱度

    1回答

    就我而言,每個處理字節碼的虛擬機,讓我們以JVM爲例,實現自己的垃圾收集器,以某種方式分析虛擬機(正在執行字節碼)的當前狀態,並就收集對象從堆。現在,在提前編譯時,我感到非常困惑。這意味着在首次啓動應用程序之前,整個字節碼會被編譯爲本機代碼。所以......當應用程序啓動時,處理器執行本地代碼,就是這樣。現在,如果我們將整個字節碼編譯爲本地代碼,那麼虛擬機會進入哪裏? GC進來的地方,它分析的是什

    0熱度

    1回答

    我正在尋找c語法,發現這個鏈接https://www.lysator.liu.se/c/ANSI-C-grammar-y.html#cast-expression問題是有語法的c和lex代碼,但我沒有看到任何語義像加法,乘法實現我知道yacc只用於語法檢查,但我們也可以在其中寫入語義,其中實現的語義是在其他工具中實現的。 我想實現一個小型編譯器,我在哪裏寫語義,是否好在yacc中使用函數編寫它們。

    0熱度

    1回答

    我知道這個問題可能不屬於這裏,但我現在正在閱讀龍書,學習編寫編譯器,我想知道是否有人知道是否有可能獲得編譯器的源代碼SML?我想使用它,因爲它是一個功能範例,如果我們忘記了小緩衝區,它在優化功能代碼時是一個很好的編譯器。 我也喜歡看它,因爲它是第一個語言,我學會了編程。

    -1熱度

    1回答

    我正在嘗試爲我自己的迷你語言構建一個解析器,然後由YACC自己將它翻譯成C++。 問題是,YACC正在讀取輸入的第一行以及輸入的第二行中的第一個標記,並將其與相應的規則進行匹配,而它應該只讀取第一行輸入中的標記以及與相應的規則匹配它 我的輸入文件是: print "hello" a = 10 print a 萊克斯文件: %{ #include <stdio.h> #i

    0熱度

    1回答

    只是問一個相當簡單的問題,但我在谷歌的搜索是不成功的。我正在尋找一個編程元語言誰是完整的。簡而言之,是否有任何其他編程語言(java,c,其他)可以表達的語言?包括所有可以在其他語言中找到的詞彙和所有概念。如班級,功能,方法,線程等。 在此先感謝!

    0熱度

    2回答

    我有一個需要被符號化與以下規則列表的字符串: 的「(」和「)」括號 具有可能的小數點若干 運算符(+,/,*,> =,等) 與所述串的字母和靜止開始的標識符可以是字母或數字 爲此,我已經創建了上述規則作爲Haskell代碼有限狀態機: data FsaState = R | Q -- start state: Q; success state R; deriving Show 輸入:

    0熱度

    1回答

    我正在構建一個編譯器。一些這方面的規格如下: 字符串文本是由美元符號(「$」)封閉 - 如。 $ string sample $ 評論包含在「*」中 - 例如。 *樣品評論* 評論可能存在任何地方,除了操作之間 - 例如。 4 + *樣品評論* 5 - (這是不允許的) 現在我必須拆分源代碼行來標記它。 例案例: PRINT $ THE FLOAT IS $ * DISPLAY THE RESUL

    -7熱度

    2回答

    如我們所知,使用未初始化的變量在C或C++中是未定義的行爲。例如,如果我們有: int x; printf("%d", x); 它會產生一個我們無法預測的數字。 我的問題是,C編譯器如何處理使用未初始化的變量。