CATEGORII DOCUMENTE |
This specification presents the syntax of the C# programming language using two grammars. The lexical grammar (2.2.2) defines how Unicode characters are combined to form line terminators, white space, comments, tokens, and pre-processing directives. The syntactic grammar (2.2.3) defines how the tokens resulting from the lexical grammar are combined to form C# programs.
The lexical and syntactic grammars are presented using grammar productions. Each grammar production defines a non-terminal symbol and the possible expansions of that non-terminal symbol into sequences of non-terminal or terminal symbols. In grammar productions, non-terminal symbols are shown in italic type, and terminal symbols are shown in a fixed-width font.
The first line of a grammar production is the name of the non-terminal symbol being defined, followed by a colon. Each successive indented line contains a possible expansion of the non-terminal given as a sequence of non-terminal or terminal symbols. For example, the production:
while-statement:
while ( boolean-expression ) embedded-statement
defines a while-statement to consist of the token while, followed by the token "(", followed by a boolean-expression, followed by the token ")", followed by an embedded-statement.
When there is more than one possible expansion of a non-terminal symbol, the alternatives are listed on separate lines. For example, the production:
statement-list:
statement
statement-list statement
defines a statement-list to either consist of a statement or consist of a statement-list followed by a statement. In other words, the definition is recursive and specifies that a statement list consists of one or more statements.
A subscripted suffix "opt" is used to indicate an optional symbol. The production:
block:
is shorthand for:
block:
and defines a block to consist of an optional statement-list enclosed in "" tokens.
Alternatives are normally listed on separate lines, though in cases where there are many alternatives, the phrase "one of" may precede a list of expansions given on a single line. This is simply shorthand for listing each of the alternatives on a separate line. For example, the production:
real-type-suffix: one of
F f
D d M m
is shorthand for:
real-type-suffix:
F
f
D
d
M
m
The lexical grammar of C# is presented in 2.3, 2.4, and 2.5. The terminal symbols of the lexical grammar are the characters of the Unicode character set, and the lexical grammar specifies how characters are combined to form tokens (2.4), white space (2.3.2), comments (2.3.3), and pre-processing directives (2.5).
Every source file in a C# program must conform to the input production of the lexical grammar (2.3).
The syntactic grammar of C# is presented in the chapters and appendices that follow this chapter. The terminal symbols of the syntactic grammar are the tokens defined by the lexical grammar, and the syntactic grammar specifies how tokens are combined to form C# programs.
Every source file in a C# program must conform to the compilation-unit production of the syntactic grammar (9.1).
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 1001
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved