parser.cxx

changeset 9
d279af9afd6d
parent 8
c8bfa7e6ae1b
child 12
1bdbfcca2fc6
--- a/parser.cxx	Sat Jul 14 04:03:25 2012 +0300
+++ b/parser.cxx	Sat Jul 14 04:17:06 2012 +0300
@@ -61,20 +61,19 @@
 	while (Next()) {
 		// printf ("got token %s\n", token.chars());
 		if (!token.compare ("#include")) {
-			MustNext ();
+			str filepath = MustGetString ();
+			
 			// First ensure that the file can be opened
-			FILE* newfile = fopen (token.chars(), "r");
+			FILE* newfile = fopen (filepath.chars(), "r");
 			if (!newfile)
-				ParserError ("couldn't open included file `%s`!", token.chars());
+				ParserError ("couldn't open included file `%s`!", filepath.chars());
 			fclose (newfile);
-			ScriptReader* newreader = new ScriptReader (token.chars());
+			ScriptReader* newreader = new ScriptReader (filepath.chars());
 			newreader->BeginParse (w);
 		} else if (!token.compare ("state")) {
 			MUST_TOPLEVEL
 			
-			MustNext ();
-			
-			str statename = token;
+			str statename = MustGetString ();
 			
 			// State name must be a word.
 			if (statename.first (" ") != statename.len())
@@ -95,11 +94,11 @@
 			MUST_TOPLEVEL
 			
 			// Event definition
-			MustNext ();
+			str evname = MustGetString ();
 			
-			EventDef* e = FindEventByName (token);
+			EventDef* e = FindEventByName (evname);
 			if (!e)
-				ParserError ("bad event! got `%s`\n", token.chars());
+				ParserError ("bad event! got `%s`\n", evname.chars());
 			
 			MustNext ("{");
 			

mercurial