[antlr-interest] C# Antlr Problem (HANGED UP ANTLRInputStream)

Mohammed Ibrahim snouto at gmail.com
Wed Aug 15 10:20:06 PDT 2007


Hello  Everybody in this great Mailing list of antlr.

Im have been working with antlr from short time , i used it effectively in Java but i would like to use it in C# in Vs.Net 2005 , i wrote this piece of Too simple Grammar for antlr Tool 
Here is the Grammar

======================================
Hello.g
======

grammar hello;
options
{
   language = CSharp;
}
prog : stat+;
stat returns [string value] : GREETING{$value = $GREETING.text;} (LETTER{$value +=" "+$LETTER.text; })+;
GREETING: 'welcome'|'greeting'|'hello';
LETTER : ('a'..'z')+;
WS : ('"'|' '|'\r'|'\n'|'\t')+ {skip();};

===============================================

It Generated  helloLexer and HelloParser code Pages , But when i use it in C# it hangs at ANTLRInputStream Code line.

Here is the code.

===============================================================================
 using System;

 using System.Collections.Generic;

 using System.Text;

 using Antlr.StringTemplate;

 using antlr;

 using Antlr.Runtime;

 namespace ConsoleApplication2

 {

 class Program

 {

 static void Main(string[] args)

 {

 helloLexer Currentlexer = new helloLexer((ICharStream)new CharBuffer (Console.In));  

 /* here is the error professor it  
 gives me an exception telling me that Charbuffer cant be converted  
 into ICharStream , and i found that logically correct but i don't  
 know how to get things work in C# in java i used ANLTRInputStream but when i use it in C# it hangs at that line and  
the application becomes no longer responsive. i would like to know what is the problem ,  i need to have a good  
working code in v3.0 in C# like getting inputted data and then  
parsing it .
 

*/


 
helloParser Currentparser = new helloParser(new CommonTokenStream 
 (Currentlexer));

string result = Currentparser.stat();

 Console.WriteLine(result);

 Console.ReadLine();

 }

 }

 }



You see Console.In  Line when i expects Data from the user , The program Crashes There and gives me Exceptions Finally it stops.

How can i Pass this exception , I don't know what did i do to raise this exception ???????????????????????????

Second , i really want to know how to pass Data to the ANTLRInputStream Class in C# because in C# there is no StringBufferInputStream as in java ??????????????????????? To accept Data from the user as i did in Java here is the code in java


===============================================================
input = args[0];
ANTLRInputStream AntlrStream = new ANTLRInputStream(new StringBufferInputStream(input));
    helloLexer CurrentLexer = new helloLexer(AntlrStream);
    helloParser CurrentParser = new helloParser(new CommonTokenStream(CurrentLexer));
    String result = CurrentParser.stat();
    System.out.println(result);





Please Help me in this problem :(( i would like to effectively use Antlr in C# as i did in java ????????????????????????????/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.antlr.org/pipermail/antlr-interest/attachments/20070815/f491c20a/attachment-0001.html 


More information about the antlr-interest mailing list