mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-05 16:11:06 +01:00
Change the syntax for `package` declarations from: ```carbon [package Foo] [library "bar"] api; [package Foo] [library "bar"] impl; ``` to ```carbon [package Foo] [library "bar"]; impl [package Foo] [library "bar"]; ```
Lexical conventions
Table of contents
Lexical elements
The first stage of processing a source file is the division of the source file into lexical elements.
A lexical element is one of the following:
-
a maximal sequence of whitespace characters
-
a word
-
a literal:
-
a comment
The sequence of lexical elements is formed by repeatedly removing the longest initial sequence of characters that forms a valid lexical element, with the following exception:
- When a numeric literal immediately follows a
.or->token, with no intervening whitespace, a real literal is never formed. Instead, the token will end no later than the next.character. For example,tuple.1.2is five tokens,tuple.1.2, not three tokens,tuple.1.2. However,tuple . 1.2is lexed as three tokens.