首頁 後端開發 Python教學 python中jam如何使用

python中jam如何使用

Jun 20, 2019 am 10:08 AM
python

Bjam 是一個類似於Make的專案管理工具.它專門為Boost定制的編譯管理器,它基於FTJam, FTJam是從Perforce Jam發展起來的.Bjam向後兼容Perforce Jam.

Bjam工具由Boost.Jam專案維護.

python中jam如何使用

目前Bjam的最新版本是:3.1.9(與Boost-1.31.0一起發布).它基於2.4 of Jam/MR.

Jam語言定義

詞法

​​

    Jam認為所有的記號(Token)都由空白字元(blanks, tabs , or newlines)分隔.

包括符號(:)和(;)也必須用空白字元分隔.

例外:

    由引號(")包圍的記號中, 可以使用空白符號.

    符號(/)可以轉義引號和空白字元.

    由{}包圍的字串,可以使用空白符號,並且認為只是一個字串.

    關鍵字,做為記號時,必須使用引號包圍.

內建Rule語意

1.建構依賴關係

    DEPENDS targets1 : targets2 ;

    使用target1依賴targets2, 如果targets2比targets1新, targets1會被重新為

 .

## 

##    建構同位依賴, 使依賴targets2的目標同時也依賴targets1.

2.修改依賴關係

    ALWAYS targets ;

    LEAVES targets ;

    NOCARE targets ;

    NOTFILE targets ;

    NOUPDATE targets ;

    TEMPORARY targets ;

3.工具

    

    ECHO args ;

    顯示參數

卷downcase-opt

    在directories中取出符合patterns的檔名.

    MATCH regexps : list

    從list中取出符合regexps的符號。

#流程控制

for var in list { statements } 

#為list中的每個執行一次statements, var被設計為list元素的值.

if cond { statements } 

[ else statements ] 

顯然,else部分是可以選擇的.

條件可以是:

a 当a的元素中最少有一个非空字符串时为true;
a = b  列表元素全部相同时为true
a != b  列表元素不完全相同时为true
a < b  a和b中,第一个不相同的元素相比较, a的元素比b小(按字符串顺序).
a <= b  a中每个元素都比b对应元素小或相等
a > b  a和b中,第一个不相同的元素相比较, a的元素比b大(按字符串顺序).
a >= b  a中每个元素都比b对应元素大或相等
a in b  a所有元素都可以在b中找到,或者a是空表
! cond  逻辑非 
cond && cond  逻辑与
cond || cond  逻辑或
( cond )  优先运算

   include file ; 

使用jam讀入file,並處理它.

這個過程在解析階段發生,所以file不會被建造,也沒有檔案範圍.

local vars [ = values ] ; 

定義一個局部變數,在{}以外原變數的值會回存.

return values ; 

#設定回傳值,注意在rule中,return並不跳出rule的執行程序.

switch value 
{ 
case pattern1 : statements ; 
case pattern2 : statements ; 
... 
}

根據value執行一次或零次statements. pattern可以是以下符號通配符

?  匹配一個任意字元

*  符合零個或更多字元

[chars] 符合chars中的任一個字元 

[^chars] 符合不在chars中的任一個字元

# /x  符合x(轉義其它通配符)  

while cond { statements } 

在條件為真時,重複執行statement.

變數控制與內建變數

Jam變數是一個字串列表,它的元素可能是0個,也可以是多個字串.一個未定義的變數和

一個空變數(0個元素)沒有區別.但是一個變數可以定義為含有多個空字串.

變數可以透過$(variable)來取值

變數有"全域"或"目標專用"兩種.目標專用的變數只在建造目標時取值.

變數定義的方式有以下幾種.

 variable = elements ; 
 variable += elements ; 
 variable on targets = elements ; 
 variable on targets += elements ; 
 variable default = elements ; 
 variable ?= elements ;

前兩種方式定義全域變數, 第三和第四種方式定義目標專用變數.

=號可以重寫變數的內容. =連接原有內容和新內容.

最後兩種效果一致:在變數沒有定義時,定義一個全域變數.

以上是python中jam如何使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

PHP教程
1585
276
一文了解什麼是加密貨幣交易中的情緒分析? 一文了解什麼是加密貨幣交易中的情緒分析? Aug 14, 2025 am 11:15 AM

目錄什麼是加密貨幣交易中的情緒分析?為什麼情緒分析在加密貨幣投資中很重要情緒數據的關鍵來源a.社交媒體平台b.新聞媒體c.市場指標情緒分析的工具和技術情緒分析中常用的工具:採用的技術:將情感分析整合到交易策略中交易者如何使用它:策略示例:假設BTC交易場景場景設置:情感信號:交易者的解讀:決策:結果:情感分析的局限性和風險利用情感進行更智能的加密貨幣交易理解市場情緒在加密貨幣交易中變得越來越重要。最近一項2025年的研究由Hamid

如何在Sublime文本中調試Python代碼? 如何在Sublime文本中調試Python代碼? Aug 14, 2025 pm 04:51 PM

UseSublimeText’sbuildsystemtorunPythonscriptsandcatcherrorsbypressingCtrl Baftersettingthecorrectbuildsystemorcreatingacustomone.2.Insertstrategicprint()statementstocheckvariablevalues,types,andexecutionflow,usinglabelsandrepr()forclarity.3.Installth

如何處理不適合內存的Python中的大型數據集? 如何處理不適合內存的Python中的大型數據集? Aug 14, 2025 pm 01:00 PM

當Python中處理超出內存的大型數據集時,不能一次性加載到RAM中,而應採用分塊處理、磁盤存儲或流式處理等策略;可通過Pandas的chunksize參數分塊讀取CSV文件並逐塊處理,使用Dask實現類似Pandas語法的並行化和任務調度以支持大內存數據操作,編寫生成器函數逐行讀取文本文件減少內存佔用,利用Parquet列式存儲格式結合PyArrow高效讀取特定列或行組,使用NumPy的memmap對大型數值數組進行內存映射以按需訪問數據片段,或將數據存入SQLite或DuckDB等輕量級數據

如何在Sublime文本中運行Python代碼? 如何在Sublime文本中運行Python代碼? Aug 16, 2025 am 04:58 AM

確保已安裝Python並將其添加到系統PATH,通過終端運行python--version或python3--version驗證;2.將Python文件保存為.py擴展名,如hello.py;3.在SublimeText中創建自定義構建系統,Windows用戶使用{"cmd":["python","-u","$file"]},macOS/Linux用戶使用{"cmd":["python3

如何在VScode中調試Python腳本 如何在VScode中調試Python腳本 Aug 16, 2025 am 02:53 AM

要調試Python腳本,需先安裝Python擴展並配置解釋器,然後創建launch.json文件設置調試配置,接著在代碼中設置斷點並按F5啟動調試,腳本將在斷點處暫停,允許檢查變量和單步執行,最終通過查看控制台輸出、添加日誌或調整參數等方式排查問題,確保環境正確後調試過程簡單高效。

如何在VSCODE中自動格式化Python代碼 如何在VSCODE中自動格式化Python代碼 Aug 14, 2025 pm 04:10 PM

toAutomation formatemationalformatpytpythoncodeinvscode,installblackusingpipinstallblack,installtheofficialmicrosoftpythonextension,setblackastheformatterinsettings.jsonwith“ python.formatting.formatting.provider”

如何在Sublime文本中創建一個Python項目? 如何在Sublime文本中創建一個Python項目? Aug 16, 2025 am 08:53 AM

InstallSublimeTextandPython,thenconfigureabuildsystembycreatingaPython3.sublime-buildfilewiththeappropriatecmdandselectorsettingstoenablerunningPythonscriptsviaCtrl B.2.OrganizeyourprojectbycreatingadedicatedfolderwithPythonfilesandsupportingdocument

收益率關鍵字如何在Python中起作用 收益率關鍵字如何在Python中起作用 Aug 15, 2025 am 08:23 AM

yield關鍵字用於定義生成器函數,使其能暫停執行並逐個返回值,之後從暫停處恢復;生成器函數返回生成器對象,具有惰性求值特性,可節省內存,適用於處理大文件、流數據和無限序列等場景,且生成器是迭代器,支持next()和for循環,但無法倒回,必須重新創建才能再次迭代。

See all articles