forth

    3熱度

    2回答

    我有興趣探索像Forth(或Factor)這樣的基於堆棧的語言。我希望看到的是如何從頭開始構建應用程序,一步一步完成。我發現的教程是基本的,並沒有幫助我理解大局。想到在處理大量零件時如何管理堆棧很困惑。 我一直認爲(也許錯了)學習語言的好方法就是用它來編寫一個Roguelike遊戲。我在試圖弄清楚如何在堆棧上玩弄很多東西:迷宮,數十種生物,寶藏,人物統計數據等。

    6熱度

    1回答

    爲什麼Forth使用IF語句THEN ...而不是ENDIF? 我實現(不符合要求)規定的編譯器的東西。基本上,對於IF語句,Forth的語法對我來說顯得非常不直觀。 IF ."Statement is true" ELSE ."Statement is not true" THEN ."Printed no matter what; 爲什麼結尾語句是THEN?這使得我的語言閱讀非常怪異。

    1熱度

    1回答

    我試過下面的代碼閱讀文檔後: create buff 128 allot buff 128 stdin read-line throw 我希望這會得到我要的buff每個連​​續的地址的字符,但我在那裏得到這個奇怪的號碼: buff @ ok . 3689349013085184353 ok 我在這裏錯過了什麼?

    6熱度

    1回答

    我一直在努力閱讀這個,但我找不到任何提及它。 根據標準,與S"創建一個字符串不能被修改,並從Gforth一個簡單的實驗很明顯,對於字符串空間不是來自字典或墊區域: hex here . 7F48AB3B8758 ok pad . 7F48AB3B8808 ok s" test" .s <2> 77FDD0 4 ok 我可以期待該地址有效多久? 換句話說,如果我將這個地址(和計數)存儲在一

    3熱度

    2回答

    我正在尋找一種能夠在單精度和雙精度之間進行轉換的方法。 一個例子是將2個整數相除並得到一個浮點結果。這怎麼可能?

    0熱度

    1回答

    我最近對Dalvik VM感興趣。從維基百科和一些幻燈片中,我瞭解了有關Dalvik VM的基本信息。還有一些我不知道的東西,我無法輕鬆找到文檔,例如: Dalvik VM如何訪問I/O? 我沒有看到任何調用本地方法的操作碼。那些以前綴「OP_INVOKE」命名的操作碼似乎都調用了.dex文件(Dalvik可執行文件)中的一個方法。也許我檢查了操作碼的錯誤版本描述?) 順便說一句,有沒有用戶友好的

    4熱度

    2回答

    Gforth documentation表示通過調用next-arg來訪問參數,但省略了程序名稱,該名稱將以C語言打印。 由於argv[0]似乎被自動從Forth中的參數向量中刪除,是否有一個特殊的函數,我可以調用它返回它嗎?

    3熱度

    3回答

    我在這裏學習到了,我已經進入了返回堆棧操作。 因此,使用在Ubuntu控制檯11.04 64我試圖讓TOS到返回堆棧,但出現這種情況: 1 2 3 4 5 ok >r :36: Invalid memory address >R>>><<< Backtrace: 我在做什麼錯在這裏?

    0熱度

    1回答

    我在Linux上使用Gforth 0.7.0。每次我嘗試運行gforthmi,不管我用什麼參數,它扼流圈段故障象下面這樣: [[email protected] ussa]$ gforthmi ussa.fi -m 4M ussa.fs redefined block-offset Segmentation fault. redefined block-offset Segmentat

    5熱度

    1回答

    我試圖實現一個單詞,當在Forth中的堆棧中給出一個數字時,它會從數組中產生一個字符串。 我的第一天真的嘗試是: create myarray s" Alpha", s" Beta", s" Charlie", 這是公認的,但預計它沒有工作 - myarray @ type產生不一致的輸出(而不是我的天真的期望,它可能會打印「阿爾法」)。 當在網上搜索時,我在this tutorial中發現用