@@ -92,15 +92,6 @@ strll** getnext(){
92
92
return & next ;
93
93
}
94
94
95
- strll * peekn (unsigned n ){
96
- strll * retval = next ;;
97
- while (n ){
98
- n -- ;
99
- if (retval == NULL ) return NULL ;
100
- retval = retval -> right ;
101
- }
102
- return retval ;
103
- }
104
95
105
96
//print a string out.
106
97
static void print_string_out (char * text ){
@@ -201,7 +192,7 @@ static inline void parse_do_metaprogramming(){
201
192
return ;
202
193
}
203
194
204
- static void parse_repeatedly_try_metaprogramming (){
195
+ static inline void parse_repeatedly_try_metaprogramming (){
205
196
while (1 ){
206
197
if (peek () == NULL ) return ;
207
198
if (peek ()-> data != TOK_OPERATOR ) return ;
@@ -633,7 +624,7 @@ static void parse_gvardecl(){
633
624
type t = {0 };
634
625
int64_t cval ;
635
626
double fval ;
636
- uint64_t symid = 0xFFffFFffFFff ;
627
+ uint64_t symid = ~( uint64_t ) 0 ;
637
628
set_is_codegen (0 );
638
629
gvar_qualifier_top :;
639
630
parse_repeatedly_try_metaprogramming ();
@@ -872,8 +863,10 @@ static void parse_datastmt(){
872
863
uint64_t is_codegen = 0 ;
873
864
uint64_t is_noexport = 0 ;
874
865
uint64_t symid ;
866
+ /*Checked at callsite...
875
867
require(peek()->data == TOK_KEYWORD, "data statement must begin with \"data\" ");
876
868
require(ID_KEYW(peek()) == ID_KEYW_STRING("data"), "data statement must begin with \"data\" ");
869
+ */
877
870
consume ();
878
871
set_is_codegen (0 );
879
872
data_qualifiers_top :;
@@ -1247,6 +1240,8 @@ void parse_fn(int is_method){
1247
1240
uint64_t k ;
1248
1241
t .basetype = BASE_VOID ; //made explicit...
1249
1242
set_is_codegen (0 );
1243
+ //these were checked at the callsite...
1244
+ /*
1250
1245
if(!is_method){
1251
1246
require(peek()->data == TOK_KEYWORD, "fn statement must begin with \"fn\"");
1252
1247
require(ID_KEYW(peek()) == ID_KEYW_STRING("fn"), "fn statement must begin with \"fn\"");
@@ -1255,6 +1250,7 @@ void parse_fn(int is_method){
1255
1250
require(peek()->data == TOK_KEYWORD, "method statement must begin with \"method\"");
1256
1251
require(ID_KEYW(peek()) == ID_KEYW_STRING("method"), "fn statement must begin with \"fn\"");
1257
1252
}
1253
+ */
1258
1254
consume (); //Eat fn or method
1259
1255
fn_qualifier_top :;
1260
1256
parse_repeatedly_try_metaprogramming (); //Immediately after fn/method, allow a parsehook invocation...
0 commit comments