フォーミュラノードの構文は、テキストベースのプログラミング言語で使用されている構文に似ています。C言語と同様に、割り当ての最後にセミコロン (;) を入力してください。フォーミュラノードで変数を宣言するにはスコープ規則を使用します。また、フォーミュラノードの使用可能な関数使用可能な演算子と優先度を考慮に入れてください。

メモ C言語のプログラミングの知識があれば、フォーミュラノードを効果的に使用することができます。『LabVIEWヘルプ』は、読者がすでにC言語に精通していることを前提としており、C言語に関するトピックは含まれていません。C言語については、 Brian W. Kernighan、Dennis M. Ritchie共著『The C Programming Language』またはHerbert Schildt著『Teach Yourself C』を参照してください。

バッカスナウル形式(BNF表記法)を使用したフォーミュラノードの構文を以下に要約します。要約には、複合ステートメント、識別子、条件式、数値、配列サイズ、浮動小数点タイプ、整数タイプ、LHS、代入演算子、関数などの非終端記号が含まれています。赤色の太字のモノスペースフォントで示された記号は、記述通りに使用する必要のある終端記号です。#の記号は、後続の用語の任意の数を示します。

statement-list:
ステートメントおよびステートメントリストの構文を示すBNF表記です。

statement:
代入、複合ステートメント、制御ステートメント、条件ステートメント、反復ステートメント、switchステートメント、変数宣言を含むステートメントのBNF構文です。

assignment:
式と左辺値代入演算子を含む代入のBNF構文です。

expression:
式 バイナリ演算子 式 単項演算子 式 単項演算子 式 式 ? 式 : 式 識別子 定数 関数名 引数リスト

left-hand-side:
識別子および識別子配列サブスクリプションを含む左辺のBNF構文です。

array-subscription:
[assignment]および[assignment]配列サブスクリプションを含む配列サブスクリプションのBNF構文です。

assignment-operator: 次のうち1つ
=、+=、-=、*=、/=、>>=、<<=、&=、^=、|=、%=、**=などの代入演算子のBNF構文。

binary-operator: 次のうち1つ
+、-、*、/、^、!=、==、>、<、>=、<=、&&、||、&、|、%、**を含むバイナリ演算子のBNF構文。

unary-operator: 次のうち1つ
+、-、!、++、–、~を含む単項演算子のBNF構文です。

argument-list:
expression , expression , argument-listを含む引数リストのBNF構文です。

constant:
πと数値を含む定数のBNF構文

compound-statement:
{statement-list}を含む複合ステートメントのBNF構文です。

以下の表は、制御、条件、反復、およびswitchステートメントのフォーミュラノードの構文を表示しています。

ステートメントタイプ コンストラクト 文法 説明/サンプル
制御ステートメント Breakステートメント
赤いテキストでブレークするためのBNF構文です。

フォーミュラノード内で直前に実行されたdo、for、またはwhileループやswitchステートメントを終了するには、breakキーワードを使用します。
Continueステートメント
継続のBNF構文は赤のテキストで示されています。

フォーミュラノード内で直前のdo、for、またはwhileループの次の反復に制御を渡すには、continueキーワードを使用します。
条件ステートメント
ifステートメントおよびif-elseステートメントを含む条件ステートメントのBNF構文です。

if (y==x && a[2][3]<a[0][1]) { 
    int32 temp;
    temp = a[2][3];
    a[2][3] = y;
    y=temp;
    }
else
    x=y;
Ifステートメント
if (代入) ステートメントを含むifステートメントのBNF構文です。

If-Elseステートメント
if-else-ステートメントを含むif-else-ステートメントのBNF構文です。

反復ステートメント
doステートメント、forステートメント、およびwhileステートメントを含む反復ステートメントのBNF構文です。

Doループ
doステートメントWhile ( 代入 )を含むdoループのBNF構文です。

do {
    int32 temp;
    temp = --a[2]+y;
    y=y-1;
    }
while (y!=x && a[2]>=a[0]);
Forループ
for ( [ assignment] ; [assignment] ; [assignment] ) ステートメントを含むループのBNF構文です。

for (y=5; y<x; y*=2) {
    int32 temp;
    temp = --a[2]+y;
    x-=temp;
    }
Whileループ
while ( 代入 ) ステートメントを含むWhileループのBNF構文です。

while (y!=x && a[2]>=a[0]) {
    int32 temp;
    temp = --a[2]+y;
    y=y-1;
    }
Switchステートメント
switch ( assignment ) { case-statement-list }を含むswitch-statementsのBNF構文です。

switch(month){
    case 2: days = evenyear? 29: 28; break;
    case 4:case 6:case9: days = 30; break;
    default: days = 31; break;
    }
Caseステートメントリスト
case-statementおよびcase-statement-list case-statementを含むcase-statementリストのBNF構文です。

Caseステートメント
ケース番号 : ステートメントリスト、デフォルト : ステートメントリストを含むケースステートメントのBNF構文です。

variable-declaration:
タイプ識別子識別子、タイプ識別子配列指標リスト、タイプ固有識別子 = 割り当てを含む変数宣言のBNF構文です。

array-index-list:
[integer-constant]、[integer-constant]array-index-listを含む配列指標リストのBNF構文です。

type-specifier:
タイプ指定子浮動小数点タイプおよび整数タイプのBNF構文です。

floating-point-type:
float、float32、float64などの浮動小数点タイプのBNF構文

integer-type:
int、int8、int16、int32、uInt8、uInt16、uInt32を含む整数タイプのBNF構文です。

non-digit: 次のうち1つ
_、a~z、A~Zを含む非桁数のBNF構文です。

digit: 次のうち1つ
0、1、2、3、4、5、6、7、8、9を含む数字のBNF構文

nonzero-digit: 次のうち1つ
1、2、3、4、5、6、7、8、9を含む非ゼロ桁のBNF構文

binary-digit: 次のうち1つ
0、1を含む2進数のBNF構文

octal-digit: 次のうち1つ
0、1、2、3、4、5、6、7を含む8進数のBNF構文

hex-digit: 次のうち1つ
0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f、A、B、C、D、E、Fを含む16進数のBNF構文です。

identifier:
非桁[非最初の文字]を含む識別子のBNF構文です。

non-first-character:
非桁[非最初の文字]および桁[非最初の文字]を含む非最初の文字のBNF構文です。

number:
整数定数、浮動小数点定数を含む数値のBNF構文です。

integer-constant:
整数定数のBNF構文 (10進数定数、バイナリ定数、8進数定数、16進数定数を含む)。

decimal-constant:
非ゼロ桁の#桁を含む10進数定数のBNF構文です。

binary-constant:
0b #バイナリ桁および0B #バイナリ桁を含むバイナリ定数のBNF構文です。

octal-constant:
0 #8進数を含む8進数定数のBNF構文です。

hex-constant:
0x #hex-digitおよび0X #hex-digitを含む16進数定数のBNF構文です。

float-constant:
小数部指数部分、小数部定数指数部分を含む浮動定数のBNF構文です。

fraction:
#digit . digit #digitを含む小数部のBNF構文です。

exponent-part:
e [sign] #digitおよびE [sign] #digitを含む指数部分のBNF構文です。

sign: 次のうち1つ
+および-を含む記号のBNF構文です。

comment:
//commentおよび/*comment*/を含むコメントのBNF構文です。