發布 OneScript 2.0.0,1C:Enterprise 語言的腳本執行環境

OneScript 2.0.0 已發布。它開發了一個跨平台虛擬機器和編譯器,用於執行 1C:Enterprise 腳本,且獨立於 1C 平台。系統自包含,無需安裝 1C:Enterprise 平台或其特定函式庫即可執行 1C 腳本。 OneScript 虛擬機器既可用於直接執行 1C 腳本,也可用於將腳本執行支援嵌入到其他語言編寫的應用程式中。此專案程式碼使用 C# 編寫,並以 MPL-2.0 授權發布。它可在 Linux、Windows 和 macOS 上運作。

OneScript 支援 1C 語言的所有功能,包括非嚴格類型、條件表達式、循環、異常、陣列、正規表示式、COM 物件和用於處理原始類型的內建函數。標準庫提供處理文件和字串、與系統互動、處理 JSON 和 XML、網路存取和使用 HTTP 協定、數學計算以及處理佈局的函數。

該系統最初是為使用 1C 語言開發控制台應用程式而設計的,但社區正在開發 OneScriptForms 庫,該庫允許創建具有圖形介面的應用程式。除了標準函式庫和 OneScriptForms 之外,還有大約 200 個包含其他函式庫和實用程式的軟體包可供 OneScript 使用。為了簡化庫的安裝和分發,可以使用 OPM 套件管理器。

在新版本中:

  • .NET 平台已統一過渡到統一平台(整合了 .NET Framework、.NET Core 和 Mono),因此無需在 Linux 和 macOS 上使用 Mono。由於底層平台的變更,現有外部元件(DLL)的二進位相容性已喪失,需要為新版 .NET(至少是 NetStandard 2.0 相容層)重新編譯這些元件。
  • 除了在堆疊中執行程式碼之外 虛擬機 新增了對本地編譯的支援。針對高負載程式碼段,我們實作了一個強型別靜態編譯器,使得 1C 語言可以直接編譯成 .NET 機器碼,然後再編譯成本地碼,其效能可與純 C# 相媲美。
  • 新增了 #native 指令,用於使用新編譯器編譯模組並在新的執行時間環境中執行它們。此類程式碼必須是嚴格類型的,因此並非所有熟悉的 1C 語言結構都能正常運作(例如,並非總是可以將不同類型的值賦給同一個變數)。
  • 已經實現了建立無需在目標系統上安裝 .NET 的獨立組件的功能(.NET 元件已內建於交付物中)。
  • 1Script 核心程式碼已深度重構,並新增了語言解析器。此解析器以獨立函式庫 OneScript.Language 的形式實現,支援建立獨立的程式碼分析工具、混淆器和翻譯器。 1Script 的效能也提升了。
  • 運行時環境與第三方應用程式的整合已簡化。
  • 新增了基於 Kestrel 的內建 HTTP 伺服器。

來源: opennet.ru

為具有 DDoS 保護、VPS VDS 服務器的站點購買可靠的主機 🔥 購買具備 DDoS 防護的可靠網站寄存服務,包括 VPS 和 VDS 伺服器 | ProHoster