<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Berry為 32 位單片機(jī)設(shè)計的腳本語言

          聯(lián)合創(chuàng)作 · 2023-09-27 23:13

          Berry是一款一款為32位單片機(jī)設(shè)計的腳本語言。Berry解釋器使用C89標(biāo)準(zhǔn)實現(xiàn),該語言可以在RAM或ROM很小的設(shè)備上運(yùn)行。

          盡管Berry的體積很小,但是它也支持class以及閉包等功能,使得單片機(jī)可以具有較好的二次開發(fā)能力。Berry沒有將數(shù)值和字符串等簡單類型設(shè)計為對象,這樣不僅節(jié)省了RAM還可以防止頻繁的malloc()調(diào)用。此外該腳本語言還有一些減少內(nèi)存使用的優(yōu)化。

          Berry非常容易和C語言進(jìn)行交互,您可以使用C API調(diào)用Berry代碼,也可以在Berry代碼中調(diào)用C語言實現(xiàn)的原生函數(shù)或者類。

          以下是Berry支持的基本類型:

          • nil:空類型

          • 數(shù)值型:integer、real

          • boolean:布爾型

          • string:字符串類型

          • class:類,用于提供面向?qū)ο笾С?/p>

          • list:可變長度數(shù)組

          • map:哈希表

          • range:存儲一個整數(shù)區(qū)間

          • function:所有的函數(shù)都是function類型

          其中l(wèi)ist、map和range是class類型。nil、integer、real和boolean型的數(shù)據(jù)不需要使用動態(tài)內(nèi)存分配。

          運(yùn)算符和控制語句與C語言相似,具體語法信息可以參考README文件項目文檔。

          特性

          • 基本類型
            • 數(shù)值:整數(shù)(int)和實數(shù)(real
            • 布爾值:truefalse
            • 字符串:單引號和雙引號
            • 列表:連續(xù)的內(nèi)存列表,例如 [1, 2, 3]
            • 地圖:哈希地圖,例如 { 'a': 1, 2: 3, 'map': {} }
            • 范圍:包括一個較低和較高的整數(shù)值,例如 0..5
          • 運(yùn)算符和表達(dá)式
            • 賦值運(yùn)算符:=,+=,-=*=,/=,%=&=,|=,^=<<=,>>=
            • 關(guān)系運(yùn)算符:<,<===,!=>,>=
            • 邏輯運(yùn)算:&&||,!
            • 算術(shù)運(yùn)算符:+,-,*/,%
            • 位運(yùn)算符:&,|,~,^,<<,>>
            • 現(xiàn)場操作員: .
            • 下標(biāo)運(yùn)算符: []
            • 連接字符串運(yùn)算符: +
            • 條件運(yùn)算符: ? :
            • 括號: ()
          • 控制結(jié)構(gòu)
            • 條件語句: if-else
            • 迭代語句:whilefor
            • 跳轉(zhuǎn)語句:breakcontinue
          • 功能
            • 局部變量和塊范圍
            • 退貨聲明
            • 嵌套函數(shù)定義
            • 基于升值的封閉
            • 匿名功能
            • Lambda表達(dá)式
            • 繼承(僅公共單繼承)
            • 方法和運(yùn)算符重載
            • 構(gòu)造方法
            • 破壞性方法
          • 模塊管理
            • 內(nèi)置模塊幾乎不需要RAM
            • 擴(kuò)展模塊支持:腳本模塊,字節(jié)碼文件模塊和共享庫(例如* .so,*。dll)模塊
          • GC(垃圾收集)
            • 標(biāo)記掃描GC
          • 異常處理
            • 使用raise語句拋出任何異常值
            • 多重捕獲模式
          • 字節(jié)碼文件支持
            • 將功能導(dǎo)出到字節(jié)碼文件
            • 加載字節(jié)碼文件并執(zhí)行
          瀏覽 23
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  一级特黄无码久久 | 三级片99 | 99视频精品在线免费观看 | 日本和韩国的黄色一级视频 | 乱伦AV影视 |