X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=tools%2Ftilemanager%2FParser.cs;h=22d7701cb57d14391d78ff39aa51f227da792189;hb=f406067af6cbeb0a638078fe1d386d092583909c;hp=daa0ade11622435d57c326ad7777e160e2053564;hpb=66979214800e01bb345f9016a87e15d30251b99d;p=supertux.git diff --git a/tools/tilemanager/Parser.cs b/tools/tilemanager/Parser.cs index daa0ade11..22d7701cb 100644 --- a/tools/tilemanager/Parser.cs +++ b/tools/tilemanager/Parser.cs @@ -1,3 +1,4 @@ +// $Id$ using System; using System.IO; @@ -9,14 +10,14 @@ public class Parser { START_LIST, END_LIST, SYMBOL, - INTEGER, + INTEGER, STRING, REAL, BOOLEAN }; private Lexer lexer; private Lexer.TokenType token; - + public Parser(StreamReader stream) { lexer = new Lexer(stream); } @@ -31,7 +32,7 @@ public class Parser { depth = 0; return false; } - + /* Console.WriteLine("Token: " + token.ToString() + " - " + lexer.TokenString); @@ -63,6 +64,14 @@ public class Parser { return true; } + public static void ParseIntList(Parser parser, System.Collections.Generic.List intList) { + int d = parser.Depth; + while(parser.Depth >= d) { + intList.Add(parser.IntegerValue); + parser.Parse(); + } + } + private LispType type; public LispType Type { get { return type; } @@ -83,7 +92,7 @@ public class Parser { get { return Int32.Parse(lexer.TokenString); } } public bool BoolValue { - get { return StringValue == "t" ? true : false; } + get { return StringValue == "t"; } } public float FloatValue { get { return Single.Parse(lexer.TokenString); }