Bjam ist ein Projektmanagement-Tool, das speziell für Boost entwickelt wurde. Bjam ist abwärtskompatibel mit Perforce Jam.
Das Bjam-Tool wird vom Boost.Jam-Projekt gepflegt
Die aktuellste Version von Bjam ist: 3.1.9 (veröffentlicht mit Boost-1.31.0). . Es basiert auf 2.4 von Jam/MR.
Jam-Sprachdefinition
Lexikon
Jam geht davon aus, dass alle Token (Token) aus Folgendem bestehen Leerzeichen, Tabulatoren oder Zeilenumbrüche).
einschließlich der Symbole (:) und (;) müssen ebenfalls durch Leerzeichen getrennt werden
Ausnahme:
Tokens, die in Anführungszeichen stehen (") können Sie Leerzeichensymbole verwenden.
Das Symbol (/) kann Anführungszeichen und Leerzeichen als Escapezeichen verwenden.
Von {} umgebene Zeichenfolgen können Leerzeichensymbole verwenden und werden nur als Zeichenfolge betrachtet. .
Schlüsselwörter müssen bei Verwendung als Token in Anführungszeichen gesetzt werden.
Eingebaute Regelsemantik
1. Abhängigkeiten erstellen
Hängt von Zielen1 ab: Ziele2;
Die Verwendung von Ziel1 hängt von Zielen2 ab. Wenn Ziele2 neuer als Ziele1 ist, wird Ziel1 neu erstellt
.
Enthält Ziele1: Ziele2;
Konstruieren Sie homogene Abhängigkeiten, sodass Ziele, die von Zielen2 abhängen, auch von Zielen1 abhängen.
2. Abhängigkeiten ändern
IMMER Ziele ;
VERLÄSST Ziele
NOCARE-Ziele;
NOTFILE-Ziele;
NOUPDATE-Ziele;
TEMPORÄRE Ziele; >
ECHO-Argumente ;
Parameter anzeigen
EXIT args ;
Parameter anzeigen und beenden.
GLOB-Verzeichnisse: Muster: Downcase-Opt
Dateinamen entfernen, die mit Mustern übereinstimmen Verzeichnisse.
MATCH regexps: list
Entferne Symbole, die mit regulären Ausdrücken übereinstimmen, aus der Liste.
Flusskontrolle
für Variable in der Liste { Anweisungen } Führen Sie Anweisungen einmal für jede Anweisung in der Liste aus. var soll der Wert des Listenelements sein.
if cond { Anweisungen }
[ sonst Anweisungen ]
Natürlich ist der else-Teil optional.
Die Bedingung kann sein:
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 ;
Verwenden Sie jam, um Datei einzulesen und Verarbeiten Sie es.
Dieser Vorgang findet während der Analysephase statt, daher wird die Datei nicht erstellt und es gibt keinen Dateibereich.
lokale Variablen [ = Werte] ; > Definiert eine lokale Variable und der Wert der ursprünglichen Variablen außerhalb von {} wird zurückgespeichert.
Rückgabewerte.
legt den Rückgabewert fest springt nicht aus dem Ausführungsprozess der Regel
switch value { case pattern1 : statements ; case pattern2 : statements ; ... }
führt je nach Wert eine oder keine Anweisungen aus. Das Muster kann das folgende Platzhaltersymbol sein
? Entspricht einem beliebigen Zeichen
* entspricht null oder mehr Zeichen
[chars] entspricht jedem Zeichen in chars
[^chars] entspricht jedem Zeichen, das nicht in chars
/x Übereinstimmung mit x ( andere Platzhalterzeichen entkommen)
while cond { Anweisungen }
Wenn die Bedingung wahr ist, führen Sie die Anweisung wiederholt aus.
Variablensteuerung und interne Variable erstellenJam-Variable ist eine String-Liste, ihre Elemente können 0 oder mehrere Strings sein. Eine undefinierte Variable und
eine leere Variable (0 Elemente). Es gibt jedoch keinen Unterschied enthalten mehrere leere Zeichenfolgen. Variablen können Werte über $(Variable) annehmen
Variablen haben „global“ oder „Es gibt zwei Arten von „zielspezifischen“. Zielspezifische Variablen Nehmen Sie beim Erstellen des Ziels nur Werte an.
Es gibt die folgenden Möglichkeiten, Variablen zu definieren.
variable = elements ; variable += elements ; variable on targets = elements ; variable on targets += elements ; variable default = elements ; variable ?= elements ;
Die ersten beiden Möglichkeiten definieren globale Variablen und die dritte Und die vierte Möglichkeit, das Ziel zu definieren -spezifische Variablen.
= kann den Inhalt der Variablen umschreiben. += verbindet den ursprünglichen Inhalt und den neuen Inhalt.
Die letzten beiden Effekte sind gleich: In der Variablen gibt es keine Definieren Sie beim Definieren eine globale Variable.
Das obige ist der detaillierte Inhalt vonSo verwenden Sie Jam in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!