Nimrod

軟件截圖:
Nimrod
軟件詳細信息:
版本: 0.9.2
上傳日期: 20 Feb 15
開發: Andreas Rumpf
許可: 免費
人氣: 16

Rating: nan/5 (Total Votes: 0)

尼姆羅德是一個開源的,免費的,靜態類型,命令式編程語言設計,支持過程,面向對象的,通用的,功能性的編程風格,同時保持高效和簡單。
尼姆羅德能夠抽象語法樹(AST),為規範的一部分,從而使一個強大的宏系統,它可以被用來創建領域特定語言。一個特點繼承了Lisp的。
該軟件採用了原生代碼生成,垃圾回收,零開銷迭代器,用戶defineable運營商,高級別的數據類型,編譯時的評價,期待compability,GTK2的Windows API,POSIX API綁定,一個可插拔分析器系統,文檔生成,和一個帕斯卡尼姆羅德轉換工具。
尼姆羅德是便攜式的,這意味著它可以在Linux,BSD,Mac的OS&NBSP運行; X 和Windows操作系統

什麼在此版本中是新的

  • 在錯誤修正:
  • 在舊的GC永遠不會正確採集週期。固定的,但它可能會導致性能下降。但是您可以停用與GC_disableMarkAndSweep週期收集並明確在適當的時間或根本沒有運行。還有一個新的GC可以用--gc激活。markAndSweep不存在這個問題,但在一般的慢,也沒有實時保證
  • 在投浮點類型現在這樣的手冊中規定的bitcast。這打破了錯誤地使用投地轉換不同的浮點值的代碼。
  • 在SCGI模塊的性能得到了很大的提高,它將不再阻止許多並發請求。
  • 在全社會固定資產超過70 github上的問題,合併60拉的請求。
  • 在圖書館添置:
  • 有一個新的實驗標記和掃GC可以更快(或更慢),而不是默認的GC。啟用與--gc:markAndSweep
  • 添加system.onRaise支持空調系統。
  • 新增system.locals提供訪問PROC的當地人。
  • 新增macros.quote的AST準引用。
  • 添加system.unsafeNew支持哈克可變長度的對象。
  • 在system.fields和system.fieldPairs支持的對象也;他們用只支持元組。
  • 添加system.CurrentSourcePath返回當前源文件的完整文件系統路徑。
  • 在宏模塊現在有很多有用的傭工建立抽象語法樹。
  • 在影響向後兼容的變化:
  • 在共享是一個關鍵字了。
  • 在已過時sockets.recvLine和asyncio.recvLine,增加的readLine代替。
  • 在該壓痕的方式在顯著改變解析器處理。但是,這會影響很少(如果有的話)真實世界的代碼
  • 在表達/陳述統一已經實施。同樣,這只會影響邊緣情況,並沒有已知的現實世界中的代碼。
  • 在改變了SCGI模塊的異步接口。
  • 在WideStrings現在垃圾收集像其他字符串類型。
  • 在編譯器的添加:
  • 在該DOC2命令不產生輸出整個項目了。使用新的--project開關來啟用這種行為。
  • 在編譯器現在可以發出警告陰影局部變量。然而,這需要打開明確通過--warning [ShadowIdent]:在
  • 在編譯器現在支持在推編譯幾乎每一個雜。
  • 在通用變頻器已經實施。
  • 在增加了一個高度實驗性noforward編譯使一個特殊的編譯模式在很大程度上省去了向前​​聲明。
  • 在語言附加:
  • 在CASE表達式現在支持。
  • 在表的構造,現在模仿case語句的更緊密的語法。
  • 在尼姆羅德現在可以從它身上推斷PROC的返回類型。
  • 添加一個mixin聲明影響符號仿製藥具有約束力的規則。
  • 在異常跟踪已添加和DOC2命令詮釋可能出現的異常你。
  • 在用戶自定義效果("標籤")。跟踪已添加和DOC2命令詮釋可能的標籤為您
  • 在類型可以被標註有新的語法不無明確規定為零是不允許的。不過目前編譯器執行沒有先進的靜態檢查這一點;現在它只是用於文檔目的。
  • 在一個出口語句已被添加到語言:它可以用於符號轉發等客戶端模塊沒有明確導入模塊的依賴性
  • 在基於AST的竇房結已經實施。
  • 在泛型現在支持多方法。
  • 在對象可以通過對象構造表達式初始化。
  • 有一個新的語法結構(;)統一表達式和語句
  • 您現在可以從模塊進口零使用,如果你要導入的模塊,但要執行完全合格的進入每個符號的模塊。

