ECMA-334 C# Language Specification9.3: Lexical analysis |
The input production defines the lexical structure of a C# source file. Each source file in a C# program must conform to this lexical grammar production.
input-section
opt input-section-part
input-section
input-section-part
input-elements
opt new-line
pp-directive
input-element
input-elements
input-element
whitespace
comment
token
Five basic elements make up the lexical structure of a C# source file: Line terminators (9.3.1), white space (9.3.3), comments (9.3.2), tokens (9.4), and pre-processing directives (9.5). Of these basic elements, only tokens are significant in the syntactic grammar of a C# program (9.2.2).
The lexical processing of a C# source file consists of reducing the file into a sequence of tokens which becomes the input to the syntactic analysis. Line terminators, white space, and comments can serve to separate tokens, and pre-processing directives can cause sections of the source file to be skipped, but otherwise these lexical elements have no impact on the syntactic structure of a C# program.
When several lexical grammar productions match a sequence of characters in a source file, the lexical processing always forms the longest possible lexical element.
In This Section: