Reinstate the java->c++ source, generator code.
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
These scripts export the Java-to-C++ translator and the java source files that
|
||||
implement the HTML5 parser. The exported translator may be used (with no
|
||||
external dependencies) to translate the exported java source files into Gecko-
|
||||
compatible C++.
|
||||
|
||||
Hacking the translator itself still requires a working copy of the Java HTML5
|
||||
parser repository, but hacking the parser (modifying the Java source files and
|
||||
performing the translation) should now be possible using only files committed
|
||||
to the mozilla source tree.
|
||||
|
||||
Run any of these scripts without arguments to receive usage instructions.
|
||||
|
||||
make-translator-jar.sh: compiles the Java-to-C++ translator into a .jar file
|
||||
export-java-srcs.sh: exports minimal java source files implementing the
|
||||
HTML5 parser
|
||||
export-translator.sh: exports the compiled translator and javaparser.jar
|
||||
export-all.sh: runs the previous two scripts
|
||||
util.sh: provides various shell utility functions to the
|
||||
scripts listed above (does nothing if run directly)
|
||||
|
||||
All path arguments may be either absolute or relative. This includes the path
|
||||
to the script itself ($0), so the directory from which you run these scripts
|
||||
doesn't matter.
|
||||
|
||||
Ben Newman (7 July 2009)
|
||||
@@ -0,0 +1,24 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
SCRIPT_DIR=`dirname $0`
|
||||
source $SCRIPT_DIR/util.sh
|
||||
SCRIPT_DIR=`abs $SCRIPT_DIR`
|
||||
|
||||
if [ $# -eq 1 ]
|
||||
then
|
||||
MOZ_PARSER_PATH=`abs $1`
|
||||
else
|
||||
echo
|
||||
echo "Usage: sh `basename $0` /path/to/mozilla-central/parser/html"
|
||||
echo "Note that relative paths will work just fine."
|
||||
echo
|
||||
exit 1
|
||||
fi
|
||||
|
||||
$SCRIPT_DIR/export-translator.sh $MOZ_PARSER_PATH
|
||||
$SCRIPT_DIR/export-java-srcs.sh $MOZ_PARSER_PATH
|
||||
|
||||
echo
|
||||
echo "Now go to $MOZ_PARSER_PATH and run"
|
||||
echo " java -jar javalib/translator.jar javasrc . nsHtml5AtomList.h"
|
||||
echo
|
||||
@@ -0,0 +1,25 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
SCRIPT_DIR=`dirname $0`
|
||||
source $SCRIPT_DIR/util.sh
|
||||
SCRIPT_DIR=`abs $SCRIPT_DIR`
|
||||
|
||||
SRCDIR=`abs $SCRIPT_DIR/../src/nu/validator/htmlparser/impl`
|
||||
|
||||
if [ $# -eq 1 ]
|
||||
then
|
||||
MOZ_PARSER_PATH=`abs $1`
|
||||
else
|
||||
echo
|
||||
echo "Usage: sh `basename $0` /path/to/mozilla-central/parser/html"
|
||||
echo "Note that relative paths will work just fine."
|
||||
echo
|
||||
exit 1
|
||||
fi
|
||||
|
||||
SRCTARGET=$MOZ_PARSER_PATH/javasrc
|
||||
|
||||
rm -rf $SRCTARGET
|
||||
mkdir $SRCTARGET
|
||||
# Avoid copying the .svn directory:
|
||||
cp -rv $SRCDIR/*.java $SRCTARGET
|
||||
@@ -0,0 +1,24 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
SCRIPT_DIR=`dirname $0`
|
||||
source $SCRIPT_DIR/util.sh
|
||||
SCRIPT_DIR=`abs $SCRIPT_DIR`
|
||||
|
||||
LIBDIR=`abs $SCRIPT_DIR/../translator-lib`
|
||||
|
||||
if [ $# -eq 1 ]
|
||||
then
|
||||
MOZ_PARSER_PATH=`abs $1`
|
||||
else
|
||||
echo
|
||||
echo "Usage: sh `basename $0` /path/to/mozilla-central/parser/html"
|
||||
echo "Note that relative paths will work just fine."
|
||||
echo "Be sure that you have run `dirname $0`/make-translator-jar.sh before running this script."
|
||||
echo
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LIBTARGET=$MOZ_PARSER_PATH/javalib
|
||||
|
||||
rm -rf $LIBTARGET
|
||||
cp -rv $LIBDIR $LIBTARGET
|
||||
@@ -0,0 +1,63 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
SCRIPT_DIR=`dirname $0`
|
||||
source $SCRIPT_DIR/util.sh
|
||||
SCRIPT_DIR=`abs $SCRIPT_DIR`
|
||||
|
||||
SRCDIR=`abs $SCRIPT_DIR/../translator-src`
|
||||
BINDIR=`abs $SCRIPT_DIR/../translator-bin`
|
||||
LIBDIR=`abs $SCRIPT_DIR/../translator-lib`
|
||||
|
||||
if [ $# -eq 1 ]
|
||||
then
|
||||
JAVAPARSER_JAR_PATH=`abs $1`
|
||||
else
|
||||
echo
|
||||
echo "Usage: sh `basename $0` /path/to/javaparser-1.0.7.jar"
|
||||
echo "Note that relative paths will work just fine."
|
||||
echo "Obtain javaparser-1.0.7.jar from http://code.google.com/p/javaparser"
|
||||
echo
|
||||
exit 1
|
||||
fi
|
||||
|
||||
set_up() {
|
||||
rm -rf $BINDIR; mkdir $BINDIR
|
||||
rm -rf $LIBDIR; mkdir $LIBDIR
|
||||
cp $JAVAPARSER_JAR_PATH $LIBDIR/javaparser.jar
|
||||
}
|
||||
|
||||
write_manifest() {
|
||||
rm -f $LIBDIR/manifest
|
||||
echo "Main-Class: nu.validator.htmlparser.cpptranslate.Main" > $LIBDIR/manifest
|
||||
echo "Class-Path: javaparser.jar" >> $LIBDIR/manifest
|
||||
}
|
||||
|
||||
compile_translator() {
|
||||
find $SRCDIR -name "*.java" | \
|
||||
xargs javac -cp $LIBDIR/javaparser.jar -g -d $BINDIR
|
||||
}
|
||||
|
||||
generate_jar() {
|
||||
jar cvfm $LIBDIR/translator.jar $LIBDIR/manifest -C $BINDIR .
|
||||
}
|
||||
|
||||
clean_up() {
|
||||
rm -f $LIBDIR/manifest
|
||||
}
|
||||
|
||||
success_message() {
|
||||
echo
|
||||
echo "Successfully generated directory \"$LIBDIR\" with contents:"
|
||||
echo
|
||||
ls -al $LIBDIR
|
||||
echo
|
||||
echo "Now run `dirname $0`/export-all.sh with no arguments and follow the usage instructions."
|
||||
echo
|
||||
}
|
||||
|
||||
set_up && \
|
||||
compile_translator && \
|
||||
write_manifest && \
|
||||
generate_jar && \
|
||||
clean_up && \
|
||||
success_message
|
||||
@@ -0,0 +1,23 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
abs() {
|
||||
local rel
|
||||
local p
|
||||
if [ $# -ne 1 ]
|
||||
then
|
||||
rel=.
|
||||
else
|
||||
rel=$1
|
||||
fi
|
||||
if [ -d $rel ]
|
||||
then
|
||||
pushd $rel > /dev/null
|
||||
p=`pwd`
|
||||
popd > /dev/null
|
||||
else
|
||||
pushd `dirname $rel` > /dev/null
|
||||
p=`pwd`/`basename $rel`
|
||||
popd > /dev/null
|
||||
fi
|
||||
echo $p
|
||||
}
|
||||
Reference in New Issue
Block a user