Expression: a collection of symbols that jointly express a quantity.

Example:

b + c %% PPL expression 40ns + tau %% PPL expression

Legend: PPL keywords; PPL pulse commands; comments.

Statement: the smallest standalone element of an imperative programming language. A program is formed by a sequence of one or more statements. Expression can be a part of a statement.

Example:

tau = 24us + T/3; %% PPL statement tau = tau + 40us %% PPL statement

Legend: PPL keywords; PPL pulse commands; comments.

Pulse program language (PPL) is designed to describe a time sequence of events. Main difference from the ordinary languages is that PPL statements are started at specific time and have a duration in time.

Internal time counter: a hidden PPL variable that defines the time at which PPL statement is executed.

At the beginning of the PPL script internal time counter is set to zero. If during the script execution the counter becomes negative, the resulting time sequence is uniformly shifted to make the lowest time equal to zero. User can not directly access its value but execution of pulse statements modifies it. Other statements and expressions of the language do not affect internal time counter.

Pulse statement: a PPL statement that modifies internal time counter. User-defined Pulse statements, detect and wait statements belong to these class of statements.

Example:

mwpulse 45ns+23ns %% Pulse statement wait tau %% Pulse statement detect a %% Pulse statement

Legend: PPL keywords; PPL pulse commands; comments.

The end-point of PPL execution is the generation of a sequence of Pulse Assembler commands that can be interpreted by Virtual Machine of Pulse and AWG Engine. The direct feeding of assembler code to Virtual Machine is not implemented.

See also:

PPL and Pulse Engine, Pulse Assembler, Pulse and AWG Engine