X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=tools%2Ftilemanager%2FParser.cs;h=22d7701cb57d14391d78ff39aa51f227da792189;hb=4ec331515c99600306e8193664bbe3198abb647d;hp=a09ccd9cecf42daeb3d48e3ebbf90ecaf8cf150f;hpb=d091bb359b3d5112bd3a6fb73def479bcb779b6f;p=supertux.git diff --git a/tools/tilemanager/Parser.cs b/tools/tilemanager/Parser.cs index a09ccd9ce..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; }