I forgot to add that if I instead use the Java target, I get lexer exceptions thrown on invalid input.
On Tue, Apr 19, 2011 at 12:48 PM, Justin Holewinski < [email protected]> wrote: > I'm using the C# 3 port of Antlr (target and code generator) and I'm > experiencing a lack of lexer errors being generated. As a concrete example, > consider the following grammar: > > grammar CSTest; > > public > compilation_unit > : IDENTIFIER* EOF > ; > > IDENTIFIER > : (ID_PART) (ID_PART_OR_NUMBER)* > ; > > fragment > ID_PART > : ('a'..'z' | 'A'..'Z' | '_') > ; > > fragment > ID_PART_OR_NUMBER > : ID_PART > | '0'..'9' > ; > > WS > : (' '|'\r'|'\t'|'\n') { /*Skip();*/ $channel=Hidden; } > ; > > The only production in this grammar should allow for an arbitrary sequence > of identifiers, and it does. However, it also accepts ALL input, including > binary files and anything else I pipe into it. Is the default in the C# > target to silently ignore any lexing errors? In my driver program, I am not > seeing any throw exceptions when I call the compilation_unit rule. > > using System; > using System.IO; > using Antlr.Runtime; > > > namespace CSTest { > public class Program { > public static void Main(string[] args) { > string filename; > filename = args[0]; > if(!Path.IsPathRooted(filename)) { > filename = Path.Combine(Environment.CurrentDirectory, filename); > } > ICharStream input = new ANTLRFileStream(filename); > CSTestLexer lexer = new CSTestLexer(input); > CommonTokenStream tokens = new CommonTokenStream(lexer); > CSTestParser parser = new CSTestParser(tokens); > try { > parser.compilation_unit(); > } > catch(RecognitionException re) { > Console.Out.WriteLine("EXCEPTION"); > Console.Out.WriteLine(re.StackTrace); > } > > } > > } > > } > > -- > > Thanks, > > Justin Holewinski > > -- Thanks, Justin Holewinski List: http://www.antlr.org/mailman/listinfo/antlr-interest Unsubscribe: http://www.antlr.org/mailman/options/antlr-interest/your-email-address -- You received this message because you are subscribed to the Google Groups "il-antlr-interest" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/il-antlr-interest?hl=en.
