Bladeren bron

changed conditional compilation from #cond to #if cond

Nicolas Cannasse 19 jaren geleden
bovenliggende
commit
cf38144aa9
1 gewijzigde bestanden met toevoegingen van 14 en 14 verwijderingen
  1. 14 14
      parser.ml

+ 14 - 14
parser.ml

@@ -383,18 +383,22 @@ let parse code file =
 				mstack := l;
 				skip_tokens false;
 				next_token())			
-		| Macro s ->
-			enter_macro s (snd tk);
+		| Macro "if" ->
+			enter_macro();
 			next_token()
 		| _ ->
 			tk
 
-	and enter_macro s p =
-		if s = "error" then error Unimplemented p;
-		if Hashtbl.mem defines s then
-			mstack := p :: !mstack
-		else
-			skip_tokens true
+	and enter_macro() =
+		match Lexer.token code with
+		| (Const (Ident s),p) ->
+			if s = "error" then error Unimplemented p;
+			if Hashtbl.mem defines s then
+				mstack := p :: !mstack
+			else
+				skip_tokens true		
+		| _ ->
+			serror()
 	
 	and skip_tokens test =
 		let rec loop() =
@@ -405,12 +409,8 @@ let parse code file =
 			| Macro "else" when not test ->
 				loop()
 			| Macro "else" ->
-				(match Lexer.token code with
-				| (Const (Ident s),p) ->
-					enter_macro s p
-				| _ ->
-					serror())
-			| Macro s ->
+				enter_macro()
+			| Macro "if" ->
 				ignore(skip_tokens false);
 				loop()
 			| Eof ->