Search Results for

    Show / Hide Table of Contents

    Описание языка

    Синтаксис PascalScript:

    Program -> [PROGRAM Ident ';']
               [UsesClause]        
               Block '.'           
    
    UsesClause -> USES (String/,)... ';' 
    
    Block -> [DeclSection]...   
             CompoundStmt       
    
    DeclSection -> ConstSection         
                -> VarSection           
                -> ProcedureDeclSection 
    
    ConstSection -> CONST (ConstantDecl)... 
    
    ConstantDecl -> Ident '=' Expression ';' 
    
    VarSection -> VAR (VarList ';')...
    
    VarList -> Ident/','... ':' TypeIdent [InitValue] 
    
    TypeIdent -> Ident  
              -> Array  
    
    Array -> ARRAY '[' ArrayDim/','... ']' OF Ident  
    
    ArrayDim -> Expression..Expression  
             -> Expression              
    
    InitValue -> '=' Expression  
    
    Expression -> SimpleExpression [RelOp SimpleExpression]...
    
    SimpleExpression -> ['-'] Term [AddOp Term]... 
    
    Term -> Factor [MulOp Factor]...
    
    Factor -> Designator                     
           -> UnsignedNumber                 
           -> String                         
           -> '(' Expression ')'             
           -> NOT Factor                     
           -> '[' SetConstructor ']'         
    
    SetConstructor -> SetNode/','...  
    
    SetNode -> Expression ['..' Expression]  
    
    RelOp -> '>'   
          -> '<'   
          -> '<='  
          -> '>='  
          -> '<>'  
          -> '='   
          -> IN    
          -> IS    
    
    AddOp -> '+'  
          -> '-'  
          -> OR   
          -> XOR  
    
    MulOp -> '*'
          -> '/'    
          -> DIV    
          -> MOD    
          -> AND
          -> SHL    
          -> SHR    
    
    Designator -> ['@'] Ident ['.' Ident | '[' ExprList ']' | '(' ExprList ')']...  
    
    ExprList -> Expression/','...  
    
    Statement -> [SimpleStatement | StructStmt]  
    
    StmtList -> Statement/';'...  
    
    SimpleStatement -> Designator                     
                    -> Designator ':=' Expression     
                    -> BREAK | CONTINUE | EXIT        
    
    StructStmt -> CompoundStmt        
               -> ConditionalStmt     
               -> LoopStmt            
               -> TryStmt             
               -> WithStmt            
    
    CompoundStmt -> BEGIN StmtList END   
    
    ConditionalStmt -> IfStmt     
                    -> CaseStmt   
    
    IfStmt -> IF Expression THEN Statement [ELSE Statement]
    
    CaseStmt -> CASE Expression OF CaseSelector/';'... [ELSE Statement] [';'] END  
    
    CaseSelector -> SetConstructor ':' Statement
    
    LoopStmt -> RepeatStmt  
             -> WhileStmt   
             -> ForStmt     
    
    RepeatStmt -> REPEAT StmtList UNTIL Expression  
    
    WhileStmt -> WHILE Expression DO Statement  
    
    ForStmt -> FOR Ident ':=' Expression ToDownto Expression DO Statement  
    
    ToDownto -> (TO | DOWNTO)  
    
    TryStmt -> TRY StmtList (FINALLY | EXCEPT) StmtList END  
    
    WithStmt -> WITH (Designator/,..) DO Statement  
    
    ProcedureDeclSection -> ProcedureDecl  
                         -> FunctionDecl   
    
    ProcedureDecl -> ProcedureHeading ';'  
                     Block ';'             
    
    ProcedureHeading -> PROCEDURE Ident [FormalParameters]  
    
    FunctionDecl -> FunctionHeading ';'  
                    Block ';'
    
    FunctionHeading -> FUNCTION Ident [FormalParameters] ':' Ident
    
    FormalParameters -> '(' FormalParam/';'... ')'
    
    FormalParm -> [VAR | CONST] VarList
    

    Синтаксис C++Script:

    Program -> [UsesClause]
               [DeclSection]...
               CompoundStmt
    
    UsesClause -> '#' INCLUDE (String/,)...
    
    DeclSection -> ConstSection
                -> ProcedureDeclSection
                -> VarStmt ';'
    
    ConstSection -> '#' DEFINE ConstantDecl
    
    ConstantDecl -> Ident Expression
    
    VarStmt -> Ident Ident [Array] [InitValue] /','...
    
    ArrayDef -> '[' 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
    
    SetConstructor -> SetNode/','...  
    
    SetNode -> Expression ['..' Expression]  
    
    NewOperator -> NEW Designator
    
    RelOp -> '>'   
          -> '<'
          -> '<='  
          -> '>='
          -> '!='  
          -> '=='
          -> IN    
          -> IS
    
    AddOp -> '+'
          -> '-'  
          -> '||'
          -> '^'
    
    MulOp -> '*'    
          -> '/'
          -> '%'
          -> '&&'
          -> '<<'   
          -> '>>'
    
    Designator -> ['&'] Ident ['.' Ident | '[' ExprList ']' | '(' ExprList ')']...
    
    ExprList -> Expression/','...
    
    Statement -> [SimpleStatement ';' | StructStmt | EmptyStmt]
    
    EmptyStmt -> ';'
    
    StmtList -> (Statement...)
    
    SimpleStatement -> DeleteStmt
                    -> AssignStmt
                    -> VarStmt                    
                    -> CallStmt                    
                    -> ReturnStmt
                    -> (BREAK | CONTINUE | EXIT)   
    
    DeleteStmt -> DELETE Designator
    
    AssignStmt -> Designator ['+'|'-'|'*'|'/']'=' Expression  
    
    CallStmt -> Designator ['+''+'|'-''-']  
    
    ReturnStmt -> RETURN [Expression]  
    
    StructStmt -> CompoundStmt        
               -> ConditionalStmt
               -> LoopStmt            
               -> TryStmt
    
    CompoundStmt -> '{' [StmtList] '}'
    
    ConditionalStmt -> IfStmt
                    -> CaseStmt   
    
    IfStmt -> IF '(' Expression ')' Statement [ELSE Statement]  
    
    CaseStmt -> SWITCH '(' Expression ')' '{' (CaseSelector)... [DEFAULT ':' Statement] '}'  
    
    CaseSelector -> CASE SetConstructor ':' Statement 
    
    LoopStmt -> RepeatStmt  
             -> WhileStmt
             -> ForStmt     
    
    RepeatStmt -> DO Statement [';'] WHILE '(' Expression ')' ';'  
    
    WhileStmt -> WHILE '(' Expression ')' Statement  
    
    ForStmt -> FOR '(' ForStmtItem ';' Expression ';' ForStmtItem ')' Statement  
    
    ForStmtItem -> AssignStmt  
                -> VarStmt
                -> CallStmt
                -> Empty       
    
    TryStmt -> TRY CompoundStmt (FINALLY | EXCEPT) CompoundStmt  
    
    FunctionDecl -> FunctionHeading CompoundStmt
    
    FunctionHeading -> Ident Ident [FormalParameters]
    
    FormalParameters -> '(' [FormalParam/';'...] ')'
    
    FormalParam -> TypeIdent (['&'] Ident [InitValue]/',')...
    

    Синтаксис JScript:

    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
    

    Синтаксис BasicScript:

    Program -> Statements             
    
    Statements -> (EOL | StatementList EOL)...   
    
    StatementList -> Statement/':'...   
    
    ImportStmt -> IMPORTS (String/,)...  
    
    DimStmt -> DIM (VarDecl/',')...  
    
    VarDecl -> Ident [Array] [AsClause] [InitValue]   
    
    AsClause -> AS Ident   
    
    Array -> '[' ArrayDim/','... ']'   
    
    ArrayDim -> Expression   
    
    InitValue -> '=' Expression   
    
    Expression -> SimpleExpression [RelOp SimpleExpression]...  
    
    SimpleExpression -> ['-'] Term [AddOp Term]...  
    
    Term -> Factor [MulOp Factor]...  
    
    Factor -> Designator                      
           -> UnsignedNumber                  
           -> String                          
           -> '(' Expression ')'              
           -> NOT Factor                      
           -> NewOperator                     
           -> '<' FRString '>'                
    
    SetConstructor -> SetNode/','...   
    
    SetNode -> Expression ['..' Expression]   
    
    NewOperator -> NEW Designator   
    
    RelOp -> '>'    
          -> '<'    
          -> '<='   
          -> '>='   
          -> '<>'   
          -> '='    
          -> IN     
          -> IS     
    
    AddOp -> '+'   
          -> '-'   
          -> '&'   
          -> OR    
          -> XOR   
    
    MulOp -> '*'     
          -> '/'     
          -> '\'     
          -> MOD     
          -> AND     
    
    Designator -> [ADDRESSOF] Ident ['.' Ident | '[' ExprList ']' | '(' [ExprList] ')']...   
    
    ExprList -> Expression/','...   
    
    Statement -> BreakStmt
              -> CaseStmt
              -> ContinueStmt
              -> DeleteStmt
              -> DimStmt 
              -> DoStmt
              -> ExitStmt
              -> ForStmt
              -> FuncStmt
              -> IfStmt
              -> ImportStmt 
              -> ProcStmt
              -> ReturnStmt
              -> SetStmt
              -> TryStmt
              -> WhileStmt
              -> WithStmt
              -> AssignStmt
              -> CallStmt   
    
    BreakStmt -> BREAK   
    
    ContinueStmt -> CONTINUE   
    
    ExitStmt -> EXIT   
    
    DeleteStmt -> DELETE Designator   
    
    SetStmt -> SET AssignStmt   
    
    AssignStmt -> Designator ['+'|'-'|'*'|'/']'=' Expression   
    
    CallStmt -> Designator ['+''+'|'-''-']   
    
    ReturnStmt -> RETURN [Expression]   
    
    IfStmt -> IF Expression THEN ThenStmt   
    
    ThenStmt -> EOL [Statements] [ElseIfStmt | ElseStmt] END IF   
             -> StatementList                                     
    
    ElseIfStmt -> ELSEIF Expression THEN 
                  (EOL [Statements] [ElseIfStmt | ElseStmt] | Statement)   
    
    ElseStmt -> ELSE (EOL [Statements] | Statement)   
    
    CaseStmt -> SELECT CASE Expression EOL 
                (CaseSelector...) [CASE ELSE ':' Statements] END SELECT   
    
    CaseSelector -> CASE SetConstructor ':' Statements  
    
    DoStmt -> DO [Statements] LOOP (UNTIL | WHILE) Expression   
    
    WhileStmt -> WHILE Expression [Statements] WEND   
    
    ForStmt -> FOR Ident '=' Expression TO Expression [STEP Expression] EOL 
               [Statements] NEXT   
    
    TryStmt -> TRY Statements (FINALLY | CATCH) [Statements] END TRY  
    
    WithStmt -> WITH Designator EOL Statements END WITH   
    
    ProcStmt -> SUB Ident [FormalParameters] EOL [Statements] END SUB  
    
    FuncStmt -> FUNCTION Ident [FormalParameters] [AsClause] EOL 
                [Statements] END FUNCTION   
    
    FormalParameters -> '(' (FormalParam/',')... ')'   
    
    FormalParm -> [BYREF | BYVAL] VarList 
    
    Back to top © ООО «Быстрые отчеты»