python中jam如何使用

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语言定义

立即学习“Python免费学习笔记(深入)”;

词法

    Jam认为所有的记号(Token)都由空白字符(blanks, tabs, or newlines)分隔.

包括符号(:)和(;)也必须用空白字符分隔.

例外:

    由引号(“)包围的记号中, 可以使用空白符号.

    符号(/)可以转义引号和空白字符.

    由{}包围的字符串,可以使用空白符号,并且认为只是一个字符串.

    关键字,做为记号时,必须使用引号包围.

内建Rule语义

1.构造依赖关系

    DEPENDS targets1 : targets2 ;

    使用target1依赖于targets2, 如果targets2比targets1新, targets1会被重

建.

    INCLUDES targets1 : targets2 ;

    构造同位依赖, 使依赖于targets2的目标同时也依赖于targets1.

2.修改依赖关系

    ALWAYS targets ;

    LEAVES targets ;

    NOCARE targets ;

    NOTFILE targets ;

    NOUPDATE targets ;

    TEMPORARY targets ;

3.工具

    

    ECHO args ;

    显示参数

    EXIT args ;

    显示参数,并退出.

    GLOB directories : patterns : 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  列表元素全部相同时为truea != b  列表元素不完全相同时为truea  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如何使用的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2256835.html

(0)
上一篇 2025年2月27日 03:28:32
下一篇 2025年2月19日 02:39:19

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • python如何定义整数

    python数字类型中包括有int整型,它是不可变数据类型中的一种,它的一些性质和字符串是一样的。 Python int有多种数字类型:整型int、长整型、布尔型bool、浮点数float、复数complex。 整型int的创建、声明 创建…

    2025年2月27日
    200
  • python是爬虫吗

    很多初学者都有这样的疑问:python就是爬虫吗?爬虫有什么干什么的?下面来说一说什么是python和爬虫。 python Python是一种计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着…

    2025年2月27日
    200
  • python里有成员变量吗

    python 的类中,主要会使用的两种变量:类变量与成员变量。类变量是类所有实例化对象共有的,而成员变量是每个实例化对象自身特有的。 下面通过两个小程序来说明一下。(推荐学习:Python视频教程) class A(object): def…

    2025年2月27日
    200
  • python如何判断字符串类型

    python中的数据类型有数字、字符串,列表、元组、字典、集合等。有两种方法判断一个变量的数据类型。两种方法: 第一种方法:通过type()函数 第二种方法:通过isinstance()函数 立即学习“Python免费学习笔记(深入)”; …

    2025年2月27日
    200
  • python是编译型语言吗

    先说结论,python是解释型语言。  何为编译? 1、生成目标文件。2、且目标文件是针对特定的 CPU 体系的,为ARM生成的目标文件,不能被用于MIPS的CPU,也不能用于x86的CPU。反过来说也是成立的。也就是说这段代码在生成目标文…

    2025年2月27日
    200
  • 会java学python快吗

    针对这个问题的答案:学习java比python更难。学会java再学python容易很多,学完python再想学java就跟新学一门语言没多大区别。 最后关于这两门语言,有一点我还是需要单独的说下,在决定学习之前我们必须要明白,Java和P…

    2025年2月27日
    200
  • python是什么情况下诞生的

    python是一种计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。 1989年,为了打发圣诞节假期,Guido开始写P…

    2025年2月27日
    200
  • python中╲t是什么

    python中的指的是一个指表符,如下图: python中的的使用示例: 文本通常都是紧挨着屏幕的左边缘显示的,但有时用户可能希望它能往右边走一点。文本编辑软件中,可以使用Tab键达到这个效果,对于字符串,则可以使用转义序列得到这样一个制表…

    2025年2月27日
    200
  • python中文怎么读

    python中文怎么读? 发英音:/ˈpaɪθən/ ,中文类似‘拍森’;而按习惯用法或者(国外)大多数人的用法,发美音:/ˈpaɪθɑːn/),中文类似‘拍赏’。 推荐:《Python教程》 注: Python是一种计算机程序设计语言。是…

    2025年2月27日
    200
  • python里面def是什么意思

    如果我们用代码实现了一个小功能,但想要在程序代码中重复使用,不能在代码中到处粘贴这些代码,因为这样做违反了软件工程中dry原则。 python提供 def函数功能,可以将我们这部分功能抽象成一个函数以方便程序调用,或者提供给其他模块使用。 …

    2025年2月27日
    200

发表回复

登录后才能评论