source: parsers.xml @ 27

Last change on this file since 27 was 4, checked in by gnappo, 14 years ago

Import di weka.

File size: 3.4 KB
RevLine 
[4]1<?xml version="1.0" encoding="UTF-8"?>
2
3<!--
4  ANT file for generating JFlex/CUP parsers.
5
6  If you want to add a new parser, you basically only need to do the
7  following two things:
8  - write JFlex and CUP files, i.e., Parser.cup and Scanner.jflex, for your
9    parser and place them in a separated sub-package
10  - add an "antcall" to the "parsers" target, with the sub-package as parameter
11    (the sub-package your parser files reside in)
12
13  For an example, please refer to the "weka.core.mathematicalexpression" parser.
14
15  URLs:
16  - JFlex
17    http://jflex.de/
18  - CUP
19    http://www2.cs.tum.edu/projects/cup/
20
21  Author:  FracPete (fracpete at waikato dot ac dot nz)
22  Version: $Revision: 1.2 $
23-->
24
25<project name="weka-parsers" default="compile" basedir=".">
26   <property name="build.compiler" value="modern" />
27   <property name="debug"          value="on" />
28   <property name="deprecation"    value="off" />
29   <property name="optimization"   value="off" />
30   <property name="build"          value="build"/>
31   <property name="lib"            value="lib"/>
32   <property name="parserpkg"      value="" />
33   <property name="src"            value="src/main/java" />
34
35   <path id="project.class.path">
36     <fileset dir="${lib}">
37       <include name="*.jar"/>
38       <include name="*.zip"/>
39     </fileset>
40     <pathelement location="${build}/classes"/>
41     <pathelement path="${java.class.path}" />
42   </path>
43
44   <target name="init" description="Initializes the build environment.">
45      <!-- initialize Weka -->
46      <ant antfile="build.xml" target="init_compile"/>
47   </target>
48
49   <target name="compile" depends="init" description="Compiles Weka.">
50      <!-- compile Weka -->
51      <ant antfile="build.xml" target="compile"/>
52      <!-- generate parsers -->
53      <antcall target="parsers"/>
54      <!-- recompile Weka -->
55      <ant antfile="build.xml" target="compile"/>
56   </target>
57   
58   <!-- central target for calling the parser targets -->
59   <target name="parsers" depends="init" description="Generates all the parsers subsequently.">
60      <antcall target="parser">
61         <param name="parserpkg" value="weka/core/mathematicalexpression"/>
62      </antcall>
63      <antcall target="parser">
64         <param name="parserpkg" value="weka/filters/unsupervised/instance/subsetbyexpression"/>
65      </antcall>
66      <antcall target="parser">
67         <param name="parserpkg" value="weka/core/json"/>
68      </antcall>
69      <!-- add calls for more parsers here -->
70   </target>
71
72   <!-- generates a parser situated in the ${parserpkg} sub-package
73        (using Parser.cup and Scanner.jflex). -->
74   <target name="parser" description="Generates the parser ${parserpkg}.">
75      <echo message="Generating lexer (${parserpkg})."/>
76      <java classname="JFlex.Main">
77         <classpath refid="project.class.path"/>
78         <arg value="--jlex"/>
79         <arg value="--quiet"/>
80         <arg value="--nobak"/>
81         <arg value="--outdir"/>
82         <arg value="${src}/${parserpkg}"/>
83         <arg value="${src}/${parserpkg}/Scanner.jflex"/>
84      </java>
85      <echo message="Generating parser (${parserpkg})."/>
86      <java classname="java_cup.Main">
87         <classpath refid="project.class.path"/>
88         <arg value="-parser"/>
89         <arg value="Parser"/>
90         <arg value="-interface"/>
91         <arg value="-destdir"/>
92         <arg value="${src}/${parserpkg}"/>
93         <arg value="${src}/${parserpkg}/Parser.cup"/>
94      </java>
95   </target>
96</project>
Note: See TracBrowser for help on using the repository browser.