Navigation:  Software Configuration Tab > General Configuration > Crew Pricing > Scripted Crew Method >

J Script

Previous pageReturn to chapter overviewNext page
Show/Hide Hidden Text
hmtoggle_plus1Syntax

Program -> Statements

 

Statements -> Statement...

 

Block -> '{' Statements '}'

 

ImportStmt -> IMPORT (String/,)...

 

VarStmt -> VAR (VarDecl/',')...

 

VarDecl -> Ident [Array] [InitValue]

 

Array -> '[' (ArrayDim/',')... ']'

 

ArrayDim -> Expression

 

InitValue -> '=' Expression

 

Expression -> SimpleExpression [RelOp SimpleExpression]...

 

SimpleExpression -> ['-'] Term [AddOp Term]...

 

Term -> Factor [MulOp Factor]...

 

Factor -> Designator

      -> UnsignedNumber

      -> String

      -> '(' Expression ')'

      -> '!' Factor

      -> '[' SetConstructor ']'

      -> NewOperator

      -> '<' FRString '>'

 

SetConstructor -> SetNode/','...

 

SetNode -> Expression ['..' Expression]

 

NewOperator -> NEW Designator

 

RelOp -> '>'

     -> '<'

     -> '<='

     -> '>='

     -> '!='

     -> '=='

     -> IN

     -> IS

 

AddOp -> '+'

     -> '-'

     -> '||'

     -> '^'

 

MulOp -> '*'

     -> '/'

     -> '%'

     -> '&&'

     -> '<<'

     -> '>>'

 

Designator -> ['&'] Ident ['.' Ident | '[' ExprList ']' | '(' [ExprList] ')']...

 

ExprList -> Expression/','...

 

Statement -> (AssignStmt | CallStmt | BreakStmt | ContinueStmt |

             DeleteStmt | DoWhileStmt | ForStmt | FunctionStmt |

             IfStmt | ImportStmt | ReturnStmt | SwitchStmt |

             VarStmt | WhileStmt | WithStmt | Block) [';']

 

BreakStmt -> BREAK

 

ContinueStmt -> CONTINUE

 

DeleteStmt -> DELETE Designator

 

AssignStmt -> Designator ['+'|'-'|'*'|'/']'=' Expression

 

CallStmt -> Designator ['+''+'|'-''-']

 

ReturnStmt -> RETURN [Expression]

 

IfStmt -> IF '(' Expression ')' Statement [ELSE Statement]

 

SwitchStmt -> SWITCH '(' Expression ')' '{' (CaseSelector)... [DEFAULT ':' Statement] '}'

 

CaseSelector -> CASE SetConstructor ':' Statement

 

DoWhileStmt -> DO Statement [';'] WHILE '(' Expression ')' ';'

 

WhileStmt -> WHILE '(' Expression ')' Statement

 

ForStmt -> FOR '(' ForStmtItem ';' Expression ';' ForStmtItem ')' Statement

 

ForStmtItem -> AssignStmt

           -> CallStmt

           -> VarStmt

           -> Empty

 

TryStmt -> TRY CompoundStmt (FINALLY | EXCEPT) CompoundStmt

 

FunctionStmt -> FunctionHeading Block

 

FunctionHeading -> FUNCTION Ident FormalParameters

 

FormalParameters -> '(' [FormalParam/','...] ')'

 

FormalParam -> ['&'] Ident

 

WithStmt -> WITH '(' Designator ')' Statement

hmtoggle_plus1Structure

#language JScript // this is optional

import "unit1.js", "unit2.js"  

// import section - must be before any other sections

 

var i, j = 0;          // var section

 

function p1()          // procedures and function

{                      //

}

                      // main procedure that will be executed.  

p1();

for (i = 0; i < 10; i++) j++;

hmtoggle_plus1Data Types

JScript has no types, all types are variants.

Note: Not all of these types can be assign-compatible. Like in Object Pascal, you can't assign Extended or String to an Integer. Only one type - the Variant - can be assigned to all the types and can get value from any type.