[jboss-svn-commits] JBL Code SVN: r10612 - labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Mar 29 08:45:49 EDT 2007


Author: mark.proctor at jboss.com
Date: 2007-03-29 08:45:49 -0400 (Thu, 29 Mar 2007)
New Revision: 10612

Modified:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/DrlParser.java
Log:
-now uses AntlrReaderStream

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/DrlParser.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/DrlParser.java	2007-03-29 12:43:47 UTC (rev 10611)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/DrlParser.java	2007-03-29 12:45:49 UTC (rev 10612)
@@ -22,6 +22,7 @@
 import java.util.Iterator;
 import java.util.List;
 
+import org.antlr.runtime.ANTLRReaderStream;
 import org.antlr.runtime.ANTLRStringStream;
 import org.antlr.runtime.RecognitionException;
 import org.drools.lang.DRLLexer;
@@ -49,42 +50,24 @@
         return parser.getPackageDescr();
 
     }
+    
+    public PackageDescr parse(final Reader reader) throws DroolsParserException {
+        final DRLParser parser = getParser( reader );
+        compile( parser );
+        return parser.getPackageDescr();
 
-    private void compile(final DRLParser parser) throws DroolsParserException {
-        try {
-            parser.compilation_unit();
+    }    
 
-            makeErrorList( parser );
-        } catch ( final RecognitionException e ) {
-            throw new DroolsParserException( e );
-        }
-    }
 
-    /** Convert the antlr exceptions to drools parser exceptions */
-    private void makeErrorList(final DRLParser parser) {
-        for ( final Iterator iter = parser.getErrors().iterator(); iter.hasNext(); ) {
-            final RecognitionException recogErr = (RecognitionException) iter.next();
-            final ParserError err = new ParserError( parser.createErrorMessage( recogErr ),
-                                               recogErr.line,
-                                               recogErr.charPositionInLine );
-            this.results.add( err );
-        }
-    }
+//    /** Parse and build a rule package from a DRL source */
+//    public PackageDescr parse(final Reader reader) throws IOException,
+//                                            DroolsParserException {
+//        DRLParser parser = 
+//        
+//        //final StringBuffer text = getDRLText( reader );
+//        //return parse( text.toString() );
+//    }
 
-    /**
-     * @return An instance of a RuleParser should you need one (most folks will not).
-     */
-    private DRLParser getParser(final String text) {
-        return new DRLParser( new SwitchingCommonTokenStream( new DRLLexer( new ANTLRStringStream( text ) ) ) );
-    }
-
-    /** Parse and build a rule package from a DRL source */
-    public PackageDescr parse(final Reader reader) throws IOException,
-                                            DroolsParserException {
-        final StringBuffer text = getDRLText( reader );
-        return parse( text.toString() );
-    }
-
     /** 
      * Parse and build a rule package from a DRL source with a 
      * domain specific language.
@@ -147,4 +130,40 @@
     public List getErrors() {
         return this.results;
     }
+    
+    private void compile(final DRLParser parser) throws DroolsParserException {
+        try {
+            parser.compilation_unit();
+
+            makeErrorList( parser );
+        } catch ( final RecognitionException e ) {
+            throw new DroolsParserException( e );
+        }
+    }
+
+    /** Convert the antlr exceptions to drools parser exceptions */
+    private void makeErrorList(final DRLParser parser) {
+        for ( final Iterator iter = parser.getErrors().iterator(); iter.hasNext(); ) {
+            final RecognitionException recogErr = (RecognitionException) iter.next();
+            final ParserError err = new ParserError( parser.createErrorMessage( recogErr ),
+                                               recogErr.line,
+                                               recogErr.charPositionInLine );
+            this.results.add( err );
+        }
+    }
+
+    /**
+     * @return An instance of a RuleParser should you need one (most folks will not).
+     */
+    private DRLParser getParser(final String text) {
+        return new DRLParser( new SwitchingCommonTokenStream( new DRLLexer( new ANTLRStringStream( text ) ) ) );
+    }
+
+    private DRLParser getParser(final Reader reader) {
+        try {
+            return new DRLParser( new SwitchingCommonTokenStream( new DRLLexer( new ANTLRReaderStream( reader ) ) ) );
+        }catch (Exception e) {
+            throw new RuntimeException( "Unable to parser Reader", e);
+        }
+    }    
 }
\ No newline at end of file




More information about the jboss-svn-commits mailing list