Skip to content

Commit

Permalink
Bug 499141 - [HTML5] Check in the Java to C++ translator. r+sr=jst
Browse files Browse the repository at this point in the history
  • Loading branch information
Ben Newman committed Jul 15, 2009
1 parent 1e05cf7 commit 425a713
Show file tree
Hide file tree
Showing 8 changed files with 233 additions and 0 deletions.
1 change: 1 addition & 0 deletions .hgignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
\.pyc$
(^|/)TAGS$
(^|/)\.DS_Store$
\.class$

# User files that may appear at the root
^\.mozconfig
Expand Down
54 changes: 54 additions & 0 deletions parser/html/java/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Makefile.
#
# The Initial Developer of the Original Code is
# Mozilla Corporation.
#
# Portions created by the Initial Developer are Copyright (C) 2009
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
# Ben Newman <b{enjam,newma}[email protected]>
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****

libs:: clean \
; cd javaparser && make libs && mv javaparser.jar ../ && cd .. && \
cd translator && make libs && mv translator.jar ../ && cd ..

sync:: clean \
; cd javaparser ; make sync ; cd .. ; \
cd translator ; make sync ; cd .. ; \
cd htmlparser ; make sync ; cd ..

translate:: \
; java -jar translator.jar htmlparser/src .. ../nsHtml5AtomList.h

clean:: \
; cd javaparser ; make clean ; cd .. ; \
cd translator ; make clean ; cd .. ; \
rm -rf *.jar
13 changes: 13 additions & 0 deletions parser/html/java/README.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
If this is your first time building the HTML5 parser, you need to execute the
following commands (from this directory) to bootstrap the translation:

make sync # fetch remote source files and licenses
make # build javaparser.jar and translator.jar
make translate # perform the Java-to-C++ translation

If you make changes to the translator or the javaparser, you can rebuild by
retyping 'make' in this directory. If you make changes to the HTML5 java
implementation, you can retranslate the java sources by retyping 'make
translate' in this directory.

Ben Newman (8 July 2009)
44 changes: 44 additions & 0 deletions parser/html/java/htmlparser/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Makefile.
#
# The Initial Developer of the Original Code is
# Mozilla Corporation.
#
# Portions created by the Initial Developer are Copyright (C) 2009
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
# Ben Newman <b{enjam,newma}[email protected]>
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****

SVN_BASE=http://svn.versiondude.net/whattf/htmlparser/trunk

sync:: \
; rm -rf src && \
svn co $(SVN_BASE)/src/nu/validator/htmlparser/impl src && \
find src -name .svn | xargs rm -rf
59 changes: 59 additions & 0 deletions parser/html/java/javaparser/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Makefile.
#
# The Initial Developer of the Original Code is
# Mozilla Corporation.
#
# Portions created by the Initial Developer are Copyright (C) 2009
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
# Ben Newman <b{enjam,newma}[email protected]>
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****

SVN_BASE=http://javaparser.googlecode.com/svn/trunk/JavaParser

libs:: \
; mkdir -p bin && \
find src -name "*.java" | \
xargs javac -g -d bin && \
jar cf javaparser.jar -C bin .

sync:: \
; rm -rf src && \
svn co $(SVN_BASE)/src && \
find src -name .svn | xargs rm -rf ; \
\
for file in COPYING COPYING.LESSER readme.txt ; \
do \
rm -f $$file ; \
svn cat $(SVN_BASE)/$$file > $$file ; \
done

clean:: \
; rm -rf bin javaparser.jar
59 changes: 59 additions & 0 deletions parser/html/java/translator/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Makefile.
#
# The Initial Developer of the Original Code is
# Mozilla Corporation.
#
# Portions created by the Initial Developer are Copyright (C) 2009
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
# Ben Newman <b{enjam,newma}[email protected]>
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****

SVN_BASE=http://svn.versiondude.net/whattf/htmlparser/trunk

libs:: \
; mkdir -p bin && \
find src -name "*.java" | \
xargs javac -cp ../javaparser.jar -g -d bin && \
jar cfm translator.jar manifest.txt -C bin .

sync:: \
; rm -rf src && \
svn co $(SVN_BASE)/translator-src src && \
find src -name .svn | xargs rm -rf ; \
\
for file in LICENSE.txt README.txt ; \
do \
rm -f $$file ; \
svn cat $(SVN_BASE)/$$file > $$file ; \
done

clean:: \
; rm -rf bin translator.jar
2 changes: 2 additions & 0 deletions parser/html/java/translator/manifest.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Main-Class: nu.validator.htmlparser.cpptranslate.Main
Class-Path: javaparser.jar
1 change: 1 addition & 0 deletions parser/html/javasrc

0 comments on commit 425a713

Please sign in to comment.