Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pre-processing line directive #1118

Open
logeshkumars0604 opened this issue May 24, 2024 · 0 comments
Open

Pre-processing line directive #1118

logeshkumars0604 opened this issue May 24, 2024 · 0 comments

Comments

@logeshkumars0604
Copy link

Type of issue

Spec incorrect

Description

Reference: Pre-processing line directive

Production fragment:

fragment PP_Compilation_Unit_Name_Character
    // Any Input_Character except "
    : ~('\u000D' | '\u000A'   | '\u0085' | '\u2028' | '\u2029' | '#')
    ;
  1. The above production fragment says that '#' is not allowed for PP_Compilation_Unit_Name_Character. But I can be able to use it (in C# 10) .

  2. Also, the comment states that " can't be used in PP_Compilation_Unit_Name_Character. But it is not mentioned in the grammar.

Production fragment:

fragment PP_Compilation_Unit_Name
    : '"' PP_Compilation_Unit_Name_Character+ '"'
    ;
  1. The above production fragment says, at least one PP_Compilation_Unit_Name_Character. But I can be able to use an empty string ("").

Page URL

https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure

Content source URL

https://github.com/dotnet/csharpstandard/blob/draft-v8/standard/lexical-structure.md

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant