Приложение A. Синтаксис языка UniPascal
85
Приложение A. Синтаксис языка UniPascal
Синтаксис языка UniPascal представлен при помощи Расширенных Форм Бэкуса-
Наура (РБНФ).
1:  Digit =
'0'|'1'|'2'|'3'|'4'|'5'|'6'|'7'|'8'|'9'.
2: Letter =
'_'|'A'|'B'|'C'|'D'|'E'|'F'|'G'|'H'|
2:
'I'|'J'|'K'|'L'|'M'|'N'|'O'|'P'|'Q'|
2:
'R'|'S'|'T'|'U'|'V'|'W'|'X'|'Y'|'Z'|
 2:
    'a'|'b'|'c'|'d'|'e'|'f'|'g'|'h'|
 2:
'i'|'j'|'k'|'l'|'m'|'n'|'o'|'p'|'q'|
2:
'r'|'s'|'t'|'u'|'v'|'w'|'x'|'y'|'z'.
3: ASCII_8 =
Digit | Letter |
3:
'!'|'"'|'#'|'$'|'%'|'&'|"'"|'('|
3:
')'|'*'|'+'|','|'-'|'.'|'/'|':'|
3:
';'|'<'|'='|'>'|'?'|'*'|'['|'\'|
3:
']'|'^'|'_'|' '|'{'|'|'|'}'|'~'.
4: Ident =
Letter { Letter | Digit }.
5: QualIdent =
[Ident '.'] Ident.
6: IdentList =
Ident { ',' Ident }.
7: HexDigit =
Digit | 'A'| 'B'| 'C'| 'D'| 'E'| 'F'|
7:
        'a'| 'b'| 'c'| 'd'| 'e'| 'f'.
8: Decimal =
Digit { Digit | '_' }.
9: IntConst =
Decimal |
9:
('$' HexDigit { HexDigit | '_' }).
10: Sign =
[ '+' | '-'].
11: ScaleFactor =
('E' | 'e') Sign Decimal.
12: RealConstant =
Decimal (('.' Decimal [ScaleFactor]) |
12:
         (['.' Decimal] ScaleFactor)).
13: SignedRealConst =
Sign RealConstant.
14: SignedIntConst =
Sign IntConst.
15: CharConst =
'"' ASCII_8 '"'|
15:
"'" ASCII_8 "'"| '#'IntConst.
16: StringConst =
{ '"' { ASCII_8 } '"' |
16:
  "'" { ASCII_8 } "'" |
16:
  CharConst } |
16:
'""' | "''".
17: Comment =
('{'  { ASCII_8 }  '}') |
17:
('(*' { ASCII_8 } '*)').
18: Program =
ProgramHeading
18:
  UsesClause
18:
Block '.'.
19: Block =
[ Declarations ]
19:
'begin'
19:
   Statement { ';'
<<  <  GO  >  >>

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