@@ -37,11 +37,13 @@ class Keyword(Token):
3737 """
3838
3939 def __init__ (self , name , text , serialization_code ,
40- classification = 'Keyword' ):
40+ classification = 'Keyword' ,
41+ requires_leading_space = False , requires_trailing_space = True ):
4142 Token .__init__ (self , name , 'kw_' + text , serialization_code ,
4243 unprefixed_kind = text , text = text ,
4344 classification = classification , is_keyword = True ,
44- requires_trailing_space = True )
45+ requires_leading_space = requires_leading_space ,
46+ requires_trailing_space = requires_trailing_space )
4547
4648 def macro_name (self ):
4749 return "KEYWORD"
@@ -171,7 +173,8 @@ def macro_name(self):
171173 StmtKeyword ('Defer' , 'defer' , serialization_code = 23 ),
172174 StmtKeyword ('If' , 'if' , serialization_code = 24 ),
173175 StmtKeyword ('Guard' , 'guard' , serialization_code = 25 ),
174- StmtKeyword ('Do' , 'do' , serialization_code = 26 ),
176+ StmtKeyword ('Do' , 'do' , requires_trailing_space = False ,
177+ serialization_code = 26 ),
175178 StmtKeyword ('Repeat' , 'repeat' , serialization_code = 27 ),
176179 StmtKeyword ('Else' , 'else' , serialization_code = 28 ),
177180 StmtKeyword ('For' , 'for' , serialization_code = 29 ),
@@ -184,8 +187,10 @@ def macro_name(self):
184187 StmtKeyword ('Switch' , 'switch' , serialization_code = 36 ),
185188 StmtKeyword ('Case' , 'case' , serialization_code = 37 ),
186189 StmtKeyword ('Default' , 'default' , serialization_code = 38 ),
187- StmtKeyword ('Where' , 'where' , serialization_code = 39 ),
188- StmtKeyword ('Catch' , 'catch' , serialization_code = 40 ),
190+ StmtKeyword ('Where' , 'where' , requires_leading_space = True ,
191+ serialization_code = 39 ),
192+ StmtKeyword ('Catch' , 'catch' , requires_leading_space = True ,
193+ requires_trailing_space = False , serialization_code = 40 ),
189194 StmtKeyword ('Throw' , 'throw' , serialization_code = 50 ),
190195
191196 # Expression keywords
0 commit comments