什麼在0.8.14版本是新的

  • 在固定有關消息傳遞的一個嚴重的內存損壞
  • 修正了一個嚴重的錯誤有關的通用PROC不同的實例。
  • 修正了一個錯誤的EIO了異常的文件,文本文件,不以換行符結束的最後一個新引入的錯誤。
  • 修正c2nim,c2pas:在--out選項始終無法正常工作
  • 修正:通用特效轉發從未使用過
  • 在一些較宏錯誤修正和編譯時的評價。
  • 在該GC現在考慮到堆棧上的帳戶內部指針可以通過積極的ç優化推出。
  • 在尼姆羅德的本地分配器/ GC現在可以在PowerPC上。
  • 在很多其他錯誤修正的:太多一一列舉

什麼在0.8.6版本新

  • 在錯誤修正:
  • 在該編譯指示提示[X]:關閉並警告[X]:關閉現在的工作

  • 對於迭代器
  • 在方法調用語法再次工作(對於x在lines.split())。
  • 修正了removeDir一個錯字的POSIX導致無限遞歸。
  • 在編譯器現在會檢查模塊文件名是有效的標識符。
  • 在空圖案為dynlib編譯現在是可能的。
  • 在os.parseCmdLine返回錯誤結果尾隨空白。
  • Inconsequent元組的用法(使用相同的元組使用和不使用的命名字段)不崩潰代碼生成了。
  • 當一個進程內的動態lib目錄中的加載失敗提供更好的錯誤消息。
  • 在附加:
  • 新增system.contains開放數組。
  • 在該PEG模塊現在支持搜索循環操作@。
  • 在語法/分析器:SAD | IND是任何類型的右括號之前允許的。這允許更靈活的源代碼格式化。
  • 在編譯器現在使用綁定範圍內的符號查找綁定表。 (見manual.html#模板的詳細信息。)
  • 在丟棄"""我長註釋"""現在優化掉。
  • 在新--floatChecks:ON | OFF開關和用法進行浮點運算的更好的調試。 (見manual.html#預先定義的浮點類型的詳細信息。)
  • 在本手冊已有所改善。 (非常感謝菲利普LHOSTE!)
  • 在影響向後兼容的變化:
  • 在編譯器不會跳過鏈接步驟了,即使沒有文件發生了改變。
  • 在os.splitFile("名為.xyz")現在返回("","名為.xyz",""),而不是("","","名為.xyz" )。先從一個點的文件名的處理方式不同。
  • 在strutils.split(S:字符串,SEPS:設置[字符])永遠不會再產生空字符串。此行為可能是更適合的空白分裂。
  • 在編譯器現在--version命令行開關後停止。
  • 的枚舉繼承解析器刪除了支持;枚舉繼承從未被記錄而已。
  • 在system.E_base的味精字段,而不是現在的CString類型的字符串。這提高了內存的安全。

什麼在0.8.2版本新

  • 在錯誤修正:
  • 在傳遞--hint [X]:關閉或--warning [X]:關作為命令行參數編譯器現在工作
  • 在默認參數模板現在的工作。

  • 在system.copy
  • 修正了安全問題。
  • 在字符串的情況下沒有其他部分產生錯誤的代碼。
  • 在各種修復的osproc模塊;現在適用於Windows。
  • 在附加:
  • 在實現多方法。
  • 在編譯器現在檢測可用的處理器的數量和並發執行的C編譯器。這可以通過--parallel_build進行調整:NUMBER_OF_PROCESSORS命令行開關
  • 在PEG為基礎的模式,通過釘模塊匹配。
  • 添加system.definedInScope。
  • 添加system.accumulateResult。
  • 添加os.walkDirRec。
  • 新增osproc.countProcessors。
  • 添加osproc.execProcesses。
  • 在配置系統現在支持$ cc.options.linker。
  • 在合併EXPR和TYPEDESC在語法/分析器:這將允許匿名特效沒有拉姆達
  • 在許多腳本有沒有必要為GC:新--gc:沒有命令行開關可用於排除從可執行的GC
  • 在影響向後compability變化:
  • 在拍攝對象判別的地址現在是無效的。
  • 在傳遞一個PROC到PROC VAR只允許標註procvar或調用約定!= nimcall特效。現在這不僅會導致一個警告,但是這會變成一個錯誤很快。
  • 系統&和system.add現在收到的序列參數openArray代替。
  • 在刪除st​​rutils.findSubStr和strutils.findChars。他們已經被棄用了3個版本。
  • 在Unicode的模塊使用不同的類型TRune。
  • 在已過時strutils.toString:使用$來代替
  • 在已過時os.splitPath:使用os.splitPath返回一個元組,而不是
  • 在已過時os.extractDir:使用splitFile(路徑).DIR而不是
  • 在已過時os.splitFilename:使用splitFile而不是
  • 在已過時os.extractFileExt:使用splitFile而不是
  • 在已過時os.extractFileTrunk:使用splitFile而不是
  • 在已過時os.appendFileExt:使用os.addFileExt而不是
  • 在已過時os.executeShellCommand:使用os.execShellCmd而不是
  • 在已過時os.iterOverEnvironment:使用os.envPairs而不是
  • 在棄用parseopt.init:使用parseopt.initOptParser而不是
  • 在已過時parseopt.getRestOfCommandLine:使用parseopt.cmdLineRest而不是
  • 在已過時os.pcDirectory:使用os.pcDir而不是
  • 在已過時os.pcLinkToDirectory:使用os.pcLinkToDir而不是
  • 在已過時osproc.executeProcess:使用osproc.execProcess而不是
  • 在已過時osproc.executeCommand:使用osproc.execCmd而不是

什麼在0.8.0版本新

  • 在錯誤修正:
  • 修正了編譯器不報告未使用過載符號的小蟲子
  • 在固定的一個小錯誤就象徵超載
  • 在固定一個錯字:它是"曖昧",&不QUOT; ambigious" ; - )
  • 在編譯器現在可以檢測遞歸的包含文件
  • 在system.card應該重新工作
  • 在對集合[字符]和陣列[CHAR,T]的項目現在應該工作
  • 在附加:
  • 在實施泛型類型和兩相符號查找在通用程序

  • 現在
  • 在模板參數可以是實際的類型
  • 在實施全身原始字符串字面量:IDENT" ABC"是的ident的快捷方式(R" ABC")
  • 在超載分辨率迭代器從特效分開;現在迭代器具有相同的名稱+簽名特效
  • 在符號查找在模板中可能會受到新的綁定關鍵字
  • 在編譯器現在接受--no_main開關與其他編譯語言更好的互操作性的鏈接
  • 在實施元組拆包的VAR部分
  • 在代碼生成器發出默認:__assume(0);為Visual C ++(優化)
  • 在編譯器現在檢查,如果一個進程內有副作用;該聲明有沒有副作用的特效被拒絕,如果編譯器無法驗證此
  • 在格式操作strutils%現在支持$#自動參數計數
  • 實施strutils.join
  • 在影響向後compability變化:
  • 在兩相符號查找在普通程序執行
  • 在綁定現在是一個保留字;例外的是沒有保留的字了
  • 在抽象類型已被重命名為不同的類型;因此,不同的是現在是一個保留字;抽象是沒有保留的字了
  • 在system.openFile推薦使用:使用system.open而不是
  • 在system.closeFile棄用:使用system.close而不是
  • 在strutils.replaceStr棄用:使用strutils.replace而不是
  • 在strutils.deleteStr棄用:使用strutils.delete而不是
  • 在strutils.splitSeq棄用:使用strutils.split而不是
  • 在strutils.splitLinesSeq棄用:使用strutils.splitLines而不是
  • 在strutils.parseFloat不接受附加的啟動參數了
  • 文檔:
  • 在本手冊已有所改善

什麼在0.7.6版本新

  • 在錯誤修正:
  • 在Windows Vista安裝現在可以正常工作的開箱即用;請嘗試!
  • 在固定的存&QUOT錯誤;遞歸模塊"例如,從工作
  • 現在,有名和無名的參數在混合過程調用的工作原理
  • 在現在適當的支持與前綴0℃八進制數
  • 在枚舉現在可以開始負值
  • 在parseInt函數,ParseBiggestInt現在拋出一個異常,如果字符串不解析數
  • 結束後,
  • 在編譯器現在可以正確處理頂級語句
  • 在生成nimcache目錄從來沒有在一個斜線
  • 結束
  • 在createDir現在為UNIX下的全球目錄(" / somepath /在這裡和QUOT;)

  • ./& QUOT;
  • 在編譯器現在的領先和QUOT執行可執行文件; UNIX下
  • 在編譯器現在支持程序的指針數組常量
  • 在ELIF在case語句現在工作
  • 在使用開放數組參數的迭代器現在的工作
  • 修正了在某些情況下$ myEnum沒有工作

什麼是0.7.4版本,新的

  • 在Windows安裝現在應該工作,如果該目錄包含空間
  • 的文檔生成,現在只呈現文檔註釋
  • ````是允許運營商如手冊上說
  • 在罕見的情況下,該指數支票已被優化了,儘管它也有必要
  • 在一些bug修復的元組類型
  • 在增加了對UTF-8的``unicode``模塊處理
  • 在加的HostOS和hostCPU魔法的``system``模塊
  • 在system.echo現在可以接受多個參數
  • 在添加優化:在某些情況下,迭代器內聯現在生產具有更好的代碼
  • 添加整個程序死代碼消除
  • 魔```現在運營商的工作枚舉
  • 在``const``部分先進的編譯時間評估完成
  • 在更名為``in_Operator``為``contains``:``in``是現在轉換成``contains``
  • 模板
  • 在改變``strutils.quoteIfSpaceExists``來``strutils.quoteIfContainsWhite``
  • 在解析器現在更挑剔失踪逗號等,如果這會影響你的代碼太多,嘗試通過漂亮的打印機運行代碼。
  • 的``macros`` API不再是一部分``system``模塊,你現在必須導入``macros``模塊
  • 來使用這個API
  • 在添加了教程

什麼版本0.7.2的新

  • 在這是一個bug修復版本。這個最重要的修復是尼姆羅德現在工作再上AMD64(x86_64的)處理器。
  • 在沒有新的功能已經實現。

什麼是0.7.0版本,新的

  • 在各種bug修復,太多在這裡一一列舉
  • 在安裝的基於UNIX的系統不依賴於任何的Python不再
  • 的``koch.py​​``腳本現在與老的Python版本(包括1.5.2)
  • 在改變整數運算和轉換規則
  • 在加``GC_ref``和``GC_unref``特效
  • 在序列現在需要用``@``運營商構建。這導致較少的歧義。
  • 在編譯器現在使用較少的內存和更快
  • 的GC現在快得多
  • 在新的綁定:zlib的,SDL,Xlib中,OpenGL的,ODBC,Lua的
  • 在生成的C代碼的速度要快得多,優化與GCC
  • 在新圖書館:流,zipfiles
  • 在尼姆羅德編譯器已經被移植到了FreeBSD:它應該在其他BSD的太
  • 工作

要求

  • 在Python中

類似的軟件

Yazoo
Yazoo

20 Feb 15

GCC MELT
GCC MELT

17 Feb 15

FFC
FFC

17 Feb 15

STklos
STklos

15 Apr 15

意見 Nimrod

評論沒有發現
添加評論
打開圖片!