88
Приложение A. Синтаксис языка UniPascal
71:
RepetativeStat    |
71:
WithStatement     .
72: CompoundStatement =
'begin' Statement { ';' Statement } 'end'.
73: IfStatement =
'if' Expression
73:
   'then' Statement [
73:
   'else' Statement ].
74: CaseStatement =
'case' Selector 'of'
74:
   CnstList ':' Statement {';'
74:
   CnstList ':' Statement } [';'] [
74:
'else' ':' Statement { ';'
74:
   Statement } [';'] ]
74:
'end'.
75: Selector =
Expression.
76: CnstList =
Constant {',' Constant }.
77: RepetativeStat =
ForStatement   |
77:
WhileStatement |
77:
RepeatStatement.
78: WhileStatement =
'while' Expression 'do' Statement.
79: RepeatStatement =
'repeat' Statement {';'
79:
   Statement }
79:
'until' Expression.
80: ForStatement =
'for' Ident ':=' Expression ('to' |
 80:
       'downto') Expression 'do'
80:
Statement.
81: WithStatement =
'with' VariableRef {',' VariableRef } 'do'
81:
Statement.
82: ProcDeclaration =
ProcHeading ';' (Block | Directive) ';'.
83: ProcHeading =
['segment']'procedure' Ident[FormalPList].
84: Directive =
'forward' | 'external' |
84:
('code' IntConst {',' IntConst}).
85: FuncDeclaration =
FuncHeading ';' (Block | Directive) ';'.
86: FuncHeading =
['segment']
86:
'function' Ident[FormalPList]':'TypeIdent.
87: FormalPList =
'(' [ Parameter { ',' Parameter } ] ')'.
88: Parameter =
(['var'|'const'] IdentList ':' TypeIdent)|
88:
 ('var' | 'const') IdentList.
89: ActualParamList =
['(' [Expression {',' Expression} ] ')'].
90: Unit =
'unit'Ident['('IntConst')']';' 'interface'
90:
   InterfacePart (
90:
'implementation'
90:
   ImplmntPart | 
90:
'end') '.'.
91: InterfaceUnit =
'interface' 'unit'Ident['('IntConst')']';'
91:
   InterfacePart
91:
'end' '.'.
<<  <  GO  >  >>

Вернуться к началу сайта