Приложение A. Синтаксис на езика UniPascal
83
Приложение 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 { ';'
19:
Statement }
19:
'end'.
<< < GO > >>
Вернуться к началу сайта