IntroductionLexical ConventionCharacter set and whitespaceCommentsIdentifiersValuesIntegerFloating Point NumberStringBooleanFunctionArrayMapNaNVoidExpressionsValuesVariables and ‘left hand side’ expressionsArithmetic expressionsBinary arithmetic expressionsUnary arithmetic expressionsComparison expressionsBinary comparison expressionsTernary comparison expressionsLogical expressionsDeclaration and assignment expressionsDeclarationsAssignmentCombined arithmetic operation and assignment expressionsBinary formUnary formIndex expressionsMember expressionsFunction CallsFunction InvocationPartial applicationGroupingOperator precedenceStatementsStatement BlocksExpressionsIteration statementsfor loopswhile loopsforeach loopsAltering loop statements control flowbreak statementcontinue statementreturn statementsConditional statementsif statementswitch statementexception handling & recovery statementsthrow statementtry/catch blocktry/finally blockImporting definitionsTemplate statementstemplate statementinstructions statementInstruction definitionInvoking template instructionsReplacement MethodologyScopeProgram level scopeStatement block scopeFunction scopeObject Oriented ConstructsPrototypesSemantics for non map typesSemantics for map typesSupporting multiple levels of inheritanceImplementing constructorsBuilt in LibraryBuilt in variablesCommand line argumentsEnvironment variablesSystem LibraryString LibraryI/O LibraryAbed Tony BenBrahim [email protected] JTemplate Language Reference Manual1 Table of Contents 1 Introduction ............................................................................................................................. 4 2 Lexical Convention ................................................................................................................... 4 2.1 Character set and whitespace ......................................................................................... 4 2.2 Comments ....................................................................................................................... 4 2.3 Identifiers ........................................................................................................................ 4 2.4 Values .............................................................................................................................. 5 2.4.1 Integer ..................................................................................................................... 5 2.4.2 Floating Point Number ............................................................................................ 5 2.4.3 String ........................................................................................................................ 5 2.4.4 Boolean .................................................................................................................... 6 2.4.5 Function ................................................................................................................... 6 2.4.6 Array ........................................................................................................................ 7 2.4.7 Map .......................................................................................................................... 7 2.4.8 NaN .......................................................................................................................... 7 2.4.9 Void .......................................................................................................................... 7 3 Expressions .............................................................................................................................. 8 3.1 Values .............................................................................................................................. 8 3.2 Variables and ‘left hand side’ expressions ...................................................................... 8 3.3 Arithmetic expressions .................................................................................................... 8 3.3.1 Binary arithmetic expressions ................................................................................. 8 3.3.2 Unary arithmetic expressions .................................................................................. 9 3.4 Comparison expressions .................................................................................................. 9 3.4.1 Binary comparison expressions ............................................................................... 9 3.4.2 Ternary comparison expressions ........................................................................... 10 3.5 Logical expressions ........................................................................................................ 10 3.6 Declaration and assignment expressions ...................................................................... 10 3.6.1 Declarations ........................................................................................................... 10 3.6.2 Assignment ............................................................................................................ 11 3.6.3 Combined arithmetic operation and assignment expressions .............................. 11 3.7 Index expressions .......................................................................................................... 12 3.8 Member expressions ..................................................................................................... 132 3.9 Function Calls ................................................................................................................ 13 3.9.1 Function Invocation ............................................................................................... 13 3.9.2 Partial application .................................................................................................. 14 3.10 Grouping ........................................................................................................................ 14 3.11 Operator precedence .................................................................................................... 14 4 Statements ............................................................................................................................ 15 4.1 Statement Blocks
View Full Document