syntax add tag
Hosch250
This compiles and runs:

```
static void Main()
{
    https://topanswers.xyz/csharp
}
```

Why isn't this a compiler error?
Top Answer
Hosch250
This compiles because the `http:` part parses as a line label, and the `//...` part parses as a comment.

You can check the parse tree and confirm this at [RoslynGenerator](https://jeuxjeux20.github.io/RoslynGenerator/).

```
SyntaxFactory.LabeledStatement(
    identifier: SyntaxFactory.Identifier(
        leading: SyntaxFactory.TriviaList(SyntaxFactory.Whitespace("    ")),
        text: "https",
        trailing: default),
    colonToken: SyntaxFactory.Token(
        leading: default,
        kind: SyntaxKind.ColonToken,
        trailing: SyntaxFactory.TriviaList(
            SyntaxFactory.Comment("//topanswers.xyz/csharp"),
            SyntaxFactory.LineFeed)),
    statement: SyntaxFactory.ExpressionStatement(
        expression: SyntaxFactory.IdentifierName(
            identifier: SyntaxFactory.Identifier(
                leading: default,
                text: "",
                trailing: default)),
        semicolonToken: SyntaxFactory.Token(
            leading: default,
            kind: SyntaxKind.SemicolonToken,
            text: "",
            valueText: "",
            trailing: default)))
```

The comment is part of the trailing trivia list on the colon token. If we had a statement, such as `Console.WriteLine("Something...");` after the `:` token, that would be included in the `statement` node in the tree.

Enter question or answer id or url (and optionally further answer ids/urls from the same question) from

Separate each id/url with a space. No need to list your own answers; they will be imported automatically.