public static MapData LoadFrom(TextReader reader) { var lexer = new UdmfLexer(reader); var result = UdmfParser.Parse(lexer.Scan()); return(UdmfSemanticAnalyzer.Process(result)); }
private static Token[] Scan(string input) { using (var stringReader = new StringReader(input)) { var lexer = new UdmfLexer(stringReader); return(lexer.Scan().ToArray()); } }
public void ShouldHandleParsingMapWithSingleLineComment() { var map = @" // Here is a comment namespace = ""Doom"";"; var lexer = new UdmfLexer(map); var parser = new UdmfParser(lexer); ParseResult result = parser.Parse(); Assert.That(result.IsSuccess, Is.True); }
public void ShouldHandleLexingDemoMap() { var map = DemoMap.Create(); using (var stream = new MemoryStream()) { map.WriteTo(stream); stream.Position = 0; using (var textReader = new StreamReader(stream, Encoding.ASCII)) { var lexer = new UdmfLexer(textReader); var result = lexer.Scan().ToArray(); } } }
public void ShouldHandleParsingDemoMap() { var map = DemoMap.Create(); using (var stream = new MemoryStream()) { map.WriteTo(stream); stream.Position = 0; using (var textReader = new StreamReader(stream, Encoding.ASCII)) { var lexer = new UdmfLexer(textReader); var parser = new UdmfParser(lexer); ParseResult result = parser.Parse(); Assert.That(result.IsSuccess, Is.True); } } }
public void ShouldHandleParsingDemoMap() { var map = DemoMap.Create(); using (var fs = File.OpenWrite("text.udmf")) { map.WriteTo(fs); } using (var stream = new MemoryStream()) { map.WriteTo(stream); stream.Position = 0; using (var textReader = new StreamReader(stream, Encoding.ASCII)) { var lexer = new UdmfLexer(textReader); var result = UdmfParser.TranslationUnit.ParseOrThrow(lexer.Scan()); } } }
public void ShouldHandleParsingDemoMap() { var map = DemoMap.Create(); using (var fs = File.OpenWrite(Path.Combine(TestContext.CurrentContext.TestDirectory, "text.udmf"))) { map.WriteTo(fs); } using (var stream = new MemoryStream()) { map.WriteTo(stream); stream.Position = 0; using (var textReader = new StreamReader(stream, Encoding.ASCII)) { var lexer = new UdmfLexer(textReader); var result = UdmfParser.Parse(lexer.Scan()).ToArray(); } } }