Skip to content

Commit f06fed4

Browse files
Allow namespace block without namespace name and without qualifiers
1 parent 1dba01b commit f06fed4

File tree

4 files changed

+12
-13
lines changed

4 files changed

+12
-13
lines changed

doc/grammar.txt

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ namespace-header:
5050
<namespace-visibility> strict namespace
5151
<namespace-visibility> strict namespace <namespace-name>
5252
<namespace-visibility> namespace <namespace-name>
53-
private namespace
53+
<namespace-visibility> namespace
5454

5555
namespace-visibility:
5656
private
@@ -219,7 +219,7 @@ reference-structure:
219219

220220
reference-storage:
221221
<reference-storage-name>
222-
<reference-storage-name> : <decimal>
222+
<reference-storage-name> : <decimal-number>
223223
E
224224

225225
reference-storage-name:
@@ -559,8 +559,8 @@ palette-translation:
559559
createtranslation ( <expression> , <palette-range-list> )
560560

561561
palette-range-list:
562-
<palrange>
563-
<palrange-list> , <palrange>
562+
<palette-range>
563+
<palette-range-list> , <palette-range>
564564

565565
palette-range:
566566
// NOTE: Assignment is not parsed in the second expression because it will
@@ -584,15 +584,12 @@ assert:
584584
static assert ( <expression> ) ;
585585
static assert ( <expression> , <string> ) ;
586586

587-
buildmsg-statement:
588-
<buildmsg>
589-
590587
buildmsg:
591588
buildmsg ( <expression> ) <block-statement>
592589

593590
inline-assembly:
594-
> <inline-assembly-opcode> <nl>
595-
> <inline-assembly-opcode> <inline-assembly-argument-list> <nl>
591+
> <inline-assembly-opcode> <newline>
592+
> <inline-assembly-opcode> <inline-assembly-argument-list> <newline>
596593

597594
inline-assembly-opcode:
598595
<identifier>
@@ -858,6 +855,9 @@ character-escape-sequence:
858855
\\[oO][0-7]+
859856
\\[xX][0-9a-fA-F]+
860857

858+
newline:
859+
// Newline character
860+
861861
comment:
862862
[/][/][^\n]+ // Single-line comment.
863863
[/][*]([^*]*[*]+)+[/] // Multi-line comment.
@@ -921,6 +921,7 @@ context-sensitive-keyword:
921921
define
922922
disconnect
923923
encryptstrings
924+
endregion
924925
enter
925926
event
926927
import
@@ -936,6 +937,7 @@ context-sensitive-keyword:
936937
open
937938
pickup
938939
redreturn
940+
region
939941
reopen
940942
respawn
941943
unloading

scripts/project.php

100644100755
File mode changed.

scripts/version.php

100644100755
File mode changed.

src/parse/library.c

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -197,10 +197,7 @@ static void read_namespace_qualifier( struct parse* parse,
197197
}
198198

199199
static void read_namespace_name( struct parse* parse ) {
200-
if ( parse->tk == TK_ID ||
201-
// An unqualified, unnamed namespace does not do anything useful. Force
202-
// an unqualified namespace to have a name.
203-
! ( parse->ns_fragment->strict || parse->ns_fragment->hidden ) ) {
200+
if ( parse->tk == TK_ID ) {
204201
read_namespace_path( parse );
205202
}
206203
if ( parse->ns_fragment->path ) {

0 commit comments

Comments
 (0)