Changeset 1902

Show
Ignore:
Timestamp:
06/13/08 05:51:20 (6 months ago)
Author:
jdn
Message:

[Syntax] Added a directory for the templateparser, implemented a noop templateparser, and updated build.xml to include the templateparser in the build process

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/ProjectFortress/build.xml

    r1876 r1902  
    5959 <!-- parser --> 
    6060 <property name="parser"  location="${src}/${packagePrefix}/parser"/> 
    61  <property name="preparser"  location="${src}/${packagePrefix}/parser/preparser"/> 
     61 <property name="preparser" location="${src}/${packagePrefix}/parser/preparser"/> 
     62 <property name="templateparser"  location="${src}/${packagePrefix}/parser/templateparser"/> 
    6263 <property name="parserUtil"  location="${src}/${packagePrefix}/parser_util"/> 
    6364 <property name="precedence" location="${parserUtil}/precedence"/> 
     
    192193        <delete file="${parser}/Fortress.java"/> 
    193194        <delete file="${preparser}/PreFortress.java"/> 
     195        <delete file="${templateparser}/TemplateParser.java"/> 
    194196        <delete file="${precedenceResolver}/Operators.java"/> 
    195197        <delete file="${src}/com/sun/fortress/parser/precedence/resolver/Operators.java"/> <!-- No longer needed, but eases the upgrade--> 
     
    611613                    <srcfiles dir="${preparser}" includes="**/*.rats"/> 
    612614                </uptodate> 
     615                <uptodate targetfile="${templateparser}/TemplateParser.java"> 
     616                    <srcfiles dir="${templateparser}" includes="**/*.rats"/> 
     617                </uptodate> 
    613618            </and> 
    614619        </condition> 
     
    627632            <srcfiles dir="${preparser}" includes="**/*.rats"/> 
    628633        </uptodate> 
    629         <echo>Preparser up to date? ${parser.uptodate}</echo> 
     634        <echo>Preparser up to date? ${preparser.uptodate}</echo> 
     635    </target> 
     636 
     637    <target name="checkTemplateparserUptodate" depends="init"> 
     638        <uptodate property="templateparser.uptodate" targetfile="${templateparser}/TemplateParser.java"> 
     639            <srcfiles dir="${templateparser}" includes="**/*.rats"/> 
     640        </uptodate> 
     641        <echo>Templateparser up to date? ${templateparser.uptodate}</echo> 
    630642    </target> 
    631643 
     
    657669            <arg value="${src}"/> 
    658670            <arg value="PreFortress.rats"/> 
     671        </java> 
     672    </target> 
     673 
     674    <target name="templateparser" unless="templateparser.uptodate" 
     675            depends="checkTemplateparserUptodate" 
     676            description="Templateparser"> 
     677        <echo message="Rebuilding template parser..."/> 
     678       <java fork="yes" 
     679             failonerror="yes" 
     680             dir="${templateparser}" 
     681             classname="xtc.parser.Rats" 
     682             classpath="${xtc}/xtc.jar"> 
     683            <arg value="-in"/> 
     684            <arg value="${src}"/> 
     685            <arg value="TemplateParser.rats"/> 
    659686        </java> 
    660687    </target> 
     
    683710            <arg value="PreFortress.rats"/> 
    684711        </java> 
     712        <echo message="Rebuilding the templateparser..."/> 
     713        <java fork="yes" 
     714            failonerror="yes" 
     715            dir="${templateparser}" 
     716            classname="xtc.parser.Rats" 
     717            classpath="${xtc}/xtc.jar"> 
     718            <arg value="-in"/> 
     719            <arg value="${src}"/> 
     720            <arg value="TemplateParser.rats"/> 
     721        </java> 
    685722    </target> 
    686723 
  • trunk/ProjectFortress/src/com/sun/fortress/syntax_abstractions/phases/TemplateParser.java

    r1899 r1902  
    209209         * IOException. 
    210210         */ 
    211         private xtc.parser.Result invokeParseMethod(Fortress parser, Method method, int num) throws IOException { 
     211        private xtc.parser.Result invokeParseMethod(com.sun.fortress.parser.templateparser.TemplateParser parser, Method method, int num) throws IOException { 
    212212                try{ 
    213213                        return (xtc.parser.Result) method.invoke(parser, num); 
     
    221221        private Option<Node> parseTemplate(Span span, String transformation, String productionName) { 
    222222                BufferedReader in = Useful.bufferedStringReader(transformation.trim()); 
    223                 com.sun.fortress.parser.Fortress parser = 
    224                         new com.sun.fortress.parser.Fortress(in, span.getBegin().getFileName()); 
     223                com.sun.fortress.parser.templateparser.TemplateParser parser = 
     224                        new com.sun.fortress.parser.templateparser.TemplateParser(in, span.getBegin().getFileName()); 
    225225                Option<Method> parse = lookupExpression(parser.getClass(), productionName); 
    226226                if ( ! parse.isSome() ){