Python在嵌入式開發中也很流行生成實用腳本。Pyparsing還允許你輕松地定義在Python上下文中運行的定制腳本語言。
Python實現的系統旨在能夠獨立執行用戶傳遞的一系列命令。你希望系統以腳本的形式接收命令。用戶應該能夠定義條件。
這種對通信中邏輯元素的最初簡單的聲音要求,如果實施不正確,將很快導致接口不穩定或不確定。除了兩種經典方法外,還介紹了PyParsing作為嵌入式環境中典型問題的解決方法。PyParsing使你可以更輕松地從針對當前問題量身定制的洗禮中提升自己的語言。
定義你自己的腳本語言:方法靜態數據格式
通常,數據格式(如JSON或XML)用于與要控制的設備進行數據交換。JSON和XML旨在交換靜態數據。雖然有些項目試圖向JSON添加簡單的邏輯。但是,它們很快會導致復雜的嵌套詞典和列表。結果不僅難以閱讀,而且難以擴展到其他功能。
常規Python方法
在嵌入式開發中,另一種方法是使用Python本身。實際上,傳遞一個直接執行的python腳本是可能的。但是,這種方法為腳本發送者提供了一個不必要的大而難以控制的語言空間。必須確保腳本在非常有限的上下文中運行,以防止導入任何庫或訪問數據。
PyParsing方法
PyParsing是一個Python模塊,支持Python 3.x創建簡單的語法。這是對傳統的Lex/Yacc方法的一種相反的設計。通過創建自己的語言,你可以定義具有所需功能的語言空間。模塊字母數字字符的正向聲明和類型(如alphas)等輔助功能使語法定義在功能不斷增長的情況下仍然清晰可見。
由于解析和解釋傳遞的腳本都是在python上下文中進行的,因此可以直接訪問python變量和方法。例如,在檢測到新創建的腳本語言中的函數調用時,可以直接調用python函數。
因此,PyParsing使嵌入式開發人員你可以用參數、If-Else和While函數在少于100行中描述用分號分隔的簡單腳本語言以及變量和函數調用。Python上下文中的解釋允許很好地集成python代碼。