wintermute-devel team mailing list archive
-
wintermute-devel team
-
Mailing list archive
-
Message #00077
[Merge] lp:~wintermute-devel/wintermute/linguistics-devel into lp:~wintermute-devel/wintermute/linguistics
Jacky Alciné has proposed merging lp:~wintermute-devel/wintermute/linguistics-devel into lp:~wintermute-devel/wintermute/linguistics.
Requested reviews:
Wintermute Developers (wintermute-devel): codebase
For more details, see:
https://code.launchpad.net/~wintermute-devel/wintermute/linguistics-devel/+merge/55005
I messed up the other proposal. This codebase should be approved for merging *after* we complete some parts of the blueprint it targets at.
--
https://code.launchpad.net/~wintermute-devel/wintermute/linguistics-devel/+merge/55005
Your team Wintermute Developers is requested to review the proposed merge of lp:~wintermute-devel/wintermute/linguistics-devel into lp:~wintermute-devel/wintermute/linguistics.
=== added file '.bzrignore'
--- .bzrignore 1970-01-01 00:00:00 +0000
+++ .bzrignore 2011-03-27 15:48:31 +0000
@@ -0,0 +1,1 @@
+.bzr
=== renamed file '.bzrignore' => '.bzrignore.moved'
=== added file 'HACKING'
--- HACKING 1970-01-01 00:00:00 +0000
+++ HACKING 2011-03-27 15:48:31 +0000
@@ -0,0 +1,10 @@
+** Tweak panlingua-core to use less memory, in a sense, have pointers destroyed
+ when they aren't needed.
+
+** Find a way to separate the need of having to read the Panlingua database from
+ disk and make it happen via a hub of some sort. This way, the internals of
+ Panlingua can transparently pull data from multiple data sources like from
+ a local disk, or from a local server, or an online server.
+
+** Implement the 'create' feature in wintermute-cli in a separate class to permit
+ "on-the-fly" generation of entire language sets.
=== added file 'INSTALL'
--- INSTALL 1970-01-01 00:00:00 +0000
+++ INSTALL 2011-03-27 15:48:31 +0000
@@ -0,0 +1,32 @@
+ *
+ * The code within this directory is free software; you can
+ * redistribute it and/or modify it under the terms of the GNU Library
+ * General Public License as published by the Free Software Foundation;
+ * either version 3 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+
+Please note that all of these projects have been created in NetBeans and
+can be just loaded and compiled. The wintrlingua-cli provides a command
+line interface for Wintermute's Linguistics. If compiled correctly, the folder /bin
+should be populated with binaries. The folder /bin/store is vital to
+Wintermute's Linguistics; it contains the Wintermute's Linguisticsl database.
+
+If you're going to compile the files from hand, be sure to have the
+development files for sigc++ >= 2.0, glibmm and giomm on your system. The pkg-config
+is `pkg-config --cflags --libs sigc++-2.0 glibmm-2.4 giomm-2.4`. The command to install them is:
+'sudo apt-get install libglibmm-2.4 libgiomm-2.4 sigc++-dev'
+
+Also, wintrlingua-en depends on wintrlingua-core, and wintrlingua-cli relies on
+both on wintrlingua-en only at the moment.
+
+The executables are usually in the 'build' folders.
\ No newline at end of file
=== added file 'README'
--- README 1970-01-01 00:00:00 +0000
+++ README 2011-03-27 15:48:31 +0000
@@ -0,0 +1,28 @@
+ *
+ *
+ * The code within this directory is free software; you can
+ * redistribute it and/or modify it under the terms of the GNU Library
+ * General Public License as published by the Free Software Foundation;
+ * either version 3 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+
+The Panlingua engine, named after Chamount Devin's theory of Panlingua,
+is the core linguistics module for the Wintermute project.
+
+The Panlingua engine has been distrubuted into two initial folders, the
+panlingua-core folder and the panlingua-shell library. The panlingua-core
+library is the heart of Panlingua, see the README in the folder for more
+information. The panlingua-shell folder contains the tool to create a
+Panlingua parser for a given language.
+
+See 'INSTALL' for compilation instructions.
=== renamed file 'README' => 'README.moved'
=== added file 'TODO'
--- TODO 1970-01-01 00:00:00 +0000
+++ TODO 2011-03-27 15:48:31 +0000
@@ -0,0 +1,29 @@
+*** EXAMINE .cpp files for bit-size work.
+
+*** Complete the locale set for the following languages:
+ # Someone needs to find a list of all locales available, similar to the locales
+ # available for time zone unification in Ubuntu, but not exact. Preferably a
+ # UNIX-only list would be awesome.
+
+ - en : English (common)
+ en_UK : United Kingdom English
+ en_US : American English
+ en_AU : Austrila
+ - es : Spanish (Spain)
+ es_PR : Puetro Rican Spanish
+ es_MX : Mexican Spanish
+ - nl : Netherlands / Dutch
+ - gb : German
+ - gb_GB : German
+ - gb_AS : Austria
+
+*** Complete 'EnglishParser.cpp' in panlingua-en.
+
+*** Start working on:
+ - panlingua-es (The Spanish Parser)
+ - panlingua-nl (The Dutch Parser)
+ - panlingua-gb (The German Parser)
+
+*** Begin work on:
+ - wntrlingua-bridge : This is going to be the omniparser, that allows for 'broken'
+ speech to be parsed (ie: 'Good tag' => English & German, 'Guten manana' => German & Spanish)
=== added directory 'bin'
=== added directory 'bin/store'
=== added file 'bin/store/README'
--- bin/store/README 1970-01-01 00:00:00 +0000
+++ bin/store/README 2011-03-27 15:48:31 +0000
@@ -0,0 +1,8 @@
+This is the general directory that contains the files crucial to Panlingua.
+Without this directory, or another directory of a similar artitechutre,
+Panlingua will fail to operate propery and will constantly operate haphazardly.
+
+[locale] - Contains the downloaded locales to be used with Panlingua.
+[ontology] - Contains the general meanings of words in Panlingua.
+[info.pml] - Contains a JSON notation of the current (default) configuration of
+ Panlingua.
=== added file 'bin/store/info.pml'
--- bin/store/info.pml 1970-01-01 00:00:00 +0000
+++ bin/store/info.pml 2011-03-27 15:48:31 +0000
@@ -0,0 +1,2 @@
+/**
+**/
=== added directory 'bin/store/locale'
=== added directory 'bin/store/locale/en'
=== added directory 'bin/store/locale/en/lnks'
=== added directory 'bin/store/locale/en/nods'
=== added file 'bin/store/locale/en/wordlist.en'
=== added file 'bin/store/locale/en/wrd-db.xml'
--- bin/store/locale/en/wrd-db.xml 1970-01-01 00:00:00 +0000
+++ bin/store/locale/en/wrd-db.xml 2011-03-27 15:48:31 +0000
@@ -0,0 +1,75 @@
+<?xml version="1.0" ?>
+<Collection>
+ <Entry text="I">
+ <Path semid="0" flags="Aen1" />
+ </Entry>
+ <Entry text="we">
+ <Path semid="0" flags="Aen1*" />
+ </Entry>
+ <Entry text="me">
+ <Path semid="0" flags="Aeo1" />
+ </Entry>
+ <Entry text="us">
+ <Path semid="0" flags="Aeo1*" />
+ </Entry>
+ <Entry text="our">
+ <Path semid="0" flags="Aep1*" />
+ </Entry>
+ <Entry text="you">
+ <Path semid="0" flags="Aen2" />
+ <Path semid="0" flags="Aen2*" />
+ <Path semid="0" flags="Aeo2" />
+ <Path semid="0" flags="Aeo2*" />
+ </Entry>
+ <Entry text="your">
+ <Path semid="0" flags="Aep2" />
+ <Path semid="0" flags="Aep2*" />
+ </Entry>
+ <Entry text="he">
+ <Path semid="0" flags="Aen3@" />
+ </Entry>
+ <Entry text="his">
+ <Path semid="0" flags="Aep3@" />
+ </Entry>
+ <Entry text="she">
+ <Path semid="0" flags="Aen3#" />
+ </Entry>
+ <Entry text="her">
+ <Path semid="0" flags="Aep3#" />
+ <Path semid="0" flags="Aeo3#" />
+ </Entry>
+ <Entry text="it">
+ <Path semid="0" flags="Aen3!" />
+ <Path semid="0" flags="Aeo3!" />
+ </Entry>
+ <Entry text="its">
+ <Path semid="0" flags="Aep3!" />
+ </Entry>
+ <Entry text="they">
+ <Path semid="0" flags="Aen3@*" />
+ <Path semid="0" flags="Aen3#*" />
+ <Path semid="0" flags="Aen3!*" />
+ </Entry>
+ <Entry text="their">
+ <Path semid="0" flags="Aep3@*" />
+ <Path semid="0" flags="Aep3#*" />
+ <Path semid="0" flags="Aep3!*" />
+ </Entry>
+ <Entry text="them">
+ <Path semid="0" flags="Aeo3@*" />
+ <Path semid="0" flags="Aeo3#*" />
+ <Path semid="0" flags="Aeo3!*" />
+ </Entry>
+
+ <Entry text="this"></Entry>
+ <Entry text="that"></Entry>
+ <Entry text="these"></Entry>
+ <Entry text="those"></Entry>
+
+ <Entry text="who"></Entry>
+ <Entry text="what"></Entry>
+ <Entry text="whose"></Entry>
+ <Entry text="whom"></Entry>
+ <Entry text="which"></Entry>
+ <Entry text="what"></Entry>
+</Collection>
=== added file 'bin/store/locale/locales.pml'
=== added directory 'bin/store/ontology'
=== added directory 'bin/store/ontology/lnk'
=== added directory 'bin/store/ontology/sem'
=== added file 'bin/store/ontology/sem/-1'
=== added file 'wiktionary.htm'
--- wiktionary.htm 1970-01-01 00:00:00 +0000
+++ wiktionary.htm 2011-03-27 15:48:31 +0000
@@ -0,0 +1,47 @@
+<html>
+ <head>
+ <title>Wiktionary Download</title>
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
+ <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.11/jquery-ui.min.js"></script>
+ <style>
+ body {
+ background: #000;
+ font-family: Ubuntu;
+ font-size: 10pt;
+ color: #fff;
+ }
+ </style>
+ <script>
+ var MediaWiki = {
+ uri : "http://en.wikipedia.org/w/api.php?action=query&prop=revisions&rvprop=content&format=txt&titles=",
+ pullPage : function(titles){
+ titles = escape(titles);
+ alert(MediaWiki.uri + titles);
+ $.ajax(MediaWiki.uri + titles,{
+ processData : false,
+ dataType : "xml",
+ complete : function(xhr,status) {alert(status)},
+ error : function(xhr,status) {alert(status)},
+ success : function(data){alert(data)}
+ });
+ }
+ };
+
+ $(function(){
+ });
+
+ function dowork(){
+ MediaWiki.pullPage("Main Page");
+ }
+ </script>
+ </head>
+ <body>
+ <img style="margin: 10px; maring-right: 15px; float: right;" src="http://upload.wikimedia.org/wikipedia/mediawiki/b/bc/Wiki.png" />
+ <h2>mediawiki download</h2>
+ <div>
+ <label for="word">Word:</label>
+ <input type="text" name="word" />
+ <button onclick="dowork()">Render</button>
+ </div>
+ </body>
+</html>
\ No newline at end of file
=== added directory 'wntrlingua-cli'
=== added file 'wntrlingua-cli/.dep.inc'
--- wntrlingua-cli/.dep.inc 1970-01-01 00:00:00 +0000
+++ wntrlingua-cli/.dep.inc 2011-03-27 15:48:31 +0000
@@ -0,0 +1,5 @@
+# This code depends on make tool being used
+DEPFILES=$(wildcard $(addsuffix .d, ${OBJECTFILES}))
+ifneq (${DEPFILES},)
+include ${DEPFILES}
+endif
=== added file 'wntrlingua-cli/Makefile'
--- wntrlingua-cli/Makefile 1970-01-01 00:00:00 +0000
+++ wntrlingua-cli/Makefile 2011-03-27 15:48:31 +0000
@@ -0,0 +1,128 @@
+#
+# There exist several targets which are by default empty and which can be
+# used for execution of your targets. These targets are usually executed
+# before and after some main targets. They are:
+#
+# .build-pre: called before 'build' target
+# .build-post: called after 'build' target
+# .clean-pre: called before 'clean' target
+# .clean-post: called after 'clean' target
+# .clobber-pre: called before 'clobber' target
+# .clobber-post: called after 'clobber' target
+# .all-pre: called before 'all' target
+# .all-post: called after 'all' target
+# .help-pre: called before 'help' target
+# .help-post: called after 'help' target
+#
+# Targets beginning with '.' are not intended to be called on their own.
+#
+# Main targets can be executed directly, and they are:
+#
+# build build a specific configuration
+# clean remove built files from a configuration
+# clobber remove all built files
+# all build all configurations
+# help print help mesage
+#
+# Targets .build-impl, .clean-impl, .clobber-impl, .all-impl, and
+# .help-impl are implemented in nbproject/makefile-impl.mk.
+#
+# Available make variables:
+#
+# CND_BASEDIR base directory for relative paths
+# CND_DISTDIR default top distribution directory (build artifacts)
+# CND_BUILDDIR default top build directory (object files, ...)
+# CONF name of current configuration
+# CND_PLATFORM_${CONF} platform name (current configuration)
+# CND_ARTIFACT_DIR_${CONF} directory of build artifact (current configuration)
+# CND_ARTIFACT_NAME_${CONF} name of build artifact (current configuration)
+# CND_ARTIFACT_PATH_${CONF} path to build artifact (current configuration)
+# CND_PACKAGE_DIR_${CONF} directory of package (current configuration)
+# CND_PACKAGE_NAME_${CONF} name of package (current configuration)
+# CND_PACKAGE_PATH_${CONF} path to package (current configuration)
+#
+# NOCDDL
+
+
+# Environment
+MKDIR=mkdir
+CP=cp
+CCADMIN=CCadmin
+
+
+# build
+build: .build-post
+
+.build-pre:
+# Add your pre 'build' code here...
+
+.build-post: .build-impl
+# Add your post 'build' code here...
+
+
+# clean
+clean: .clean-post
+
+.clean-pre:
+# Add your pre 'clean' code here...
+
+.clean-post: .clean-impl
+# Add your post 'clean' code here...
+
+
+# clobber
+clobber: .clobber-post
+
+.clobber-pre:
+# Add your pre 'clobber' code here...
+
+.clobber-post: .clobber-impl
+# Add your post 'clobber' code here...
+
+
+# all
+all: .all-post
+
+.all-pre:
+# Add your pre 'all' code here...
+
+.all-post: .all-impl
+# Add your post 'all' code here...
+
+
+# build tests
+build-tests: .build-tests-post
+
+.build-tests-pre:
+# Add your pre 'build-tests' code here...
+
+.build-tests-post: .build-tests-impl
+# Add your post 'build-tests' code here...
+
+
+# run tests
+test: .test-post
+
+.test-pre:
+# Add your pre 'test' code here...
+
+.test-post: .test-impl
+# Add your post 'test' code here...
+
+
+# help
+help: .help-post
+
+.help-pre:
+# Add your pre 'help' code here...
+
+.help-post: .help-impl
+# Add your post 'help' code here...
+
+
+
+# include project implementation makefile
+include nbproject/Makefile-impl.mk
+
+# include project make variables
+include nbproject/Makefile-variables.mk
=== added directory 'wntrlingua-cli/build'
=== added directory 'wntrlingua-cli/build/Debug'
=== added directory 'wntrlingua-cli/build/Debug/GNU-Linux-x86'
=== added file 'wntrlingua-cli/build/Debug/GNU-Linux-x86/main.o.d'
--- wntrlingua-cli/build/Debug/GNU-Linux-x86/main.o.d 1970-01-01 00:00:00 +0000
+++ wntrlingua-cli/build/Debug/GNU-Linux-x86/main.o.d 2011-03-27 15:48:31 +0000
@@ -0,0 +1,1108 @@
+build/Debug/GNU-Linux-x86/main.o: main.cpp \
+ ../wntrlingua-core/wntrlingua.hpp ../wntrlingua-core/config.hpp \
+ ../wntrlingua-core/md5.hpp ../wntrlingua-en/EnglishParser.hpp \
+ ../wntrlingua-core/parser.hpp /usr/include/sigc++-2.0/sigc++/sigc++.h \
+ /usr/include/sigc++-2.0/sigc++/signal.h \
+ /usr/include/sigc++-2.0/sigc++/signal_base.h \
+ /usr/lib/sigc++-2.0/include/sigc++config.h \
+ /usr/include/sigc++-2.0/sigc++/type_traits.h \
+ /usr/include/sigc++-2.0/sigc++/trackable.h \
+ /usr/include/sigc++-2.0/sigc++/functors/slot.h \
+ /usr/include/sigc++-2.0/sigc++/visit_each.h \
+ /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h \
+ /usr/include/sigc++-2.0/sigc++/functors/functor_trait.h \
+ /usr/include/sigc++-2.0/sigc++/functors/ptr_fun.h \
+ /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h \
+ /usr/include/sigc++-2.0/sigc++/limit_reference.h \
+ /usr/include/sigc++-2.0/sigc++/adaptors/deduce_result_type.h \
+ /usr/include/sigc++-2.0/sigc++/functors/slot_base.h \
+ /usr/include/sigc++-2.0/sigc++/connection.h \
+ /usr/include/sigc++-2.0/sigc++/adaptors/adaptors.h \
+ /usr/include/sigc++-2.0/sigc++/adaptors/bind.h \
+ /usr/include/sigc++-2.0/sigc++/adaptors/bound_argument.h \
+ /usr/include/sigc++-2.0/sigc++/reference_wrapper.h \
+ /usr/include/sigc++-2.0/sigc++/adaptors/bind_return.h \
+ /usr/include/sigc++-2.0/sigc++/adaptors/hide.h \
+ /usr/include/sigc++-2.0/sigc++/adaptors/retype_return.h \
+ /usr/include/sigc++-2.0/sigc++/adaptors/retype.h \
+ /usr/include/sigc++-2.0/sigc++/adaptors/compose.h \
+ /usr/include/sigc++-2.0/sigc++/adaptors/exception_catch.h \
+ /usr/include/sigc++-2.0/sigc++/adaptors/lambda/lambda.h \
+ /usr/include/sigc++-2.0/sigc++/adaptors/lambda/base.h \
+ /usr/include/sigc++-2.0/sigc++/adaptors/lambda/select.h \
+ /usr/include/sigc++-2.0/sigc++/adaptors/lambda/operator.h \
+ /usr/include/sigc++-2.0/sigc++/adaptors/lambda/group.h \
+ /usr/include/sigc++-2.0/sigc++/functors/functors.h \
+ ../wntrlingua-core/wntrlingua.hpp \
+ /usr/include/libxml++-2.6/libxml++/libxml++.h \
+ /usr/include/libxml++-2.6/libxml++/exceptions/internal_error.h \
+ /usr/include/libxml++-2.6/libxml++/exceptions/exception.h \
+ /usr/include/glibmm-2.4/glibmm/ustring.h \
+ /usr/lib/glibmm-2.4/include/glibmmconfig.h \
+ /usr/include/glibmm-2.4/glibmm/unicode.h /usr/include/glib-2.0/glib.h \
+ /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \
+ /usr/lib/glib-2.0/include/glibconfig.h \
+ /usr/include/glib-2.0/glib/gmacros.h /usr/include/glib-2.0/glib/garray.h \
+ /usr/include/glib-2.0/glib/gasyncqueue.h \
+ /usr/include/glib-2.0/glib/gthread.h /usr/include/glib-2.0/glib/gerror.h \
+ /usr/include/glib-2.0/glib/gquark.h /usr/include/glib-2.0/glib/gutils.h \
+ /usr/include/glib-2.0/glib/gatomic.h \
+ /usr/include/glib-2.0/glib/gbacktrace.h \
+ /usr/include/glib-2.0/glib/gbase64.h \
+ /usr/include/glib-2.0/glib/gbitlock.h \
+ /usr/include/glib-2.0/glib/gbookmarkfile.h \
+ /usr/include/glib-2.0/glib/gcache.h /usr/include/glib-2.0/glib/glist.h \
+ /usr/include/glib-2.0/glib/gmem.h /usr/include/glib-2.0/glib/gslice.h \
+ /usr/include/glib-2.0/glib/gchecksum.h \
+ /usr/include/glib-2.0/glib/gcompletion.h \
+ /usr/include/glib-2.0/glib/gconvert.h \
+ /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \
+ /usr/include/glib-2.0/glib/gdatetime.h \
+ /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \
+ /usr/include/glib-2.0/glib/gfileutils.h \
+ /usr/include/glib-2.0/glib/ghash.h /usr/include/glib-2.0/glib/ghook.h \
+ /usr/include/glib-2.0/glib/ghostutils.h \
+ /usr/include/glib-2.0/glib/giochannel.h \
+ /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \
+ /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \
+ /usr/include/glib-2.0/glib/gunicode.h \
+ /usr/include/glib-2.0/glib/gkeyfile.h \
+ /usr/include/glib-2.0/glib/gmappedfile.h \
+ /usr/include/glib-2.0/glib/gmarkup.h \
+ /usr/include/glib-2.0/glib/gmessages.h \
+ /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/goption.h \
+ /usr/include/glib-2.0/glib/gpattern.h \
+ /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \
+ /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \
+ /usr/include/glib-2.0/glib/grel.h /usr/include/glib-2.0/glib/gregex.h \
+ /usr/include/glib-2.0/glib/gscanner.h \
+ /usr/include/glib-2.0/glib/gsequence.h \
+ /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gspawn.h \
+ /usr/include/glib-2.0/glib/gstrfuncs.h \
+ /usr/include/glib-2.0/glib/gtestutils.h \
+ /usr/include/glib-2.0/glib/gthreadpool.h \
+ /usr/include/glib-2.0/glib/gtimer.h /usr/include/glib-2.0/glib/gtree.h \
+ /usr/include/glib-2.0/glib/gurifuncs.h \
+ /usr/include/glib-2.0/glib/gvarianttype.h \
+ /usr/include/glib-2.0/glib/gvariant.h \
+ /usr/lib/libxml++-2.6/include/libxml++config.h \
+ /usr/include/libxml++-2.6/libxml++/exceptions/parse_error.h \
+ /usr/include/libxml++-2.6/libxml++/parsers/domparser.h \
+ /usr/include/libxml++-2.6/libxml++/parsers/parser.h \
+ /usr/include/libxml++-2.6/libxml++/nodes/element.h \
+ /usr/include/libxml++-2.6/libxml++/nodes/node.h \
+ /usr/include/libxml++-2.6/libxml++/noncopyable.h \
+ /usr/include/libxml++-2.6/libxml++/attribute.h \
+ /usr/include/libxml++-2.6/libxml++/nodes/commentnode.h \
+ /usr/include/libxml++-2.6/libxml++/nodes/contentnode.h \
+ /usr/include/libxml++-2.6/libxml++/exceptions/validity_error.h \
+ /usr/include/libxml++-2.6/libxml++/dtd.h \
+ /usr/include/libxml++-2.6/libxml++/document.h \
+ /usr/include/libxml++-2.6/libxml++/parsers/saxparser.h \
+ /usr/include/libxml++-2.6/libxml++/parsers/textreader.h \
+ /usr/include/libxml++-2.6/libxml++/nodes/entityreference.h \
+ /usr/include/libxml++-2.6/libxml++/nodes/textnode.h \
+ /usr/include/libxml++-2.6/libxml++/validators/validator.h \
+ /usr/include/libxml++-2.6/libxml++/validators/dtdvalidator.h \
+ /usr/include/libxml++-2.6/libxml++/validators/schemavalidator.h \
+ /usr/include/libxml++-2.6/libxml++/schema.h \
+ /usr/include/glibmm-2.4/glibmm.h \
+ /usr/include/glibmm-2.4/glibmm/arrayhandle.h \
+ /usr/include/glibmm-2.4/glibmm/containerhandle_shared.h \
+ /usr/include/glibmm-2.4/glibmm/refptr.h \
+ /usr/include/glibmm-2.4/glibmm/wrap.h \
+ /usr/include/glib-2.0/glib-object.h \
+ /usr/include/glib-2.0/gobject/gbinding.h \
+ /usr/include/glib-2.0/gobject/gobject.h \
+ /usr/include/glib-2.0/gobject/gtype.h \
+ /usr/include/glib-2.0/gobject/gvalue.h \
+ /usr/include/glib-2.0/gobject/gparam.h \
+ /usr/include/glib-2.0/gobject/gclosure.h \
+ /usr/include/glib-2.0/gobject/gsignal.h \
+ /usr/include/glib-2.0/gobject/gmarshal.h \
+ /usr/include/glib-2.0/gobject/gboxed.h \
+ /usr/include/glib-2.0/gobject/genums.h \
+ /usr/include/glib-2.0/gobject/gparamspecs.h \
+ /usr/include/glib-2.0/gobject/gsourceclosure.h \
+ /usr/include/glib-2.0/gobject/gtypemodule.h \
+ /usr/include/glib-2.0/gobject/gtypeplugin.h \
+ /usr/include/glib-2.0/gobject/gvaluearray.h \
+ /usr/include/glib-2.0/gobject/gvaluetypes.h \
+ /usr/include/glibmm-2.4/glibmm/objectbase.h \
+ /usr/include/glibmm-2.4/glibmm/signalproxy.h \
+ /usr/include/glibmm-2.4/glibmm/signalproxy_connectionnode.h \
+ /usr/include/glibmm-2.4/glibmm/propertyproxy.h \
+ /usr/include/glibmm-2.4/glibmm/propertyproxy_base.h \
+ /usr/include/glibmm-2.4/glibmm/value.h \
+ /usr/include/glibmm-2.4/glibmm/value_custom.h \
+ /usr/include/glibmm-2.4/glibmm/value_basictypes.h \
+ /usr/include/glibmm-2.4/glibmm/quark.h \
+ /usr/include/glibmm-2.4/glibmm/debug.h \
+ /usr/include/glibmm-2.4/glibmm/balancedtree.h \
+ /usr/include/glibmm-2.4/glibmm/error.h \
+ /usr/include/glibmm-2.4/glibmm/exception.h \
+ /usr/include/glibmm-2.4/glibmm/checksum.h \
+ /usr/include/glibmm-2.4/glibmm/class.h \
+ /usr/include/glibmm-2.4/glibmm/convert.h \
+ /usr/include/glibmm-2.4/glibmm/date.h \
+ /usr/include/glibmm-2.4/glibmm/dispatcher.h \
+ /usr/include/glibmm-2.4/glibmm/main.h \
+ /usr/include/glibmm-2.4/glibmm/timeval.h \
+ /usr/include/glibmm-2.4/glibmm/priorities.h \
+ /usr/include/glibmm-2.4/glibmm/exceptionhandler.h \
+ /usr/include/glibmm-2.4/glibmm/fileutils.h \
+ /usr/include/glibmm-2.4/glibmm/helperlist.h \
+ /usr/include/glibmm-2.4/glibmm/containers.h \
+ /usr/include/glibmm-2.4/glibmm/sarray.h \
+ /usr/include/glibmm-2.4/glibmm/interface.h \
+ /usr/include/glibmm-2.4/glibmm/object.h \
+ /usr/include/glibmm-2.4/glibmm/utility.h \
+ /usr/include/glibmm-2.4/glibmm/iochannel.h \
+ /usr/include/glibmm-2.4/glibmm/init.h \
+ /usr/include/glibmm-2.4/glibmm/keyfile.h \
+ /usr/include/glibmm-2.4/glibmm/streamiochannel.h \
+ /usr/include/glibmm-2.4/glibmm/listhandle.h \
+ /usr/include/glibmm-2.4/glibmm/markup.h \
+ /usr/include/glibmm-2.4/glibmm/miscutils.h \
+ /usr/include/glibmm-2.4/glibmm/module.h \
+ /usr/include/glibmm-2.4/glibmm/nodetree.h \
+ /usr/include/glibmm-2.4/glibmm/optioncontext.h \
+ /usr/include/glibmm-2.4/glibmm/optionentry.h \
+ /usr/include/glibmm-2.4/glibmm/optiongroup.h \
+ /usr/include/sigc++-2.0/sigc++/slot.h \
+ /usr/include/glibmm-2.4/glibmm/pattern.h \
+ /usr/include/glibmm-2.4/glibmm/property.h \
+ /usr/include/glibmm-2.4/glibmm/random.h \
+ /usr/include/glibmm-2.4/glibmm/regex.h \
+ /usr/include/glibmm-2.4/glibmm/shell.h \
+ /usr/include/glibmm-2.4/glibmm/slisthandle.h \
+ /usr/include/glibmm-2.4/glibmm/spawn.h \
+ /usr/include/glibmm-2.4/glibmm/stringutils.h \
+ /usr/include/glibmm-2.4/glibmm/thread.h \
+ /usr/include/glibmm-2.4/glibmm/threadpool.h \
+ /usr/include/glibmm-2.4/glibmm/timer.h \
+ /usr/include/glibmm-2.4/glibmm/uriutils.h \
+ /usr/include/glibmm-2.4/glibmm/valuearray.h \
+ /usr/include/glibmm-2.4/glibmm/variant.h \
+ /usr/include/glibmm-2.4/glibmm/varianttype.h \
+ /usr/include/glibmm-2.4/glibmm/variant_basictypes.h \
+ /usr/include/glibmm-2.4/glibmm/variantiter.h \
+ /usr/include/giomm-2.4/giomm.h /usr/include/giomm-2.4/giomm/appinfo.h \
+ /usr/include/giomm-2.4/giomm/icon.h \
+ /usr/include/giomm-2.4/giomm/asyncresult.h \
+ /usr/include/giomm-2.4/giomm/bufferedinputstream.h \
+ /usr/include/giomm-2.4/giomm/filterinputstream.h \
+ /usr/include/giomm-2.4/giomm/inputstream.h \
+ /usr/include/giomm-2.4/giomm/cancellable.h \
+ /usr/include/giomm-2.4/giomm/bufferedoutputstream.h \
+ /usr/include/giomm-2.4/giomm/filteroutputstream.h \
+ /usr/include/giomm-2.4/giomm/outputstream.h \
+ /usr/include/giomm-2.4/giomm/contenttype.h \
+ /usr/include/giomm-2.4/giomm/file.h \
+ /usr/include/giomm-2.4/giomm/fileattributeinfolist.h \
+ /usr/include/giomm-2.4/giomm/fileattributeinfo.h \
+ /usr/include/glib-2.0/gio/gio.h /usr/include/glib-2.0/gio/giotypes.h \
+ /usr/include/glib-2.0/gio/gioenums.h \
+ /usr/include/glib-2.0/gio/gappinfo.h \
+ /usr/include/glib-2.0/gio/gasyncinitable.h \
+ /usr/include/glib-2.0/gio/ginitable.h \
+ /usr/include/glib-2.0/gio/gasyncresult.h \
+ /usr/include/glib-2.0/gio/gbufferedinputstream.h \
+ /usr/include/glib-2.0/gio/gfilterinputstream.h \
+ /usr/include/glib-2.0/gio/ginputstream.h \
+ /usr/include/glib-2.0/gio/gbufferedoutputstream.h \
+ /usr/include/glib-2.0/gio/gfilteroutputstream.h \
+ /usr/include/glib-2.0/gio/goutputstream.h \
+ /usr/include/glib-2.0/gio/gcancellable.h \
+ /usr/include/glib-2.0/gio/gcharsetconverter.h \
+ /usr/include/glib-2.0/gio/gconverter.h \
+ /usr/include/glib-2.0/gio/gcontenttype.h \
+ /usr/include/glib-2.0/gio/gconverterinputstream.h \
+ /usr/include/glib-2.0/gio/gconverteroutputstream.h \
+ /usr/include/glib-2.0/gio/gcredentials.h \
+ /usr/include/glib-2.0/gio/gdatainputstream.h \
+ /usr/include/glib-2.0/gio/gdataoutputstream.h \
+ /usr/include/glib-2.0/gio/gdbusaddress.h \
+ /usr/include/glib-2.0/gio/gdbusauthobserver.h \
+ /usr/include/glib-2.0/gio/gdbusconnection.h \
+ /usr/include/glib-2.0/gio/gdbuserror.h \
+ /usr/include/glib-2.0/gio/gdbusintrospection.h \
+ /usr/include/glib-2.0/gio/gdbusmessage.h \
+ /usr/include/glib-2.0/gio/gdbusmethodinvocation.h \
+ /usr/include/glib-2.0/gio/gdbusnameowning.h \
+ /usr/include/glib-2.0/gio/gdbusnamewatching.h \
+ /usr/include/glib-2.0/gio/gdbusproxy.h \
+ /usr/include/glib-2.0/gio/gdbusserver.h \
+ /usr/include/glib-2.0/gio/gdbusutils.h \
+ /usr/include/glib-2.0/gio/gdrive.h \
+ /usr/include/glib-2.0/gio/gemblemedicon.h \
+ /usr/include/glib-2.0/gio/gicon.h /usr/include/glib-2.0/gio/gemblem.h \
+ /usr/include/glib-2.0/gio/gfileattribute.h \
+ /usr/include/glib-2.0/gio/gfileenumerator.h \
+ /usr/include/glib-2.0/gio/gfile.h /usr/include/glib-2.0/gio/gfileicon.h \
+ /usr/include/glib-2.0/gio/gfileinfo.h \
+ /usr/include/glib-2.0/gio/gfileinputstream.h \
+ /usr/include/glib-2.0/gio/gfileiostream.h \
+ /usr/include/glib-2.0/gio/giostream.h \
+ /usr/include/glib-2.0/gio/gioerror.h \
+ /usr/include/glib-2.0/gio/gfilemonitor.h \
+ /usr/include/glib-2.0/gio/gfilenamecompleter.h \
+ /usr/include/glib-2.0/gio/gfileoutputstream.h \
+ /usr/include/glib-2.0/gio/ginetaddress.h \
+ /usr/include/glib-2.0/gio/ginetsocketaddress.h \
+ /usr/include/glib-2.0/gio/gsocketaddress.h \
+ /usr/include/glib-2.0/gio/gioenumtypes.h \
+ /usr/include/glib-2.0/gio/giomodule.h /usr/include/glib-2.0/gmodule.h \
+ /usr/include/glib-2.0/gio/gioscheduler.h \
+ /usr/include/glib-2.0/gio/gloadableicon.h \
+ /usr/include/glib-2.0/gio/gmemoryinputstream.h \
+ /usr/include/glib-2.0/gio/gmemoryoutputstream.h \
+ /usr/include/glib-2.0/gio/gmount.h \
+ /usr/include/glib-2.0/gio/gmountoperation.h \
+ /usr/include/glib-2.0/gio/gnativevolumemonitor.h \
+ /usr/include/glib-2.0/gio/gvolumemonitor.h \
+ /usr/include/glib-2.0/gio/gnetworkaddress.h \
+ /usr/include/glib-2.0/gio/gnetworkservice.h \
+ /usr/include/glib-2.0/gio/gpermission.h \
+ /usr/include/glib-2.0/gio/gproxy.h \
+ /usr/include/glib-2.0/gio/gproxyaddress.h \
+ /usr/include/glib-2.0/gio/gproxyaddressenumerator.h \
+ /usr/include/glib-2.0/gio/gsocketaddressenumerator.h \
+ /usr/include/glib-2.0/gio/gproxyresolver.h \
+ /usr/include/glib-2.0/gio/gresolver.h \
+ /usr/include/glib-2.0/gio/gseekable.h \
+ /usr/include/glib-2.0/gio/gsettings.h \
+ /usr/include/glib-2.0/gio/gsimpleasyncresult.h \
+ /usr/include/glib-2.0/gio/gsimplepermission.h \
+ /usr/include/glib-2.0/gio/gsocketclient.h \
+ /usr/include/glib-2.0/gio/gsocketconnectable.h \
+ /usr/include/glib-2.0/gio/gsocketconnection.h \
+ /usr/include/glib-2.0/gio/gsocket.h \
+ /usr/include/glib-2.0/gio/gsocketcontrolmessage.h \
+ /usr/include/glib-2.0/gio/gsocketlistener.h \
+ /usr/include/glib-2.0/gio/gsocketservice.h \
+ /usr/include/glib-2.0/gio/gsrvtarget.h \
+ /usr/include/glib-2.0/gio/gtcpconnection.h \
+ /usr/include/glib-2.0/gio/gthemedicon.h \
+ /usr/include/glib-2.0/gio/gthreadedsocketservice.h \
+ /usr/include/glib-2.0/gio/gvfs.h /usr/include/glib-2.0/gio/gvolume.h \
+ /usr/include/glib-2.0/gio/gzlibcompressor.h \
+ /usr/include/glib-2.0/gio/gzlibdecompressor.h \
+ /usr/include/giomm-2.4/giomm/fileenumerator.h \
+ /usr/include/giomm-2.4/giomm/fileinfo.h \
+ /usr/include/giomm-2.4/giomm/fileinputstream.h \
+ /usr/include/giomm-2.4/giomm/seekable.h \
+ /usr/include/giomm-2.4/giomm/fileiostream.h \
+ /usr/include/giomm-2.4/giomm/iostream.h \
+ /usr/include/giomm-2.4/giomm/filemonitor.h \
+ /usr/include/giomm-2.4/giomm/fileoutputstream.h \
+ /usr/include/giomm-2.4/giomm/mountoperation.h \
+ /usr/include/giomm-2.4/giomm/drive.h \
+ /usr/include/giomm-2.4/giomm/mount.h \
+ /usr/include/giomm-2.4/giomm/error.h \
+ /usr/include/giomm-2.4/giomm/datainputstream.h \
+ /usr/include/giomm-2.4/giomm/enums.h \
+ /usr/include/giomm-2.4/giomm/dataoutputstream.h \
+ /usr/include/giomm-2.4/giomm/dbusauthobserver.h \
+ /usr/include/giomm-2.4/giomm/credentials.h \
+ /usr/include/giomm-2.4/giomm/dbusconnection.h \
+ /usr/include/giomm-2.4/giomm/initable.h \
+ /usr/include/giomm-2.4/giomm/asyncinitable.h \
+ /usr/include/giomm-2.4/giomm/dbusmessage.h \
+ /usr/include/giomm-2.4/giomm/dbusmethodinvocation.h \
+ /usr/include/giomm-2.4/giomm/dbusownname.h \
+ /usr/include/giomm-2.4/giomm/dbusserver.h \
+ /usr/include/giomm-2.4/giomm/desktopappinfo.h \
+ /usr/include/giomm-2.4/giomm/emblemedicon.h \
+ /usr/include/giomm-2.4/giomm/emblem.h \
+ /usr/include/giomm-2.4/giomm/fileicon.h \
+ /usr/include/giomm-2.4/giomm/loadableicon.h \
+ /usr/include/giomm-2.4/giomm/filenamecompleter.h \
+ /usr/include/giomm-2.4/giomm/inetaddress.h \
+ /usr/include/giomm-2.4/giomm/inetsocketaddress.h \
+ /usr/include/giomm-2.4/giomm/socketaddress.h \
+ /usr/include/giomm-2.4/giomm/socketconnectable.h \
+ /usr/include/giomm-2.4/giomm/socketaddressenumerator.h \
+ /usr/include/giomm-2.4/giomm/init.h \
+ /usr/include/giomm-2.4/giomm/wrap_init.h \
+ /usr/include/giomm-2.4/giomm/memoryinputstream.h \
+ /usr/include/giomm-2.4/giomm/memoryoutputstream.h \
+ /usr/include/giomm-2.4/giomm/networkaddress.h \
+ /usr/include/giomm-2.4/giomm/networkservice.h \
+ /usr/include/giomm-2.4/giomm/proxy.h \
+ /usr/include/giomm-2.4/giomm/proxyaddress.h \
+ /usr/include/giomm-2.4/giomm/proxyresolver.h \
+ /usr/include/giomm-2.4/giomm/resolver.h \
+ /usr/include/giomm-2.4/giomm/srvtarget.h \
+ /usr/include/giomm-2.4/giomm/settings.h \
+ /usr/include/giomm-2.4/giomm/settingsbackend.h \
+ /usr/include/giomm-2.4/giomm/socket.h \
+ /usr/include/giomm-2.4/giomm/socketclient.h \
+ /usr/include/giomm-2.4/giomm/socketconnection.h \
+ /usr/include/giomm-2.4/giomm/socketcontrolmessage.h \
+ /usr/include/giomm-2.4/giomm/tcpconnection.h \
+ /usr/include/giomm-2.4/giomm/themedicon.h \
+ /usr/include/giomm-2.4/giomm/unixconnection.h \
+ /usr/include/giomm-2.4/giomm/unixcredentialsmessage.h \
+ /usr/include/giomm-2.4/giomm/unixfdlist.h \
+ /usr/include/giomm-2.4/giomm/unixfdmessage.h \
+ /usr/include/giomm-2.4/giomm/unixinputstream.h \
+ /usr/include/giomm-2.4/giomm/unixoutputstream.h \
+ /usr/include/giomm-2.4/giomm/volume.h \
+ /usr/include/giomm-2.4/giomm/volumemonitor.h
+
+../wntrlingua-core/wntrlingua.hpp:
+
+../wntrlingua-core/config.hpp:
+
+../wntrlingua-core/md5.hpp:
+
+../wntrlingua-en/EnglishParser.hpp:
+
+../wntrlingua-core/parser.hpp:
+
+/usr/include/sigc++-2.0/sigc++/sigc++.h:
+
+/usr/include/sigc++-2.0/sigc++/signal.h:
+
+/usr/include/sigc++-2.0/sigc++/signal_base.h:
+
+/usr/lib/sigc++-2.0/include/sigc++config.h:
+
+/usr/include/sigc++-2.0/sigc++/type_traits.h:
+
+/usr/include/sigc++-2.0/sigc++/trackable.h:
+
+/usr/include/sigc++-2.0/sigc++/functors/slot.h:
+
+/usr/include/sigc++-2.0/sigc++/visit_each.h:
+
+/usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:
+
+/usr/include/sigc++-2.0/sigc++/functors/functor_trait.h:
+
+/usr/include/sigc++-2.0/sigc++/functors/ptr_fun.h:
+
+/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:
+
+/usr/include/sigc++-2.0/sigc++/limit_reference.h:
+
+/usr/include/sigc++-2.0/sigc++/adaptors/deduce_result_type.h:
+
+/usr/include/sigc++-2.0/sigc++/functors/slot_base.h:
+
+/usr/include/sigc++-2.0/sigc++/connection.h:
+
+/usr/include/sigc++-2.0/sigc++/adaptors/adaptors.h:
+
+/usr/include/sigc++-2.0/sigc++/adaptors/bind.h:
+
+/usr/include/sigc++-2.0/sigc++/adaptors/bound_argument.h:
+
+/usr/include/sigc++-2.0/sigc++/reference_wrapper.h:
+
+/usr/include/sigc++-2.0/sigc++/adaptors/bind_return.h:
+
+/usr/include/sigc++-2.0/sigc++/adaptors/hide.h:
+
+/usr/include/sigc++-2.0/sigc++/adaptors/retype_return.h:
+
+/usr/include/sigc++-2.0/sigc++/adaptors/retype.h:
+
+/usr/include/sigc++-2.0/sigc++/adaptors/compose.h:
+
+/usr/include/sigc++-2.0/sigc++/adaptors/exception_catch.h:
+
+/usr/include/sigc++-2.0/sigc++/adaptors/lambda/lambda.h:
+
+/usr/include/sigc++-2.0/sigc++/adaptors/lambda/base.h:
+
+/usr/include/sigc++-2.0/sigc++/adaptors/lambda/select.h:
+
+/usr/include/sigc++-2.0/sigc++/adaptors/lambda/operator.h:
+
+/usr/include/sigc++-2.0/sigc++/adaptors/lambda/group.h:
+
+/usr/include/sigc++-2.0/sigc++/functors/functors.h:
+
+../wntrlingua-core/wntrlingua.hpp:
+
+/usr/include/libxml++-2.6/libxml++/libxml++.h:
+
+/usr/include/libxml++-2.6/libxml++/exceptions/internal_error.h:
+
+/usr/include/libxml++-2.6/libxml++/exceptions/exception.h:
+
+/usr/include/glibmm-2.4/glibmm/ustring.h:
+
+/usr/lib/glibmm-2.4/include/glibmmconfig.h:
+
+/usr/include/glibmm-2.4/glibmm/unicode.h:
+
+/usr/include/glib-2.0/glib.h:
+
+/usr/include/glib-2.0/glib/galloca.h:
+
+/usr/include/glib-2.0/glib/gtypes.h:
+
+/usr/lib/glib-2.0/include/glibconfig.h:
+
+/usr/include/glib-2.0/glib/gmacros.h:
+
+/usr/include/glib-2.0/glib/garray.h:
+
+/usr/include/glib-2.0/glib/gasyncqueue.h:
+
+/usr/include/glib-2.0/glib/gthread.h:
+
+/usr/include/glib-2.0/glib/gerror.h:
+
+/usr/include/glib-2.0/glib/gquark.h:
+
+/usr/include/glib-2.0/glib/gutils.h:
+
+/usr/include/glib-2.0/glib/gatomic.h:
+
+/usr/include/glib-2.0/glib/gbacktrace.h:
+
+/usr/include/glib-2.0/glib/gbase64.h:
+
+/usr/include/glib-2.0/glib/gbitlock.h:
+
+/usr/include/glib-2.0/glib/gbookmarkfile.h:
+
+/usr/include/glib-2.0/glib/gcache.h:
+
+/usr/include/glib-2.0/glib/glist.h:
+
+/usr/include/glib-2.0/glib/gmem.h:
+
+/usr/include/glib-2.0/glib/gslice.h:
+
+/usr/include/glib-2.0/glib/gchecksum.h:
+
+/usr/include/glib-2.0/glib/gcompletion.h:
+
+/usr/include/glib-2.0/glib/gconvert.h:
+
+/usr/include/glib-2.0/glib/gdataset.h:
+
+/usr/include/glib-2.0/glib/gdate.h:
+
+/usr/include/glib-2.0/glib/gdatetime.h:
+
+/usr/include/glib-2.0/glib/gtimezone.h:
+
+/usr/include/glib-2.0/glib/gdir.h:
+
+/usr/include/glib-2.0/glib/gfileutils.h:
+
+/usr/include/glib-2.0/glib/ghash.h:
+
+/usr/include/glib-2.0/glib/ghook.h:
+
+/usr/include/glib-2.0/glib/ghostutils.h:
+
+/usr/include/glib-2.0/glib/giochannel.h:
+
+/usr/include/glib-2.0/glib/gmain.h:
+
+/usr/include/glib-2.0/glib/gpoll.h:
+
+/usr/include/glib-2.0/glib/gslist.h:
+
+/usr/include/glib-2.0/glib/gstring.h:
+
+/usr/include/glib-2.0/glib/gunicode.h:
+
+/usr/include/glib-2.0/glib/gkeyfile.h:
+
+/usr/include/glib-2.0/glib/gmappedfile.h:
+
+/usr/include/glib-2.0/glib/gmarkup.h:
+
+/usr/include/glib-2.0/glib/gmessages.h:
+
+/usr/include/glib-2.0/glib/gnode.h:
+
+/usr/include/glib-2.0/glib/goption.h:
+
+/usr/include/glib-2.0/glib/gpattern.h:
+
+/usr/include/glib-2.0/glib/gprimes.h:
+
+/usr/include/glib-2.0/glib/gqsort.h:
+
+/usr/include/glib-2.0/glib/gqueue.h:
+
+/usr/include/glib-2.0/glib/grand.h:
+
+/usr/include/glib-2.0/glib/grel.h:
+
+/usr/include/glib-2.0/glib/gregex.h:
+
+/usr/include/glib-2.0/glib/gscanner.h:
+
+/usr/include/glib-2.0/glib/gsequence.h:
+
+/usr/include/glib-2.0/glib/gshell.h:
+
+/usr/include/glib-2.0/glib/gspawn.h:
+
+/usr/include/glib-2.0/glib/gstrfuncs.h:
+
+/usr/include/glib-2.0/glib/gtestutils.h:
+
+/usr/include/glib-2.0/glib/gthreadpool.h:
+
+/usr/include/glib-2.0/glib/gtimer.h:
+
+/usr/include/glib-2.0/glib/gtree.h:
+
+/usr/include/glib-2.0/glib/gurifuncs.h:
+
+/usr/include/glib-2.0/glib/gvarianttype.h:
+
+/usr/include/glib-2.0/glib/gvariant.h:
+
+/usr/lib/libxml++-2.6/include/libxml++config.h:
+
+/usr/include/libxml++-2.6/libxml++/exceptions/parse_error.h:
+
+/usr/include/libxml++-2.6/libxml++/parsers/domparser.h:
+
+/usr/include/libxml++-2.6/libxml++/parsers/parser.h:
+
+/usr/include/libxml++-2.6/libxml++/nodes/element.h:
+
+/usr/include/libxml++-2.6/libxml++/nodes/node.h:
+
+/usr/include/libxml++-2.6/libxml++/noncopyable.h:
+
+/usr/include/libxml++-2.6/libxml++/attribute.h:
+
+/usr/include/libxml++-2.6/libxml++/nodes/commentnode.h:
+
+/usr/include/libxml++-2.6/libxml++/nodes/contentnode.h:
+
+/usr/include/libxml++-2.6/libxml++/exceptions/validity_error.h:
+
+/usr/include/libxml++-2.6/libxml++/dtd.h:
+
+/usr/include/libxml++-2.6/libxml++/document.h:
+
+/usr/include/libxml++-2.6/libxml++/parsers/saxparser.h:
+
+/usr/include/libxml++-2.6/libxml++/parsers/textreader.h:
+
+/usr/include/libxml++-2.6/libxml++/nodes/entityreference.h:
+
+/usr/include/libxml++-2.6/libxml++/nodes/textnode.h:
+
+/usr/include/libxml++-2.6/libxml++/validators/validator.h:
+
+/usr/include/libxml++-2.6/libxml++/validators/dtdvalidator.h:
+
+/usr/include/libxml++-2.6/libxml++/validators/schemavalidator.h:
+
+/usr/include/libxml++-2.6/libxml++/schema.h:
+
+/usr/include/glibmm-2.4/glibmm.h:
+
+/usr/include/glibmm-2.4/glibmm/arrayhandle.h:
+
+/usr/include/glibmm-2.4/glibmm/containerhandle_shared.h:
+
+/usr/include/glibmm-2.4/glibmm/refptr.h:
+
+/usr/include/glibmm-2.4/glibmm/wrap.h:
+
+/usr/include/glib-2.0/glib-object.h:
+
+/usr/include/glib-2.0/gobject/gbinding.h:
+
+/usr/include/glib-2.0/gobject/gobject.h:
+
+/usr/include/glib-2.0/gobject/gtype.h:
+
+/usr/include/glib-2.0/gobject/gvalue.h:
+
+/usr/include/glib-2.0/gobject/gparam.h:
+
+/usr/include/glib-2.0/gobject/gclosure.h:
+
+/usr/include/glib-2.0/gobject/gsignal.h:
+
+/usr/include/glib-2.0/gobject/gmarshal.h:
+
+/usr/include/glib-2.0/gobject/gboxed.h:
+
+/usr/include/glib-2.0/gobject/genums.h:
+
+/usr/include/glib-2.0/gobject/gparamspecs.h:
+
+/usr/include/glib-2.0/gobject/gsourceclosure.h:
+
+/usr/include/glib-2.0/gobject/gtypemodule.h:
+
+/usr/include/glib-2.0/gobject/gtypeplugin.h:
+
+/usr/include/glib-2.0/gobject/gvaluearray.h:
+
+/usr/include/glib-2.0/gobject/gvaluetypes.h:
+
+/usr/include/glibmm-2.4/glibmm/objectbase.h:
+
+/usr/include/glibmm-2.4/glibmm/signalproxy.h:
+
+/usr/include/glibmm-2.4/glibmm/signalproxy_connectionnode.h:
+
+/usr/include/glibmm-2.4/glibmm/propertyproxy.h:
+
+/usr/include/glibmm-2.4/glibmm/propertyproxy_base.h:
+
+/usr/include/glibmm-2.4/glibmm/value.h:
+
+/usr/include/glibmm-2.4/glibmm/value_custom.h:
+
+/usr/include/glibmm-2.4/glibmm/value_basictypes.h:
+
+/usr/include/glibmm-2.4/glibmm/quark.h:
+
+/usr/include/glibmm-2.4/glibmm/debug.h:
+
+/usr/include/glibmm-2.4/glibmm/balancedtree.h:
+
+/usr/include/glibmm-2.4/glibmm/error.h:
+
+/usr/include/glibmm-2.4/glibmm/exception.h:
+
+/usr/include/glibmm-2.4/glibmm/checksum.h:
+
+/usr/include/glibmm-2.4/glibmm/class.h:
+
+/usr/include/glibmm-2.4/glibmm/convert.h:
+
+/usr/include/glibmm-2.4/glibmm/date.h:
+
+/usr/include/glibmm-2.4/glibmm/dispatcher.h:
+
+/usr/include/glibmm-2.4/glibmm/main.h:
+
+/usr/include/glibmm-2.4/glibmm/timeval.h:
+
+/usr/include/glibmm-2.4/glibmm/priorities.h:
+
+/usr/include/glibmm-2.4/glibmm/exceptionhandler.h:
+
+/usr/include/glibmm-2.4/glibmm/fileutils.h:
+
+/usr/include/glibmm-2.4/glibmm/helperlist.h:
+
+/usr/include/glibmm-2.4/glibmm/containers.h:
+
+/usr/include/glibmm-2.4/glibmm/sarray.h:
+
+/usr/include/glibmm-2.4/glibmm/interface.h:
+
+/usr/include/glibmm-2.4/glibmm/object.h:
+
+/usr/include/glibmm-2.4/glibmm/utility.h:
+
+/usr/include/glibmm-2.4/glibmm/iochannel.h:
+
+/usr/include/glibmm-2.4/glibmm/init.h:
+
+/usr/include/glibmm-2.4/glibmm/keyfile.h:
+
+/usr/include/glibmm-2.4/glibmm/streamiochannel.h:
+
+/usr/include/glibmm-2.4/glibmm/listhandle.h:
+
+/usr/include/glibmm-2.4/glibmm/markup.h:
+
+/usr/include/glibmm-2.4/glibmm/miscutils.h:
+
+/usr/include/glibmm-2.4/glibmm/module.h:
+
+/usr/include/glibmm-2.4/glibmm/nodetree.h:
+
+/usr/include/glibmm-2.4/glibmm/optioncontext.h:
+
+/usr/include/glibmm-2.4/glibmm/optionentry.h:
+
+/usr/include/glibmm-2.4/glibmm/optiongroup.h:
+
+/usr/include/sigc++-2.0/sigc++/slot.h:
+
+/usr/include/glibmm-2.4/glibmm/pattern.h:
+
+/usr/include/glibmm-2.4/glibmm/property.h:
+
+/usr/include/glibmm-2.4/glibmm/random.h:
+
+/usr/include/glibmm-2.4/glibmm/regex.h:
+
+/usr/include/glibmm-2.4/glibmm/shell.h:
+
+/usr/include/glibmm-2.4/glibmm/slisthandle.h:
+
+/usr/include/glibmm-2.4/glibmm/spawn.h:
+
+/usr/include/glibmm-2.4/glibmm/stringutils.h:
+
+/usr/include/glibmm-2.4/glibmm/thread.h:
+
+/usr/include/glibmm-2.4/glibmm/threadpool.h:
+
+/usr/include/glibmm-2.4/glibmm/timer.h:
+
+/usr/include/glibmm-2.4/glibmm/uriutils.h:
+
+/usr/include/glibmm-2.4/glibmm/valuearray.h:
+
+/usr/include/glibmm-2.4/glibmm/variant.h:
+
+/usr/include/glibmm-2.4/glibmm/varianttype.h:
+
+/usr/include/glibmm-2.4/glibmm/variant_basictypes.h:
+
+/usr/include/glibmm-2.4/glibmm/variantiter.h:
+
+/usr/include/giomm-2.4/giomm.h:
+
+/usr/include/giomm-2.4/giomm/appinfo.h:
+
+/usr/include/giomm-2.4/giomm/icon.h:
+
+/usr/include/giomm-2.4/giomm/asyncresult.h:
+
+/usr/include/giomm-2.4/giomm/bufferedinputstream.h:
+
+/usr/include/giomm-2.4/giomm/filterinputstream.h:
+
+/usr/include/giomm-2.4/giomm/inputstream.h:
+
+/usr/include/giomm-2.4/giomm/cancellable.h:
+
+/usr/include/giomm-2.4/giomm/bufferedoutputstream.h:
+
+/usr/include/giomm-2.4/giomm/filteroutputstream.h:
+
+/usr/include/giomm-2.4/giomm/outputstream.h:
+
+/usr/include/giomm-2.4/giomm/contenttype.h:
+
+/usr/include/giomm-2.4/giomm/file.h:
+
+/usr/include/giomm-2.4/giomm/fileattributeinfolist.h:
+
+/usr/include/giomm-2.4/giomm/fileattributeinfo.h:
+
+/usr/include/glib-2.0/gio/gio.h:
+
+/usr/include/glib-2.0/gio/giotypes.h:
+
+/usr/include/glib-2.0/gio/gioenums.h:
+
+/usr/include/glib-2.0/gio/gappinfo.h:
+
+/usr/include/glib-2.0/gio/gasyncinitable.h:
+
+/usr/include/glib-2.0/gio/ginitable.h:
+
+/usr/include/glib-2.0/gio/gasyncresult.h:
+
+/usr/include/glib-2.0/gio/gbufferedinputstream.h:
+
+/usr/include/glib-2.0/gio/gfilterinputstream.h:
+
+/usr/include/glib-2.0/gio/ginputstream.h:
+
+/usr/include/glib-2.0/gio/gbufferedoutputstream.h:
+
+/usr/include/glib-2.0/gio/gfilteroutputstream.h:
+
+/usr/include/glib-2.0/gio/goutputstream.h:
+
+/usr/include/glib-2.0/gio/gcancellable.h:
+
+/usr/include/glib-2.0/gio/gcharsetconverter.h:
+
+/usr/include/glib-2.0/gio/gconverter.h:
+
+/usr/include/glib-2.0/gio/gcontenttype.h:
+
+/usr/include/glib-2.0/gio/gconverterinputstream.h:
+
+/usr/include/glib-2.0/gio/gconverteroutputstream.h:
+
+/usr/include/glib-2.0/gio/gcredentials.h:
+
+/usr/include/glib-2.0/gio/gdatainputstream.h:
+
+/usr/include/glib-2.0/gio/gdataoutputstream.h:
+
+/usr/include/glib-2.0/gio/gdbusaddress.h:
+
+/usr/include/glib-2.0/gio/gdbusauthobserver.h:
+
+/usr/include/glib-2.0/gio/gdbusconnection.h:
+
+/usr/include/glib-2.0/gio/gdbuserror.h:
+
+/usr/include/glib-2.0/gio/gdbusintrospection.h:
+
+/usr/include/glib-2.0/gio/gdbusmessage.h:
+
+/usr/include/glib-2.0/gio/gdbusmethodinvocation.h:
+
+/usr/include/glib-2.0/gio/gdbusnameowning.h:
+
+/usr/include/glib-2.0/gio/gdbusnamewatching.h:
+
+/usr/include/glib-2.0/gio/gdbusproxy.h:
+
+/usr/include/glib-2.0/gio/gdbusserver.h:
+
+/usr/include/glib-2.0/gio/gdbusutils.h:
+
+/usr/include/glib-2.0/gio/gdrive.h:
+
+/usr/include/glib-2.0/gio/gemblemedicon.h:
+
+/usr/include/glib-2.0/gio/gicon.h:
+
+/usr/include/glib-2.0/gio/gemblem.h:
+
+/usr/include/glib-2.0/gio/gfileattribute.h:
+
+/usr/include/glib-2.0/gio/gfileenumerator.h:
+
+/usr/include/glib-2.0/gio/gfile.h:
+
+/usr/include/glib-2.0/gio/gfileicon.h:
+
+/usr/include/glib-2.0/gio/gfileinfo.h:
+
+/usr/include/glib-2.0/gio/gfileinputstream.h:
+
+/usr/include/glib-2.0/gio/gfileiostream.h:
+
+/usr/include/glib-2.0/gio/giostream.h:
+
+/usr/include/glib-2.0/gio/gioerror.h:
+
+/usr/include/glib-2.0/gio/gfilemonitor.h:
+
+/usr/include/glib-2.0/gio/gfilenamecompleter.h:
+
+/usr/include/glib-2.0/gio/gfileoutputstream.h:
+
+/usr/include/glib-2.0/gio/ginetaddress.h:
+
+/usr/include/glib-2.0/gio/ginetsocketaddress.h:
+
+/usr/include/glib-2.0/gio/gsocketaddress.h:
+
+/usr/include/glib-2.0/gio/gioenumtypes.h:
+
+/usr/include/glib-2.0/gio/giomodule.h:
+
+/usr/include/glib-2.0/gmodule.h:
+
+/usr/include/glib-2.0/gio/gioscheduler.h:
+
+/usr/include/glib-2.0/gio/gloadableicon.h:
+
+/usr/include/glib-2.0/gio/gmemoryinputstream.h:
+
+/usr/include/glib-2.0/gio/gmemoryoutputstream.h:
+
+/usr/include/glib-2.0/gio/gmount.h:
+
+/usr/include/glib-2.0/gio/gmountoperation.h:
+
+/usr/include/glib-2.0/gio/gnativevolumemonitor.h:
+
+/usr/include/glib-2.0/gio/gvolumemonitor.h:
+
+/usr/include/glib-2.0/gio/gnetworkaddress.h:
+
+/usr/include/glib-2.0/gio/gnetworkservice.h:
+
+/usr/include/glib-2.0/gio/gpermission.h:
+
+/usr/include/glib-2.0/gio/gproxy.h:
+
+/usr/include/glib-2.0/gio/gproxyaddress.h:
+
+/usr/include/glib-2.0/gio/gproxyaddressenumerator.h:
+
+/usr/include/glib-2.0/gio/gsocketaddressenumerator.h:
+
+/usr/include/glib-2.0/gio/gproxyresolver.h:
+
+/usr/include/glib-2.0/gio/gresolver.h:
+
+/usr/include/glib-2.0/gio/gseekable.h:
+
+/usr/include/glib-2.0/gio/gsettings.h:
+
+/usr/include/glib-2.0/gio/gsimpleasyncresult.h:
+
+/usr/include/glib-2.0/gio/gsimplepermission.h:
+
+/usr/include/glib-2.0/gio/gsocketclient.h:
+
+/usr/include/glib-2.0/gio/gsocketconnectable.h:
+
+/usr/include/glib-2.0/gio/gsocketconnection.h:
+
+/usr/include/glib-2.0/gio/gsocket.h:
+
+/usr/include/glib-2.0/gio/gsocketcontrolmessage.h:
+
+/usr/include/glib-2.0/gio/gsocketlistener.h:
+
+/usr/include/glib-2.0/gio/gsocketservice.h:
+
+/usr/include/glib-2.0/gio/gsrvtarget.h:
+
+/usr/include/glib-2.0/gio/gtcpconnection.h:
+
+/usr/include/glib-2.0/gio/gthemedicon.h:
+
+/usr/include/glib-2.0/gio/gthreadedsocketservice.h:
+
+/usr/include/glib-2.0/gio/gvfs.h:
+
+/usr/include/glib-2.0/gio/gvolume.h:
+
+/usr/include/glib-2.0/gio/gzlibcompressor.h:
+
+/usr/include/glib-2.0/gio/gzlibdecompressor.h:
+
+/usr/include/giomm-2.4/giomm/fileenumerator.h:
+
+/usr/include/giomm-2.4/giomm/fileinfo.h:
+
+/usr/include/giomm-2.4/giomm/fileinputstream.h:
+
+/usr/include/giomm-2.4/giomm/seekable.h:
+
+/usr/include/giomm-2.4/giomm/fileiostream.h:
+
+/usr/include/giomm-2.4/giomm/iostream.h:
+
+/usr/include/giomm-2.4/giomm/filemonitor.h:
+
+/usr/include/giomm-2.4/giomm/fileoutputstream.h:
+
+/usr/include/giomm-2.4/giomm/mountoperation.h:
+
+/usr/include/giomm-2.4/giomm/drive.h:
+
+/usr/include/giomm-2.4/giomm/mount.h:
+
+/usr/include/giomm-2.4/giomm/error.h:
+
+/usr/include/giomm-2.4/giomm/datainputstream.h:
+
+/usr/include/giomm-2.4/giomm/enums.h:
+
+/usr/include/giomm-2.4/giomm/dataoutputstream.h:
+
+/usr/include/giomm-2.4/giomm/dbusauthobserver.h:
+
+/usr/include/giomm-2.4/giomm/credentials.h:
+
+/usr/include/giomm-2.4/giomm/dbusconnection.h:
+
+/usr/include/giomm-2.4/giomm/initable.h:
+
+/usr/include/giomm-2.4/giomm/asyncinitable.h:
+
+/usr/include/giomm-2.4/giomm/dbusmessage.h:
+
+/usr/include/giomm-2.4/giomm/dbusmethodinvocation.h:
+
+/usr/include/giomm-2.4/giomm/dbusownname.h:
+
+/usr/include/giomm-2.4/giomm/dbusserver.h:
+
+/usr/include/giomm-2.4/giomm/desktopappinfo.h:
+
+/usr/include/giomm-2.4/giomm/emblemedicon.h:
+
+/usr/include/giomm-2.4/giomm/emblem.h:
+
+/usr/include/giomm-2.4/giomm/fileicon.h:
+
+/usr/include/giomm-2.4/giomm/loadableicon.h:
+
+/usr/include/giomm-2.4/giomm/filenamecompleter.h:
+
+/usr/include/giomm-2.4/giomm/inetaddress.h:
+
+/usr/include/giomm-2.4/giomm/inetsocketaddress.h:
+
+/usr/include/giomm-2.4/giomm/socketaddress.h:
+
+/usr/include/giomm-2.4/giomm/socketconnectable.h:
+
+/usr/include/giomm-2.4/giomm/socketaddressenumerator.h:
+
+/usr/include/giomm-2.4/giomm/init.h:
+
+/usr/include/giomm-2.4/giomm/wrap_init.h:
+
+/usr/include/giomm-2.4/giomm/memoryinputstream.h:
+
+/usr/include/giomm-2.4/giomm/memoryoutputstream.h:
+
+/usr/include/giomm-2.4/giomm/networkaddress.h:
+
+/usr/include/giomm-2.4/giomm/networkservice.h:
+
+/usr/include/giomm-2.4/giomm/proxy.h:
+
+/usr/include/giomm-2.4/giomm/proxyaddress.h:
+
+/usr/include/giomm-2.4/giomm/proxyresolver.h:
+
+/usr/include/giomm-2.4/giomm/resolver.h:
+
+/usr/include/giomm-2.4/giomm/srvtarget.h:
+
+/usr/include/giomm-2.4/giomm/settings.h:
+
+/usr/include/giomm-2.4/giomm/settingsbackend.h:
+
+/usr/include/giomm-2.4/giomm/socket.h:
+
+/usr/include/giomm-2.4/giomm/socketclient.h:
+
+/usr/include/giomm-2.4/giomm/socketconnection.h:
+
+/usr/include/giomm-2.4/giomm/socketcontrolmessage.h:
+
+/usr/include/giomm-2.4/giomm/tcpconnection.h:
+
+/usr/include/giomm-2.4/giomm/themedicon.h:
+
+/usr/include/giomm-2.4/giomm/unixconnection.h:
+
+/usr/include/giomm-2.4/giomm/unixcredentialsmessage.h:
+
+/usr/include/giomm-2.4/giomm/unixfdlist.h:
+
+/usr/include/giomm-2.4/giomm/unixfdmessage.h:
+
+/usr/include/giomm-2.4/giomm/unixinputstream.h:
+
+/usr/include/giomm-2.4/giomm/unixoutputstream.h:
+
+/usr/include/giomm-2.4/giomm/volume.h:
+
+/usr/include/giomm-2.4/giomm/volumemonitor.h:
=== added directory 'wntrlingua-cli/dist'
=== added directory 'wntrlingua-cli/dist/Debug'
=== added directory 'wntrlingua-cli/dist/Debug/GNU-Linux-x86'
=== added file 'wntrlingua-cli/dist/Debug/GNU-Linux-x86/wntrlingua-cli'
Binary files wntrlingua-cli/dist/Debug/GNU-Linux-x86/wntrlingua-cli 1970-01-01 00:00:00 +0000 and wntrlingua-cli/dist/Debug/GNU-Linux-x86/wntrlingua-cli 2011-03-27 15:48:31 +0000 differ
=== added file 'wntrlingua-cli/main.cpp'
--- wntrlingua-cli/main.cpp 1970-01-01 00:00:00 +0000
+++ wntrlingua-cli/main.cpp 2011-03-27 15:48:31 +0000
@@ -0,0 +1,150 @@
+/*
+ * main.cpp
+ * This file is part of Wintermute Linguistics: CLI
+ *
+ * Copyright (C) 2011 - The Wintermute Development Team
+ *
+ * Wintermute Linguistics: CLI is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Wintermute Linguistics: CLI is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Wintermute Linguistics: CLI; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301 USA
+ */
+
+
+#include <wntrlingua.hpp>
+#include <EnglishParser.hpp>
+#include <libxml++/libxml++.h>
+#include <glibmm.h>
+#include <giomm.h>
+#include <iostream>
+#include <cstdlib>
+#include <fstream>
+#include <vector>
+
+using namespace std;
+using namespace Glib;
+using namespace Gio;
+using namespace xmlpp;
+using namespace Wintermute::Linguistics;
+using std::cout;
+using std::cin;
+using std::endl;
+using Wintermute::Linguistics::EnglishParser;
+using xmlpp::DomParser;
+using xmlpp::Document;
+
+static EnglishParser *theParser = NULL;
+static string data = "";
+
+void generateMeaning(const string& meaningID) {
+ string path = Configuration::getSemanticRoot() + "/sem/";
+ Glib::Dir onto(path);
+ string newPath = path + meaningID;
+ ofstream outMeaning(newPath.c_str(), ios::out | ios::trunc);
+ outMeaning.close();
+}
+
+string tolowerString(const string& theString) {
+ string aString;
+ for (int i = 0; i < theString.size(); i++)
+ aString += tolower(theString.at(i));
+ return aString;
+}
+
+int show(const string &command = "help") {
+ char buffer[256];
+ if (command == "exit")
+ return false;
+
+ if (command == "dump") {
+ const Wordlist *list = theParser->getList();
+ cout << list->size() << " words in the list, with " << theParser->getLexicalCount() << " loaded." << endl
+ << LexicalNode::count() << " words in memory, with " << LexicalLink::count() << " links. ";
+ } else if (command == "hash") {
+ cout << "(Word to hash) ?:";
+ cin >> buffer;
+ cout << "Hash: " << theParser->toID(buffer);
+ } else if (command == "parse") {
+ theParser->parseText("I am a blue boy.");
+ } else if (command == "create") {
+ // obtain the locale
+ char localeSelected[5];
+ int words = 0, flags = 0;
+ cout << "Locale: ";
+ cin >> localeSelected;
+
+ // generate Uri.
+ string uriCore = Configuration::getRootDirectory(localeSelected) + "/wrd-db.xml";
+ string lexicalPath = Configuration::getLexicalRoot(localeSelected);
+
+ // load document.
+ DomParser aParser(uriCore);
+ Document* aDocument = aParser.get_document();
+ Element* rootNode = aDocument->get_root_node();
+ cout << "Collecting words..." << endl;
+ NodeSet theNodes = rootNode->find("Entry");
+
+ cout << "Found " << theNodes.size() << " words." << endl;
+ for (NodeSet::iterator itr = theNodes.begin(); itr != theNodes.end(); itr++) {
+ Element* aElement = dynamic_cast<Element*> (*itr);
+ NodeSet theFlags = aElement->find("Path");
+ string strText = tolowerString(aElement->get_attribute_value("text"));
+ theParser->getList()->append(strText);
+ string hash = theParser->toID(strText);
+
+ cout << "** Found " << theFlags.size() << " flags for '" << strText << "[" << hash << "]" << "'." << endl;
+
+
+ string newPath = lexicalPath + "/" + hash;
+ ofstream outWord;
+ outWord.open(newPath.c_str(), ios::out);
+ outWord << strText << endl;
+
+ for (NodeSet::iterator itr = theFlags.begin(); itr != theFlags.end(); itr++) {
+ Element* thePath = dynamic_cast<Element*> (*itr);
+ string strMeaningID = thePath->get_attribute_value("semid");
+ string strFlags = thePath->get_attribute_value("flags");
+ generateMeaning(strMeaningID);
+ outWord << strFlags << " " << strMeaningID << endl;
+ flags += 1;
+ }
+
+ outWord.close();
+ words += 1;
+ }
+
+ cout << "Generated " << flags << " lexical links for " << words << " words for the '" << localeSelected << "' locale." << endl;
+ } else if (command == "help" || command.empty()) {
+ cout << "Commands:" << endl
+ << "'help' : this block of text." << endl
+ << "'exit' : Quits." << endl
+ << "'hash' : Gets an internal hash of a word." << endl
+ << "'dump' : Dump wordlist." << endl
+ << "'create' : Create ontology from scratch." << endl
+ << "'parse' : Parse a sentence." << endl;
+ } else {
+ cout << "Unknown command." << endl;
+ return show("help");
+ }
+
+ cout << endl << "(Command, type 'help' for a list) ?:";
+ cin >> buffer;
+ return show(buffer);
+}
+int main(int argc, char** argv) {
+ cout << "Wintermute Linguistics " << __DATE__ << endl;
+ Wintermute::Linguistics::Configuration::setRootDirectory(Glib::get_current_dir() + string("/store"));
+ theParser = new EnglishParser;
+ show();
+ return 0;
+}
\ No newline at end of file
=== added directory 'wntrlingua-cli/nbproject'
=== added file 'wntrlingua-cli/nbproject/Makefile-Debug.mk'
--- wntrlingua-cli/nbproject/Makefile-Debug.mk 1970-01-01 00:00:00 +0000
+++ wntrlingua-cli/nbproject/Makefile-Debug.mk 2011-03-27 15:48:31 +0000
@@ -0,0 +1,92 @@
+#
+# Generated Makefile - do not edit!
+#
+# Edit the Makefile in the project folder instead (../Makefile). Each target
+# has a -pre and a -post target defined where you can add customized code.
+#
+# This makefile implements configuration specific macros and targets.
+
+
+# Environment
+MKDIR=mkdir
+CP=cp
+GREP=grep
+NM=nm
+CCADMIN=CCadmin
+RANLIB=ranlib
+CC=gcc
+CCC=g++
+CXX=g++
+FC=
+AS=as
+
+# Macros
+CND_PLATFORM=GNU-Linux-x86
+CND_CONF=Debug
+CND_DISTDIR=dist
+
+# Include project Makefile
+include Makefile
+
+# Object Directory
+OBJECTDIR=build/${CND_CONF}/${CND_PLATFORM}
+
+# Object Files
+OBJECTFILES= \
+ ${OBJECTDIR}/main.o
+
+
+# C Compiler Flags
+CFLAGS=
+
+# CC Compiler Flags
+CCFLAGS=`pkg-config --cflags --libs glibmm-2.4 giomm-2.4 sigc++-2.0 libxml++-2.6 libcurl`
+CXXFLAGS=`pkg-config --cflags --libs glibmm-2.4 giomm-2.4 sigc++-2.0 libxml++-2.6 libcurl`
+
+# Fortran Compiler Flags
+FFLAGS=
+
+# Assembler Flags
+ASFLAGS=
+
+# Link Libraries and Options
+LDLIBSOPTIONS=-Wl,-rpath ../wntrlingua-en/dist/Debug/GNU-Linux-x86 -L../wntrlingua-en/dist/Debug/GNU-Linux-x86 -lwntrlingua-en -Wl,-rpath ../wntrlingua-core/dist/Debug/GNU-Linux-x86 -L../wntrlingua-core/dist/Debug/GNU-Linux-x86 -lwntrlingua-core
+
+# Build Targets
+.build-conf: ${BUILD_SUBPROJECTS}
+ "${MAKE}" -f nbproject/Makefile-Debug.mk dist/Debug/GNU-Linux-x86/wntrlingua-cli
+
+dist/Debug/GNU-Linux-x86/wntrlingua-cli: ../wntrlingua-en/dist/Debug/GNU-Linux-x86/libwntrlingua-en.so
+
+dist/Debug/GNU-Linux-x86/wntrlingua-cli: ../wntrlingua-core/dist/Debug/GNU-Linux-x86/libwntrlingua-core.so
+
+dist/Debug/GNU-Linux-x86/wntrlingua-cli: ${OBJECTFILES}
+ ${MKDIR} -p dist/Debug/GNU-Linux-x86
+ ${LINK.cc} -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/wntrlingua-cli ${OBJECTFILES} ${LDLIBSOPTIONS}
+
+${OBJECTDIR}/main.o: main.cpp
+ ${MKDIR} -p ${OBJECTDIR}
+ ${RM} $@.d
+ $(COMPILE.cc) -g -I../wntrlingua-core -I../wntrlingua-en -I/usr/include/curl -MMD -MP -MF $@.d -o ${OBJECTDIR}/main.o main.cpp
+
+# Subprojects
+.build-subprojects:
+ cd ../wntrlingua-en && ${MAKE} -f Makefile CONF=Debug
+ cd ../wntrlingua-core && ${MAKE} -f Makefile CONF=Debug
+ cd ../wntrlingua-core && ${MAKE} -f Makefile CONF=Debug
+
+# Clean Targets
+.clean-conf: ${CLEAN_SUBPROJECTS}
+ ${RM} -r build/Debug
+ ${RM} dist/Debug/GNU-Linux-x86/wntrlingua-cli
+
+# Subprojects
+.clean-subprojects:
+ cd ../wntrlingua-en && ${MAKE} -f Makefile CONF=Debug clean
+ cd ../wntrlingua-core && ${MAKE} -f Makefile CONF=Debug clean
+ cd ../wntrlingua-core && ${MAKE} -f Makefile CONF=Debug clean
+
+# Enable dependency checking
+.dep.inc: .depcheck-impl
+
+include .dep.inc
=== added file 'wntrlingua-cli/nbproject/Makefile-Release.mk'
--- wntrlingua-cli/nbproject/Makefile-Release.mk 1970-01-01 00:00:00 +0000
+++ wntrlingua-cli/nbproject/Makefile-Release.mk 2011-03-27 15:48:31 +0000
@@ -0,0 +1,82 @@
+#
+# Generated Makefile - do not edit!
+#
+# Edit the Makefile in the project folder instead (../Makefile). Each target
+# has a -pre and a -post target defined where you can add customized code.
+#
+# This makefile implements configuration specific macros and targets.
+
+
+# Environment
+MKDIR=mkdir
+CP=cp
+GREP=grep
+NM=nm
+CCADMIN=CCadmin
+RANLIB=ranlib
+CC=gcc
+CCC=g++
+CXX=g++
+FC=
+AS=as
+
+# Macros
+CND_PLATFORM=GNU-Linux-x86
+CND_CONF=Release
+CND_DISTDIR=dist
+
+# Include project Makefile
+include Makefile
+
+# Object Directory
+OBJECTDIR=build/${CND_CONF}/${CND_PLATFORM}
+
+# Object Files
+OBJECTFILES= \
+ ${OBJECTDIR}/main.o
+
+
+# C Compiler Flags
+CFLAGS=
+
+# CC Compiler Flags
+CCFLAGS=
+CXXFLAGS=
+
+# Fortran Compiler Flags
+FFLAGS=
+
+# Assembler Flags
+ASFLAGS=
+
+# Link Libraries and Options
+LDLIBSOPTIONS=
+
+# Build Targets
+.build-conf: ${BUILD_SUBPROJECTS}
+ "${MAKE}" -f nbproject/Makefile-Release.mk dist/Release/GNU-Linux-x86/wntrlingua-cli
+
+dist/Release/GNU-Linux-x86/wntrlingua-cli: ${OBJECTFILES}
+ ${MKDIR} -p dist/Release/GNU-Linux-x86
+ ${LINK.cc} -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/wntrlingua-cli ${OBJECTFILES} ${LDLIBSOPTIONS}
+
+${OBJECTDIR}/main.o: main.cpp
+ ${MKDIR} -p ${OBJECTDIR}
+ ${RM} $@.d
+ $(COMPILE.cc) -O2 -MMD -MP -MF $@.d -o ${OBJECTDIR}/main.o main.cpp
+
+# Subprojects
+.build-subprojects:
+
+# Clean Targets
+.clean-conf: ${CLEAN_SUBPROJECTS}
+ ${RM} -r build/Release
+ ${RM} dist/Release/GNU-Linux-x86/wntrlingua-cli
+
+# Subprojects
+.clean-subprojects:
+
+# Enable dependency checking
+.dep.inc: .depcheck-impl
+
+include .dep.inc
=== added file 'wntrlingua-cli/nbproject/Makefile-impl.mk'
--- wntrlingua-cli/nbproject/Makefile-impl.mk 1970-01-01 00:00:00 +0000
+++ wntrlingua-cli/nbproject/Makefile-impl.mk 2011-03-27 15:48:31 +0000
@@ -0,0 +1,133 @@
+#
+# Generated Makefile - do not edit!
+#
+# Edit the Makefile in the project folder instead (../Makefile). Each target
+# has a pre- and a post- target defined where you can add customization code.
+#
+# This makefile implements macros and targets common to all configurations.
+#
+# NOCDDL
+
+
+# Building and Cleaning subprojects are done by default, but can be controlled with the SUB
+# macro. If SUB=no, subprojects will not be built or cleaned. The following macro
+# statements set BUILD_SUB-CONF and CLEAN_SUB-CONF to .build-reqprojects-conf
+# and .clean-reqprojects-conf unless SUB has the value 'no'
+SUB_no=NO
+SUBPROJECTS=${SUB_${SUB}}
+BUILD_SUBPROJECTS_=.build-subprojects
+BUILD_SUBPROJECTS_NO=
+BUILD_SUBPROJECTS=${BUILD_SUBPROJECTS_${SUBPROJECTS}}
+CLEAN_SUBPROJECTS_=.clean-subprojects
+CLEAN_SUBPROJECTS_NO=
+CLEAN_SUBPROJECTS=${CLEAN_SUBPROJECTS_${SUBPROJECTS}}
+
+
+# Project Name
+PROJECTNAME=wntrlingua-cli
+
+# Active Configuration
+DEFAULTCONF=Debug
+CONF=${DEFAULTCONF}
+
+# All Configurations
+ALLCONFS=Debug Release
+
+
+# build
+.build-impl: .build-pre .validate-impl .depcheck-impl
+ @#echo "=> Running $@... Configuration=$(CONF)"
+ "${MAKE}" -f nbproject/Makefile-${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .build-conf
+
+
+# clean
+.clean-impl: .clean-pre .validate-impl .depcheck-impl
+ @#echo "=> Running $@... Configuration=$(CONF)"
+ "${MAKE}" -f nbproject/Makefile-${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .clean-conf
+
+
+# clobber
+.clobber-impl: .clobber-pre .depcheck-impl
+ @#echo "=> Running $@..."
+ for CONF in ${ALLCONFS}; \
+ do \
+ "${MAKE}" -f nbproject/Makefile-$${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .clean-conf; \
+ done
+
+# all
+.all-impl: .all-pre .depcheck-impl
+ @#echo "=> Running $@..."
+ for CONF in ${ALLCONFS}; \
+ do \
+ "${MAKE}" -f nbproject/Makefile-$${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .build-conf; \
+ done
+
+# build tests
+.build-tests-impl: .build-impl .build-tests-pre
+ @#echo "=> Running $@... Configuration=$(CONF)"
+ "${MAKE}" -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .build-tests-conf
+
+# run tests
+.test-impl: .build-tests-impl .test-pre
+ @#echo "=> Running $@... Configuration=$(CONF)"
+ "${MAKE}" -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .test-conf
+
+# dependency checking support
+.depcheck-impl:
+ @echo "# This code depends on make tool being used" >.dep.inc
+ @if [ -n "${MAKE_VERSION}" ]; then \
+ echo "DEPFILES=\$$(wildcard \$$(addsuffix .d, \$${OBJECTFILES}))" >>.dep.inc; \
+ echo "ifneq (\$${DEPFILES},)" >>.dep.inc; \
+ echo "include \$${DEPFILES}" >>.dep.inc; \
+ echo "endif" >>.dep.inc; \
+ else \
+ echo ".KEEP_STATE:" >>.dep.inc; \
+ echo ".KEEP_STATE_FILE:.make.state.\$${CONF}" >>.dep.inc; \
+ fi
+
+# configuration validation
+.validate-impl:
+ @if [ ! -f nbproject/Makefile-${CONF}.mk ]; \
+ then \
+ echo ""; \
+ echo "Error: can not find the makefile for configuration '${CONF}' in project ${PROJECTNAME}"; \
+ echo "See 'make help' for details."; \
+ echo "Current directory: " `pwd`; \
+ echo ""; \
+ fi
+ @if [ ! -f nbproject/Makefile-${CONF}.mk ]; \
+ then \
+ exit 1; \
+ fi
+
+
+# help
+.help-impl: .help-pre
+ @echo "This makefile supports the following configurations:"
+ @echo " ${ALLCONFS}"
+ @echo ""
+ @echo "and the following targets:"
+ @echo " build (default target)"
+ @echo " clean"
+ @echo " clobber"
+ @echo " all"
+ @echo " help"
+ @echo ""
+ @echo "Makefile Usage:"
+ @echo " make [CONF=<CONFIGURATION>] [SUB=no] build"
+ @echo " make [CONF=<CONFIGURATION>] [SUB=no] clean"
+ @echo " make [SUB=no] clobber"
+ @echo " make [SUB=no] all"
+ @echo " make help"
+ @echo ""
+ @echo "Target 'build' will build a specific configuration and, unless 'SUB=no',"
+ @echo " also build subprojects."
+ @echo "Target 'clean' will clean a specific configuration and, unless 'SUB=no',"
+ @echo " also clean subprojects."
+ @echo "Target 'clobber' will remove all built files from all configurations and,"
+ @echo " unless 'SUB=no', also from subprojects."
+ @echo "Target 'all' will will build all configurations and, unless 'SUB=no',"
+ @echo " also build subprojects."
+ @echo "Target 'help' prints this message."
+ @echo ""
+
=== added file 'wntrlingua-cli/nbproject/Makefile-variables.mk'
--- wntrlingua-cli/nbproject/Makefile-variables.mk 1970-01-01 00:00:00 +0000
+++ wntrlingua-cli/nbproject/Makefile-variables.mk 2011-03-27 15:48:31 +0000
@@ -0,0 +1,24 @@
+#
+# Generated - do not edit!
+#
+# NOCDDL
+#
+CND_BASEDIR=`pwd`
+CND_BUILDDIR=build
+CND_DISTDIR=dist
+# Debug configuration
+CND_PLATFORM_Debug=GNU-Linux-x86
+CND_ARTIFACT_DIR_Debug=dist/Debug/GNU-Linux-x86
+CND_ARTIFACT_NAME_Debug=wntrlingua-cli
+CND_ARTIFACT_PATH_Debug=dist/Debug/GNU-Linux-x86/wntrlingua-cli
+CND_PACKAGE_DIR_Debug=dist/Debug/GNU-Linux-x86/package
+CND_PACKAGE_NAME_Debug=wntrlingua-cli.tar
+CND_PACKAGE_PATH_Debug=dist/Debug/GNU-Linux-x86/package/wntrlingua-cli.tar
+# Release configuration
+CND_PLATFORM_Release=GNU-Linux-x86
+CND_ARTIFACT_DIR_Release=dist/Release/GNU-Linux-x86
+CND_ARTIFACT_NAME_Release=wntrlingua-cli
+CND_ARTIFACT_PATH_Release=dist/Release/GNU-Linux-x86/wntrlingua-cli
+CND_PACKAGE_DIR_Release=dist/Release/GNU-Linux-x86/package
+CND_PACKAGE_NAME_Release=wntrlingua-cli.tar
+CND_PACKAGE_PATH_Release=dist/Release/GNU-Linux-x86/package/wntrlingua-cli.tar
=== added file 'wntrlingua-cli/nbproject/Package-Debug.bash'
--- wntrlingua-cli/nbproject/Package-Debug.bash 1970-01-01 00:00:00 +0000
+++ wntrlingua-cli/nbproject/Package-Debug.bash 2011-03-27 15:48:31 +0000
@@ -0,0 +1,74 @@
+#!/bin/bash -x
+
+#
+# Generated - do not edit!
+#
+
+# Macros
+TOP=`pwd`
+CND_PLATFORM=GNU-Linux-x86
+CND_CONF=Debug
+CND_DISTDIR=dist
+NBTMPDIR=build/${CND_CONF}/${CND_PLATFORM}/tmp-packaging
+TMPDIRNAME=tmp-packaging
+OUTPUT_PATH=${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/wntrlingua-cli
+OUTPUT_BASENAME=wntrlingua-cli
+PACKAGE_TOP_DIR=wntrlingua-cli/
+
+# Functions
+function checkReturnCode
+{
+ rc=$?
+ if [ $rc != 0 ]
+ then
+ exit $rc
+ fi
+}
+function makeDirectory
+# $1 directory path
+# $2 permission (optional)
+{
+ mkdir -p "$1"
+ checkReturnCode
+ if [ "$2" != "" ]
+ then
+ chmod $2 "$1"
+ checkReturnCode
+ fi
+}
+function copyFileToTmpDir
+# $1 from-file path
+# $2 to-file path
+# $3 permission
+{
+ cp "$1" "$2"
+ checkReturnCode
+ if [ "$3" != "" ]
+ then
+ chmod $3 "$2"
+ checkReturnCode
+ fi
+}
+
+# Setup
+cd "${TOP}"
+mkdir -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package
+rm -rf ${NBTMPDIR}
+mkdir -p ${NBTMPDIR}
+
+# Copy files and create directories and links
+cd "${TOP}"
+makeDirectory "${NBTMPDIR}/wntrlingua-cli/bin"
+copyFileToTmpDir "${OUTPUT_PATH}" "${NBTMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}" 0755
+
+
+# Generate tar file
+cd "${TOP}"
+rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/wntrlingua-cli.tar
+cd ${NBTMPDIR}
+tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/wntrlingua-cli.tar *
+checkReturnCode
+
+# Cleanup
+cd "${TOP}"
+rm -rf ${NBTMPDIR}
=== added file 'wntrlingua-cli/nbproject/Package-Release.bash'
--- wntrlingua-cli/nbproject/Package-Release.bash 1970-01-01 00:00:00 +0000
+++ wntrlingua-cli/nbproject/Package-Release.bash 2011-03-27 15:48:31 +0000
@@ -0,0 +1,74 @@
+#!/bin/bash -x
+
+#
+# Generated - do not edit!
+#
+
+# Macros
+TOP=`pwd`
+CND_PLATFORM=GNU-Linux-x86
+CND_CONF=Release
+CND_DISTDIR=dist
+NBTMPDIR=build/${CND_CONF}/${CND_PLATFORM}/tmp-packaging
+TMPDIRNAME=tmp-packaging
+OUTPUT_PATH=${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/wntrlingua-cli
+OUTPUT_BASENAME=wntrlingua-cli
+PACKAGE_TOP_DIR=wntrlingua-cli/
+
+# Functions
+function checkReturnCode
+{
+ rc=$?
+ if [ $rc != 0 ]
+ then
+ exit $rc
+ fi
+}
+function makeDirectory
+# $1 directory path
+# $2 permission (optional)
+{
+ mkdir -p "$1"
+ checkReturnCode
+ if [ "$2" != "" ]
+ then
+ chmod $2 "$1"
+ checkReturnCode
+ fi
+}
+function copyFileToTmpDir
+# $1 from-file path
+# $2 to-file path
+# $3 permission
+{
+ cp "$1" "$2"
+ checkReturnCode
+ if [ "$3" != "" ]
+ then
+ chmod $3 "$2"
+ checkReturnCode
+ fi
+}
+
+# Setup
+cd "${TOP}"
+mkdir -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package
+rm -rf ${NBTMPDIR}
+mkdir -p ${NBTMPDIR}
+
+# Copy files and create directories and links
+cd "${TOP}"
+makeDirectory "${NBTMPDIR}/wntrlingua-cli/bin"
+copyFileToTmpDir "${OUTPUT_PATH}" "${NBTMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}" 0755
+
+
+# Generate tar file
+cd "${TOP}"
+rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/wntrlingua-cli.tar
+cd ${NBTMPDIR}
+tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/wntrlingua-cli.tar *
+checkReturnCode
+
+# Cleanup
+cd "${TOP}"
+rm -rf ${NBTMPDIR}
=== added file 'wntrlingua-cli/nbproject/configurations.xml'
--- wntrlingua-cli/nbproject/configurations.xml 1970-01-01 00:00:00 +0000
+++ wntrlingua-cli/nbproject/configurations.xml 2011-03-27 15:48:31 +0000
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configurationDescriptor version="69">
+ <logicalFolder name="root" displayName="root" projectFiles="true">
+ <logicalFolder name="HeaderFiles"
+ displayName="Header Files"
+ projectFiles="true"
+ kind="SOURCE_LOGICAL_FOLDER">
+ </logicalFolder>
+ <logicalFolder name="ResourceFiles"
+ displayName="Resource Files"
+ projectFiles="true"
+ kind="SOURCE_LOGICAL_FOLDER">
+ </logicalFolder>
+ <logicalFolder name="SourceFiles"
+ displayName="Source Files"
+ projectFiles="true"
+ kind="SOURCE_LOGICAL_FOLDER">
+ <itemPath>main.cpp</itemPath>
+ </logicalFolder>
+ <logicalFolder name="TestFiles"
+ displayName="Test Files"
+ projectFiles="false"
+ kind="TEST_LOGICAL_FOLDER">
+ </logicalFolder>
+ <logicalFolder name="ExternalFiles"
+ displayName="Important Files"
+ projectFiles="false"
+ kind="IMPORTANT_FILES_FOLDER">
+ <itemPath>Makefile</itemPath>
+ </logicalFolder>
+ </logicalFolder>
+ <projectmakefile>Makefile</projectmakefile>
+ <confs>
+ <conf name="Debug" type="1">
+ <toolsSet>
+ <developmentServer>localhost</developmentServer>
+ <compilerSet>GNU|GNU</compilerSet>
+ <platform>2</platform>
+ </toolsSet>
+ <compileType>
+ <ccTool>
+ <incDir>
+ <pElem>../wntrlingua-core</pElem>
+ <pElem>../wntrlingua-en</pElem>
+ <pElem>/usr/include/curl</pElem>
+ </incDir>
+ <commandLine>`pkg-config --cflags --libs glibmm-2.4 giomm-2.4 sigc++-2.0 libxml++-2.6 libcurl`</commandLine>
+ </ccTool>
+ <linkerTool>
+ <linkerLibItems>
+ <linkerLibProjectItem>
+ <makeArtifact PL="../wntrlingua-en"
+ CT="2"
+ CN="Debug"
+ AC="true"
+ BL="true"
+ WD="../wntrlingua-en"
+ BC="${MAKE} -f Makefile CONF=Debug"
+ CC="${MAKE} -f Makefile CONF=Debug clean"
+ OP="dist/Debug/GNU-Linux-x86/libwntrlingua-en.so">
+ </makeArtifact>
+ </linkerLibProjectItem>
+ <linkerLibProjectItem>
+ <makeArtifact PL="../wntrlingua-core"
+ CT="2"
+ CN="Debug"
+ AC="true"
+ BL="true"
+ WD="../wntrlingua-core"
+ BC="${MAKE} -f Makefile CONF=Debug"
+ CC="${MAKE} -f Makefile CONF=Debug clean"
+ OP="dist/Debug/GNU-Linux-x86/libwntrlingua-core.so">
+ </makeArtifact>
+ </linkerLibProjectItem>
+ </linkerLibItems>
+ </linkerTool>
+ <requiredProjects>
+ <makeArtifact PL="../wntrlingua-core"
+ CT="2"
+ CN="Debug"
+ AC="true"
+ BL="true"
+ WD="../wntrlingua-core"
+ BC="${MAKE} -f Makefile CONF=Debug"
+ CC="${MAKE} -f Makefile CONF=Debug clean"
+ OP="dist/Debug/GNU-Linux-x86/libwntrlingua-core.so">
+ </makeArtifact>
+ </requiredProjects>
+ </compileType>
+ </conf>
+ <conf name="Release" type="1">
+ <toolsSet>
+ <developmentServer>localhost</developmentServer>
+ <compilerSet>GNU|GNU</compilerSet>
+ <platform>2</platform>
+ </toolsSet>
+ <compileType>
+ <cTool>
+ <developmentMode>5</developmentMode>
+ </cTool>
+ <ccTool>
+ <developmentMode>5</developmentMode>
+ </ccTool>
+ <fortranCompilerTool>
+ <developmentMode>5</developmentMode>
+ </fortranCompilerTool>
+ <asmTool>
+ <developmentMode>5</developmentMode>
+ </asmTool>
+ </compileType>
+ </conf>
+ </confs>
+</configurationDescriptor>
=== added directory 'wntrlingua-cli/nbproject/private'
=== added file 'wntrlingua-cli/nbproject/private/configurations.xml'
--- wntrlingua-cli/nbproject/private/configurations.xml 1970-01-01 00:00:00 +0000
+++ wntrlingua-cli/nbproject/private/configurations.xml 2011-03-27 15:48:31 +0000
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configurationDescriptor version="69">
+ <projectmakefile>Makefile</projectmakefile>
+ <defaultConf>0</defaultConf>
+ <confs>
+ <conf name="Debug" type="1">
+ <gizmo_options version="3">
+ <configurationname>GizmoSimple</configurationname>
+ </gizmo_options>
+ <runprofile version="6">
+ <args></args>
+ <rundir>/home/jacky/Documents/Development/Projects/Desktop/~misc/~wintermute-devel/linguistics-old/bin</rundir>
+ <buildfirst>true</buildfirst>
+ <console-type>0</console-type>
+ <terminal-type>0</terminal-type>
+ <remove-instrumentation>0</remove-instrumentation>
+ <environment>
+ </environment>
+ </runprofile>
+ </conf>
+ <conf name="Release" type="1">
+ <gizmo_options version="3">
+ <configurationname>GizmoSimple</configurationname>
+ </gizmo_options>
+ <runprofile version="6">
+ <args></args>
+ <rundir></rundir>
+ <buildfirst>true</buildfirst>
+ <console-type>0</console-type>
+ <terminal-type>0</terminal-type>
+ <remove-instrumentation>0</remove-instrumentation>
+ <environment>
+ </environment>
+ </runprofile>
+ </conf>
+ </confs>
+</configurationDescriptor>
=== added file 'wntrlingua-cli/nbproject/private/private.properties'
=== added file 'wntrlingua-cli/nbproject/private/private.xml'
--- wntrlingua-cli/nbproject/private/private.xml 1970-01-01 00:00:00 +0000
+++ wntrlingua-cli/nbproject/private/private.xml 2011-03-27 15:48:31 +0000
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project-private xmlns="http://www.netbeans.org/ns/project-private/1">
+ <editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/1"/>
+</project-private>
=== added file 'wntrlingua-cli/nbproject/project.properties'
=== added file 'wntrlingua-cli/nbproject/project.xml'
--- wntrlingua-cli/nbproject/project.xml 1970-01-01 00:00:00 +0000
+++ wntrlingua-cli/nbproject/project.xml 2011-03-27 15:48:31 +0000
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://www.netbeans.org/ns/project/1">
+ <type>org.netbeans.modules.cnd.makeproject</type>
+ <configuration>
+ <data xmlns="http://www.netbeans.org/ns/make-project/1">
+ <name>wntrlingua-cli</name>
+ <make-project-type>0</make-project-type>
+ <c-extensions/>
+ <cpp-extensions>cpp</cpp-extensions>
+ <header-extensions/>
+ <sourceEncoding>UTF-8</sourceEncoding>
+ <make-dep-projects>
+ <make-dep-project>../wntrlingua-core</make-dep-project>
+ <make-dep-project>../wntrlingua-en</make-dep-project>
+ </make-dep-projects>
+ <sourceRootList/>
+ <confList>
+ <confElem>Debug</confElem>
+ <confElem>Release</confElem>
+ </confList>
+ </data>
+ </configuration>
+</project>
=== added directory 'wntrlingua-core'
=== added file 'wntrlingua-core/.dep.inc'
--- wntrlingua-core/.dep.inc 1970-01-01 00:00:00 +0000
+++ wntrlingua-core/.dep.inc 2011-03-27 15:48:31 +0000
@@ -0,0 +1,5 @@
+# This code depends on make tool being used
+DEPFILES=$(wildcard $(addsuffix .d, ${OBJECTFILES}))
+ifneq (${DEPFILES},)
+include ${DEPFILES}
+endif
=== added file 'wntrlingua-core/Makefile'
--- wntrlingua-core/Makefile 1970-01-01 00:00:00 +0000
+++ wntrlingua-core/Makefile 2011-03-27 15:48:31 +0000
@@ -0,0 +1,128 @@
+#
+# There exist several targets which are by default empty and which can be
+# used for execution of your targets. These targets are usually executed
+# before and after some main targets. They are:
+#
+# .build-pre: called before 'build' target
+# .build-post: called after 'build' target
+# .clean-pre: called before 'clean' target
+# .clean-post: called after 'clean' target
+# .clobber-pre: called before 'clobber' target
+# .clobber-post: called after 'clobber' target
+# .all-pre: called before 'all' target
+# .all-post: called after 'all' target
+# .help-pre: called before 'help' target
+# .help-post: called after 'help' target
+#
+# Targets beginning with '.' are not intended to be called on their own.
+#
+# Main targets can be executed directly, and they are:
+#
+# build build a specific configuration
+# clean remove built files from a configuration
+# clobber remove all built files
+# all build all configurations
+# help print help mesage
+#
+# Targets .build-impl, .clean-impl, .clobber-impl, .all-impl, and
+# .help-impl are implemented in nbproject/makefile-impl.mk.
+#
+# Available make variables:
+#
+# CND_BASEDIR base directory for relative paths
+# CND_DISTDIR default top distribution directory (build artifacts)
+# CND_BUILDDIR default top build directory (object files, ...)
+# CONF name of current configuration
+# CND_PLATFORM_${CONF} platform name (current configuration)
+# CND_ARTIFACT_DIR_${CONF} directory of build artifact (current configuration)
+# CND_ARTIFACT_NAME_${CONF} name of build artifact (current configuration)
+# CND_ARTIFACT_PATH_${CONF} path to build artifact (current configuration)
+# CND_PACKAGE_DIR_${CONF} directory of package (current configuration)
+# CND_PACKAGE_NAME_${CONF} name of package (current configuration)
+# CND_PACKAGE_PATH_${CONF} path to package (current configuration)
+#
+# NOCDDL
+
+
+# Environment
+MKDIR=mkdir
+CP=cp
+CCADMIN=CCadmin
+
+
+# build
+build: .build-post
+
+.build-pre:
+# Add your pre 'build' code here...
+
+.build-post: .build-impl
+# Add your post 'build' code here...
+
+
+# clean
+clean: .clean-post
+
+.clean-pre:
+# Add your pre 'clean' code here...
+
+.clean-post: .clean-impl
+# Add your post 'clean' code here...
+
+
+# clobber
+clobber: .clobber-post
+
+.clobber-pre:
+# Add your pre 'clobber' code here...
+
+.clobber-post: .clobber-impl
+# Add your post 'clobber' code here...
+
+
+# all
+all: .all-post
+
+.all-pre:
+# Add your pre 'all' code here...
+
+.all-post: .all-impl
+# Add your post 'all' code here...
+
+
+# build tests
+build-tests: .build-tests-post
+
+.build-tests-pre:
+# Add your pre 'build-tests' code here...
+
+.build-tests-post: .build-tests-impl
+# Add your post 'build-tests' code here...
+
+
+# run tests
+test: .test-post
+
+.test-pre:
+# Add your pre 'test' code here...
+
+.test-post: .test-impl
+# Add your post 'test' code here...
+
+
+# help
+help: .help-post
+
+.help-pre:
+# Add your pre 'help' code here...
+
+.help-post: .help-impl
+# Add your post 'help' code here...
+
+
+
+# include project implementation makefile
+include nbproject/Makefile-impl.mk
+
+# include project make variables
+include nbproject/Makefile-variables.mk
=== added file 'wntrlingua-core/README'
--- wntrlingua-core/README 1970-01-01 00:00:00 +0000
+++ wntrlingua-core/README 2011-03-27 15:48:31 +0000
@@ -0,0 +1,18 @@
+ *
+ * The code within this directory is free software; you can
+ * redistribute it and/or modify it under the terms of the GNU Library
+ * General Public License as published by the Free Software Foundation;
+ * either version 3 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+
+This is the core interactions of the parser for Wintermute Linguistics
=== added directory 'wntrlingua-core/build'
=== added directory 'wntrlingua-core/build/Debug'
=== added directory 'wntrlingua-core/build/Debug/GNU-Linux-x86'
=== added file 'wntrlingua-core/build/Debug/GNU-Linux-x86/config.o.d'
--- wntrlingua-core/build/Debug/GNU-Linux-x86/config.o.d 1970-01-01 00:00:00 +0000
+++ wntrlingua-core/build/Debug/GNU-Linux-x86/config.o.d 2011-03-27 15:48:31 +0000
@@ -0,0 +1,5 @@
+build/Debug/GNU-Linux-x86/config.o: config.cpp config.hpp md5.hpp
+
+config.hpp:
+
+md5.hpp:
=== added file 'wntrlingua-core/build/Debug/GNU-Linux-x86/md5.o.d'
--- wntrlingua-core/build/Debug/GNU-Linux-x86/md5.o.d 1970-01-01 00:00:00 +0000
+++ wntrlingua-core/build/Debug/GNU-Linux-x86/md5.o.d 2011-03-27 15:48:31 +0000
@@ -0,0 +1,3 @@
+build/Debug/GNU-Linux-x86/md5.o: md5.cpp md5.hpp
+
+md5.hpp:
=== added file 'wntrlingua-core/build/Debug/GNU-Linux-x86/wntrlingua.o.d'
--- wntrlingua-core/build/Debug/GNU-Linux-x86/wntrlingua.o.d 1970-01-01 00:00:00 +0000
+++ wntrlingua-core/build/Debug/GNU-Linux-x86/wntrlingua.o.d 2011-03-27 15:48:31 +0000
@@ -0,0 +1,8 @@
+build/Debug/GNU-Linux-x86/wntrlingua.o: wntrlingua.cpp config.hpp md5.hpp \
+ wntrlingua.hpp
+
+config.hpp:
+
+md5.hpp:
+
+wntrlingua.hpp:
=== added file 'wntrlingua-core/config.cpp'
--- wntrlingua-core/config.cpp 1970-01-01 00:00:00 +0000
+++ wntrlingua-core/config.cpp 2011-03-27 15:48:31 +0000
@@ -0,0 +1,104 @@
+/*
+ * @file config.cpp
+ * @author Jacky Alcine <jackyalcine@xxxxxxxxx>
+ * @created February 4, 2011, 12:07 AM
+ * @license GPL3
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ */
+
+#include "config.hpp"
+#include <iostream>
+
+using namespace std;
+using std::cout;
+
+namespace Wintermute {
+ namespace Linguistics {
+ string Configuration::_locale = "en";
+ string Configuration::_root = "store";
+
+ /**
+ * @description Sets the default locale to use.
+ * @param locale The locale to set.
+ */
+ void Configuration::setLocale(const string locale) {
+ if (locale.size() == 0)
+ return;
+
+ Configuration::_locale = locale;
+ cout << "## Global locale set to " << locale;
+ }
+
+ /**
+ * @description Sets the root directory to load information from.
+ * @param root The root directory.
+ */
+ void Configuration::setRootDirectory(const string root) {
+ if (root.size() == 0)
+ return;
+
+ Configuration::_root = root;
+ cout << "## Root set to " << root;
+ }
+
+ /**
+ * @description Gets the path to a Wordlist using a specified wordlist
+ * @param locale The locale to generate
+ * @return The path to the Wordlist on disk.
+ */
+ const string Configuration::getWordlist(const string locale) {
+ string theLocale = locale;
+ if (locale.size() == 0)
+ theLocale = Configuration::getLocale();
+
+ return Configuration::getRootDirectory() + string("/locale/") + theLocale + string("/wordlist.") + theLocale;
+ }
+
+ /**
+ * @description Gets the path to the lexical node's data.
+ * @param locale
+ * @return
+ */
+ const string Configuration::getLexicalRoot(const string locale) {
+ string theLocale = locale;
+ if (locale.size() == 0)
+ theLocale = Configuration::getLocale();
+
+ return Configuration::getRootDirectory() + string("/locale/") + theLocale + string("/nods");
+ }
+
+ const string Configuration::getSemanticRoot() {
+ return Configuration::getRootDirectory() + string("/ontology");
+ }
+
+ const string Configuration::getLocale() {
+ return Configuration::_locale;
+ }
+
+ const string Configuration::getRootDirectory() {
+ return Configuration::_root;
+ }
+
+ const string Configuration::getRootDirectory(const string locale){
+ string theLocale = locale;
+ if (locale.size() == 0)
+ theLocale = Configuration::getLocale();
+ return Configuration::_root + string("/locale/") + theLocale;
+ }
+ }
+}
=== added file 'wntrlingua-core/config.hpp'
--- wntrlingua-core/config.hpp 1970-01-01 00:00:00 +0000
+++ wntrlingua-core/config.hpp 2011-03-27 15:48:31 +0000
@@ -0,0 +1,79 @@
+/**
+ * @file config.hpp
+ * @author Jacky Alcine <jackyalcine@xxxxxxxxx>
+ * @created February 4, 2011, 12:07 AM
+ * @license GPL3
+ *
+ * Copyright (c) SII 2010 - 2011
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * @todo Implement a Configuration object (or struct) that can be used
+ * in the nodes and links (when serialization is avialable) so that
+ * they can pull *default* settings from here, but transliterate
+ * across ontologies.
+ */
+
+#define DEBUG_OUTPUT
+
+#ifndef CONFIG_HPP
+#define CONFIG_HPP
+
+#ifdef DEBUG_OUTPUT
+#warning "This version of Wintermute's Linguistics will be outputting a bit more information."
+#else
+#warning "Output has been disabled."
+#endif
+
+#include "md5.hpp"
+#include "config.hpp"
+#include <string>
+#include <sstream>
+#include <cstdio>
+
+using namespace std;
+using std::ostringstream;
+using std::string;
+
+namespace Wintermute {
+ namespace Linguistics {
+
+ static const long filesize(const string &url) {
+ FILE *fileSize = fopen(url.c_str(), "r");
+ if (!fileSize) return -1;
+ fseek(fileSize, 0L, SEEK_END);
+ long endPos = ftell(fileSize);
+ fclose(fileSize);
+ return endPos;
+ }
+
+ class Configuration {
+ private:
+ static string _root;
+ static string _locale;
+ Configuration();
+ ~Configuration();
+
+ public:
+ static const string getRootDirectory();
+ static const string getRootDirectory(const string);
+ static const string getWordlist(const string = "");
+ static const string getLocale();
+ static const string getSemanticRoot();
+ static const string getLexicalRoot(const string = "");
+ static void setLocale(const string = "");
+ static void setRootDirectory(const string = "");
+ };
+ }
+}
+#endif /* CONFIG_HPP */
+
=== added directory 'wntrlingua-core/dist'
=== added directory 'wntrlingua-core/dist/Debug'
=== added directory 'wntrlingua-core/dist/Debug/GNU-Linux-x86'
=== added file 'wntrlingua-core/md5.cpp'
--- wntrlingua-core/md5.cpp 1970-01-01 00:00:00 +0000
+++ wntrlingua-core/md5.cpp 2011-03-27 15:48:31 +0000
@@ -0,0 +1,363 @@
+/* MD5
+ converted to C++ class by Frank Thilo (thilo@xxxxxxxxxxx)
+ for bzflag (http://www.bzflag.org)
+
+ based on:
+
+ md5.h and md5.c
+ reference implemantion of RFC 1321
+
+ Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All
+rights reserved.
+
+License to copy and use this software is granted provided that it
+is identified as the "RSA Data Security, Inc. MD5 Message-Digest
+Algorithm" in all material mentioning or referencing this software
+or this function.
+
+License is also granted to make and use derivative works provided
+that such works are identified as "derived from the RSA Data
+Security, Inc. MD5 Message-Digest Algorithm" in all material
+mentioning or referencing the derived work.
+
+RSA Data Security, Inc. makes no representations concerning either
+the merchantability of this software or the suitability of this
+software for any particular purpose. It is provided "as is"
+without express or implied warranty of any kind.
+
+These notices must be retained in any copies of any part of this
+documentation and/or software.
+
+*/
+
+/* interface header */
+#include "md5.hpp"
+
+/* system implementation headers */
+#include <stdio.h>
+#include <cstring>
+
+
+// Constants for MD5Transform routine.
+#define S11 7
+#define S12 12
+#define S13 17
+#define S14 22
+#define S21 5
+#define S22 9
+#define S23 14
+#define S24 20
+#define S31 4
+#define S32 11
+#define S33 16
+#define S34 23
+#define S41 6
+#define S42 10
+#define S43 15
+#define S44 21
+
+///////////////////////////////////////////////
+
+// F, G, H and I are basic MD5 functions.
+inline MD5::uint4 MD5::F(uint4 x, uint4 y, uint4 z) {
+ return x&y | ~x&z;
+}
+
+inline MD5::uint4 MD5::G(uint4 x, uint4 y, uint4 z) {
+ return x&z | y&~z;
+}
+
+inline MD5::uint4 MD5::H(uint4 x, uint4 y, uint4 z) {
+ return x^y^z;
+}
+
+inline MD5::uint4 MD5::I(uint4 x, uint4 y, uint4 z) {
+ return y ^ (x | ~z);
+}
+
+// rotate_left rotates x left n bits.
+inline MD5::uint4 MD5::rotate_left(uint4 x, int n) {
+ return (x << n) | (x >> (32-n));
+}
+
+// FF, GG, HH, and II transformations for rounds 1, 2, 3, and 4.
+// Rotation is separate from addition to prevent recomputation.
+inline void MD5::FF(uint4 &a, uint4 b, uint4 c, uint4 d, uint4 x, uint4 s, uint4 ac) {
+ a = rotate_left(a+ F(b,c,d) + x + ac, s) + b;
+}
+
+inline void MD5::GG(uint4 &a, uint4 b, uint4 c, uint4 d, uint4 x, uint4 s, uint4 ac) {
+ a = rotate_left(a + G(b,c,d) + x + ac, s) + b;
+}
+
+inline void MD5::HH(uint4 &a, uint4 b, uint4 c, uint4 d, uint4 x, uint4 s, uint4 ac) {
+ a = rotate_left(a + H(b,c,d) + x + ac, s) + b;
+}
+
+inline void MD5::II(uint4 &a, uint4 b, uint4 c, uint4 d, uint4 x, uint4 s, uint4 ac) {
+ a = rotate_left(a + I(b,c,d) + x + ac, s) + b;
+}
+
+//////////////////////////////////////////////
+
+// default ctor, just initailize
+MD5::MD5()
+{
+ init();
+}
+
+//////////////////////////////////////////////
+
+// nifty shortcut ctor, compute MD5 for string and finalize it right away
+MD5::MD5(const std::string &text)
+{
+ init();
+ update(text.c_str(), text.length());
+ finalize();
+}
+
+//////////////////////////////
+
+void MD5::init()
+{
+ finalized=false;
+
+ count[0] = 0;
+ count[1] = 0;
+
+ // load magic initialization constants.
+ /** DO NOT CHANGE THESE VALUES; PANLINGUA WILL FAIL.*/
+ state[0] = 0x67452301;
+ state[1] = 0xefcdab89;
+ state[2] = 0x98badcfe;
+ state[3] = 0x10325476;
+}
+
+//////////////////////////////
+
+// decodes input (unsigned char) into output (uint4). Assumes len is a multiple of 4.
+void MD5::decode(uint4 output[], const uint1 input[], size_type len)
+{
+ for (unsigned int i = 0, j = 0; j < len; i++, j += 4)
+ output[i] = ((uint4)input[j]) | (((uint4)input[j+1]) << 8) |
+ (((uint4)input[j+2]) << 16) | (((uint4)input[j+3]) << 24);
+}
+
+//////////////////////////////
+
+// encodes input (uint4) into output (unsigned char). Assumes len is
+// a multiple of 4.
+void MD5::encode(uint1 output[], const uint4 input[], size_type len)
+{
+ for (size_type i = 0, j = 0; j < len; i++, j += 4) {
+ output[j] = input[i] & 0xff;
+ output[j+1] = (input[i] >> 8) & 0xff;
+ output[j+2] = (input[i] >> 16) & 0xff;
+ output[j+3] = (input[i] >> 24) & 0xff;
+ }
+}
+
+//////////////////////////////
+
+// apply MD5 algo on a block
+void MD5::transform(const uint1 block[blocksize])
+{
+ uint4 a = state[0], b = state[1], c = state[2], d = state[3], x[16];
+ decode (x, block, blocksize);
+
+ /* Round 1 */
+ FF (a, b, c, d, x[ 0], S11, 0xd76aa478); /* 1 */
+ FF (d, a, b, c, x[ 1], S12, 0xe8c7b756); /* 2 */
+ FF (c, d, a, b, x[ 2], S13, 0x242070db); /* 3 */
+ FF (b, c, d, a, x[ 3], S14, 0xc1bdceee); /* 4 */
+ FF (a, b, c, d, x[ 4], S11, 0xf57c0faf); /* 5 */
+ FF (d, a, b, c, x[ 5], S12, 0x4787c62a); /* 6 */
+ FF (c, d, a, b, x[ 6], S13, 0xa8304613); /* 7 */
+ FF (b, c, d, a, x[ 7], S14, 0xfd469501); /* 8 */
+ FF (a, b, c, d, x[ 8], S11, 0x698098d8); /* 9 */
+ FF (d, a, b, c, x[ 9], S12, 0x8b44f7af); /* 10 */
+ FF (c, d, a, b, x[10], S13, 0xffff5bb1); /* 11 */
+ FF (b, c, d, a, x[11], S14, 0x895cd7be); /* 12 */
+ FF (a, b, c, d, x[12], S11, 0x6b901122); /* 13 */
+ FF (d, a, b, c, x[13], S12, 0xfd987193); /* 14 */
+ FF (c, d, a, b, x[14], S13, 0xa679438e); /* 15 */
+ FF (b, c, d, a, x[15], S14, 0x49b40821); /* 16 */
+
+ /* Round 2 */
+ GG (a, b, c, d, x[ 1], S21, 0xf61e2562); /* 17 */
+ GG (d, a, b, c, x[ 6], S22, 0xc040b340); /* 18 */
+ GG (c, d, a, b, x[11], S23, 0x265e5a51); /* 19 */
+ GG (b, c, d, a, x[ 0], S24, 0xe9b6c7aa); /* 20 */
+ GG (a, b, c, d, x[ 5], S21, 0xd62f105d); /* 21 */
+ GG (d, a, b, c, x[10], S22, 0x2441453); /* 22 */
+ GG (c, d, a, b, x[15], S23, 0xd8a1e681); /* 23 */
+ GG (b, c, d, a, x[ 4], S24, 0xe7d3fbc8); /* 24 */
+ GG (a, b, c, d, x[ 9], S21, 0x21e1cde6); /* 25 */
+ GG (d, a, b, c, x[14], S22, 0xc33707d6); /* 26 */
+ GG (c, d, a, b, x[ 3], S23, 0xf4d50d87); /* 27 */
+ GG (b, c, d, a, x[ 8], S24, 0x455a14ed); /* 28 */
+ GG (a, b, c, d, x[13], S21, 0xa9e3e905); /* 29 */
+ GG (d, a, b, c, x[ 2], S22, 0xfcefa3f8); /* 30 */
+ GG (c, d, a, b, x[ 7], S23, 0x676f02d9); /* 31 */
+ GG (b, c, d, a, x[12], S24, 0x8d2a4c8a); /* 32 */
+
+ /* Round 3 */
+ HH (a, b, c, d, x[ 5], S31, 0xfffa3942); /* 33 */
+ HH (d, a, b, c, x[ 8], S32, 0x8771f681); /* 34 */
+ HH (c, d, a, b, x[11], S33, 0x6d9d6122); /* 35 */
+ HH (b, c, d, a, x[14], S34, 0xfde5380c); /* 36 */
+ HH (a, b, c, d, x[ 1], S31, 0xa4beea44); /* 37 */
+ HH (d, a, b, c, x[ 4], S32, 0x4bdecfa9); /* 38 */
+ HH (c, d, a, b, x[ 7], S33, 0xf6bb4b60); /* 39 */
+ HH (b, c, d, a, x[10], S34, 0xbebfbc70); /* 40 */
+ HH (a, b, c, d, x[13], S31, 0x289b7ec6); /* 41 */
+ HH (d, a, b, c, x[ 0], S32, 0xeaa127fa); /* 42 */
+ HH (c, d, a, b, x[ 3], S33, 0xd4ef3085); /* 43 */
+ HH (b, c, d, a, x[ 6], S34, 0x4881d05); /* 44 */
+ HH (a, b, c, d, x[ 9], S31, 0xd9d4d039); /* 45 */
+ HH (d, a, b, c, x[12], S32, 0xe6db99e5); /* 46 */
+ HH (c, d, a, b, x[15], S33, 0x1fa27cf8); /* 47 */
+ HH (b, c, d, a, x[ 2], S34, 0xc4ac5665); /* 48 */
+
+ /* Round 4 */
+ II (a, b, c, d, x[ 0], S41, 0xf4292244); /* 49 */
+ II (d, a, b, c, x[ 7], S42, 0x432aff97); /* 50 */
+ II (c, d, a, b, x[14], S43, 0xab9423a7); /* 51 */
+ II (b, c, d, a, x[ 5], S44, 0xfc93a039); /* 52 */
+ II (a, b, c, d, x[12], S41, 0x655b59c3); /* 53 */
+ II (d, a, b, c, x[ 3], S42, 0x8f0ccc92); /* 54 */
+ II (c, d, a, b, x[10], S43, 0xffeff47d); /* 55 */
+ II (b, c, d, a, x[ 1], S44, 0x85845dd1); /* 56 */
+ II (a, b, c, d, x[ 8], S41, 0x6fa87e4f); /* 57 */
+ II (d, a, b, c, x[15], S42, 0xfe2ce6e0); /* 58 */
+ II (c, d, a, b, x[ 6], S43, 0xa3014314); /* 59 */
+ II (b, c, d, a, x[13], S44, 0x4e0811a1); /* 60 */
+ II (a, b, c, d, x[ 4], S41, 0xf7537e82); /* 61 */
+ II (d, a, b, c, x[11], S42, 0xbd3af235); /* 62 */
+ II (c, d, a, b, x[ 2], S43, 0x2ad7d2bb); /* 63 */
+ II (b, c, d, a, x[ 9], S44, 0xeb86d391); /* 64 */
+
+ state[0] += a;
+ state[1] += b;
+ state[2] += c;
+ state[3] += d;
+
+}
+
+//////////////////////////////
+
+// MD5 block update operation. Continues an MD5 message-digest
+// operation, processing another message block
+void MD5::update(const unsigned char input[], size_type length)
+{
+ // compute number of bytes mod 64
+ size_type index = count[0] / 8 % blocksize;
+
+ // Update number of bits
+ if ((count[0] += (length << 3)) < (length << 3))
+ count[1]++;
+ count[1] += (length >> 29);
+
+ // number of bytes we need to fill in buffer
+ size_type firstpart = 64 - index;
+
+ size_type i;
+
+ // transform as many times as possible.
+ if (length >= firstpart)
+ {
+ // fill buffer first, transform
+ /** WHAT?*/
+ memcpy(&buffer[index], input, firstpart);
+ transform(buffer);
+
+ // transform chunks of blocksize (64 bytes)
+ for (i = firstpart; i + blocksize <= length; i += blocksize)
+ transform(&input[i]);
+
+ index = 0;
+ }
+ else
+ i = 0;
+
+ // buffer remaining input
+ memcpy(&buffer[index], &input[i], length-i);
+}
+
+//////////////////////////////
+
+// for convenience provide a verson with signed char
+void MD5::update(const char input[], size_type length)
+{
+ update((const unsigned char*)input, length);
+}
+
+//////////////////////////////
+
+// MD5 finalization. Ends an MD5 message-digest operation, writing the
+// the message digest and zeroizing the context.
+MD5& MD5::finalize()
+{
+ static unsigned char padding[64] = {
+ 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ };
+
+ if (!finalized) {
+ // Save number of bits
+ unsigned char bits[8];
+ encode(bits, count, 8);
+
+ // pad out to 56 mod 64.
+ size_type index = count[0] / 8 % 64;
+ size_type padLen = (index < 56) ? (56 - index) : (120 - index);
+ update(padding, padLen);
+
+ // Append length (before padding)
+ update(bits, 8);
+
+ // Store state in digest
+ encode(digest, state, 16);
+
+ // Zeroize sensitive information.
+ memset(buffer, 0, sizeof buffer);
+ memset(count, 0, sizeof count);
+
+ finalized=true;
+ }
+
+ return *this;
+}
+
+//////////////////////////////
+
+// return hex representation of digest as string
+std::string MD5::hexdigest() const
+{
+ if (!finalized)
+ return "";
+
+ char buf[33];
+ for (int i=0; i<16; i++)
+ sprintf(buf+i*2, "%02x", digest[i]);
+ buf[32]=0;
+
+ return std::string(buf);
+}
+
+//////////////////////////////
+
+std::ostream& operator<<(std::ostream& out, MD5 md5)
+{
+ return out << md5.hexdigest();
+}
+
+//////////////////////////////
+
+std::string md5(const std::string str)
+{
+ MD5 md5 = MD5(str);
+
+ return md5.hexdigest();
+}
=== added file 'wntrlingua-core/md5.hpp'
--- wntrlingua-core/md5.hpp 1970-01-01 00:00:00 +0000
+++ wntrlingua-core/md5.hpp 2011-03-27 15:48:31 +0000
@@ -0,0 +1,102 @@
+// Code found from: http://www.zedwood.com/article/121/cpp-md5-function
+
+/* MD5
+ converted to C++ class by Frank Thilo (thilo@xxxxxxxxxxx)
+ for bzflag (http://www.bzflag.org)
+
+ based on:
+
+ md5.h and md5.c
+ reference implementation of RFC 1321
+
+ Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All
+rights reserved.
+
+License to copy and use this software is granted provided that it
+is identified as the "RSA Data Security, Inc. MD5 Message-Digest
+Algorithm" in all material mentioning or referencing this software
+or this function.
+
+License is also granted to make and use derivative works provided
+that such works are identified as "derived from the RSA Data
+Security, Inc. MD5 Message-Digest Algorithm" in all material
+mentioning or referencing the derived work.
+
+RSA Data Security, Inc. makes no representations concerning either
+the merchantability of this software or the suitability of this
+software for any particular purpose. It is provided "as is"
+without express or implied warranty of any kind.
+
+These notices must be retained in any copies of any part of this
+documentation and/or software.
+
+ */
+
+/**
+ * @note: This code is targeted for Windows.
+ */
+
+#ifndef BZF_MD5_H
+#define BZF_MD5_H
+
+#include <string>
+#include <iostream>
+
+
+// a small class for calculating MD5 hashes of strings or byte arrays
+// it is not meant to be fast or secure
+//
+// usage: 1) feed it blocks of uchars with update()
+// 2) finalize()
+// 3) get hexdigest() string
+// or
+// MD5(std::string).hexdigest()
+//
+// assumes that char is 8 bit and int is 32 bit
+
+class MD5 {
+public:
+ typedef unsigned int size_type; // must be 32bit
+
+ MD5();
+ MD5(const std::string& text);
+ void update(const unsigned char *buf, size_type length);
+ void update(const char *buf, size_type length);
+ MD5& finalize();
+ std::string hexdigest() const;
+ friend std::ostream & operator<<(std::ostream&, MD5 md5);
+
+private:
+ void init();
+ typedef unsigned char uint1; // 8bit
+ typedef unsigned int uint4; // 32bit
+
+ enum {
+ blocksize = 64
+ }; // VC6 won't eat a const static int here
+
+ void transform(const uint1 block[blocksize]);
+ static void decode(uint4 output[], const uint1 input[], size_type len);
+ static void encode(uint1 output[], const uint4 input[], size_type len);
+
+ bool finalized;
+ uint1 buffer[blocksize]; // bytes that didn't fit in last 64 byte chunk
+ uint4 count[2]; // 64bit counter for number of bits (lo, hi)
+ uint4 state[4]; // digest so far
+ uint1 digest[16]; // the result
+
+ // low level logic operations
+ static inline uint4 F(uint4 x, uint4 y, uint4 z);
+ static inline uint4 G(uint4 x, uint4 y, uint4 z);
+ static inline uint4 H(uint4 x, uint4 y, uint4 z);
+ static inline uint4 I(uint4 x, uint4 y, uint4 z);
+ static inline uint4 rotate_left(uint4 x, int n);
+ static inline void FF(uint4 &a, uint4 b, uint4 c, uint4 d, uint4 x, uint4 s, uint4 ac);
+ static inline void GG(uint4 &a, uint4 b, uint4 c, uint4 d, uint4 x, uint4 s, uint4 ac);
+ static inline void HH(uint4 &a, uint4 b, uint4 c, uint4 d, uint4 x, uint4 s, uint4 ac);
+ static inline void II(uint4 &a, uint4 b, uint4 c, uint4 d, uint4 x, uint4 s, uint4 ac);
+};
+
+std::string md5(const std::string str);
+
+#endif
\ No newline at end of file
=== added directory 'wntrlingua-core/nbproject'
=== added file 'wntrlingua-core/nbproject/Makefile-Debug.mk'
--- wntrlingua-core/nbproject/Makefile-Debug.mk 1970-01-01 00:00:00 +0000
+++ wntrlingua-core/nbproject/Makefile-Debug.mk 2011-03-27 15:48:31 +0000
@@ -0,0 +1,100 @@
+#
+# Generated Makefile - do not edit!
+#
+# Edit the Makefile in the project folder instead (../Makefile). Each target
+# has a -pre and a -post target defined where you can add customized code.
+#
+# This makefile implements configuration specific macros and targets.
+
+
+# Environment
+MKDIR=mkdir
+CP=cp
+GREP=grep
+NM=nm
+CCADMIN=CCadmin
+RANLIB=ranlib
+CC=gcc
+CCC=g++
+CXX=g++
+FC=
+AS=as
+
+# Macros
+CND_PLATFORM=GNU-Linux-x86
+CND_CONF=Debug
+CND_DISTDIR=dist
+
+# Include project Makefile
+include Makefile
+
+# Object Directory
+OBJECTDIR=build/${CND_CONF}/${CND_PLATFORM}
+
+# Object Files
+OBJECTFILES= \
+ ${OBJECTDIR}/md5.o \
+ ${OBJECTDIR}/config.o \
+ ${OBJECTDIR}/parser.o \
+ ${OBJECTDIR}/wntrlingua.o
+
+
+# C Compiler Flags
+CFLAGS=
+
+# CC Compiler Flags
+CCFLAGS=`pkg-config --cflags --libs sigc++-2.0`
+CXXFLAGS=`pkg-config --cflags --libs sigc++-2.0`
+
+# Fortran Compiler Flags
+FFLAGS=
+
+# Assembler Flags
+ASFLAGS=
+
+# Link Libraries and Options
+LDLIBSOPTIONS=
+
+# Build Targets
+.build-conf: ${BUILD_SUBPROJECTS}
+ "${MAKE}" -f nbproject/Makefile-Debug.mk dist/Debug/GNU-Linux-x86/libwntrlingua-core.so
+
+dist/Debug/GNU-Linux-x86/libwntrlingua-core.so: ${OBJECTFILES}
+ ${MKDIR} -p dist/Debug/GNU-Linux-x86
+ ${LINK.cc} -shared -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/libwntrlingua-core.so -fPIC ${OBJECTFILES} ${LDLIBSOPTIONS}
+
+${OBJECTDIR}/md5.o: md5.cpp
+ ${MKDIR} -p ${OBJECTDIR}
+ ${RM} $@.d
+ $(COMPILE.cc) -g -Wall -fPIC -MMD -MP -MF $@.d -o ${OBJECTDIR}/md5.o md5.cpp
+
+${OBJECTDIR}/config.o: config.cpp
+ ${MKDIR} -p ${OBJECTDIR}
+ ${RM} $@.d
+ $(COMPILE.cc) -g -Wall -fPIC -MMD -MP -MF $@.d -o ${OBJECTDIR}/config.o config.cpp
+
+${OBJECTDIR}/parser.o: parser.cpp
+ ${MKDIR} -p ${OBJECTDIR}
+ ${RM} $@.d
+ $(COMPILE.cc) -g -Wall -fPIC -MMD -MP -MF $@.d -o ${OBJECTDIR}/parser.o parser.cpp
+
+${OBJECTDIR}/wntrlingua.o: wntrlingua.cpp
+ ${MKDIR} -p ${OBJECTDIR}
+ ${RM} $@.d
+ $(COMPILE.cc) -g -Wall -fPIC -MMD -MP -MF $@.d -o ${OBJECTDIR}/wntrlingua.o wntrlingua.cpp
+
+# Subprojects
+.build-subprojects:
+
+# Clean Targets
+.clean-conf: ${CLEAN_SUBPROJECTS}
+ ${RM} -r build/Debug
+ ${RM} dist/Debug/GNU-Linux-x86/libwntrlingua-core.so
+
+# Subprojects
+.clean-subprojects:
+
+# Enable dependency checking
+.dep.inc: .depcheck-impl
+
+include .dep.inc
=== added file 'wntrlingua-core/nbproject/Makefile-Release.mk'
--- wntrlingua-core/nbproject/Makefile-Release.mk 1970-01-01 00:00:00 +0000
+++ wntrlingua-core/nbproject/Makefile-Release.mk 2011-03-27 15:48:31 +0000
@@ -0,0 +1,100 @@
+#
+# Generated Makefile - do not edit!
+#
+# Edit the Makefile in the project folder instead (../Makefile). Each target
+# has a -pre and a -post target defined where you can add customized code.
+#
+# This makefile implements configuration specific macros and targets.
+
+
+# Environment
+MKDIR=mkdir
+CP=cp
+GREP=grep
+NM=nm
+CCADMIN=CCadmin
+RANLIB=ranlib
+CC=gcc
+CCC=g++
+CXX=g++
+FC=
+AS=as
+
+# Macros
+CND_PLATFORM=GNU-Linux-x86
+CND_CONF=Release
+CND_DISTDIR=dist
+
+# Include project Makefile
+include Makefile
+
+# Object Directory
+OBJECTDIR=build/${CND_CONF}/${CND_PLATFORM}
+
+# Object Files
+OBJECTFILES= \
+ ${OBJECTDIR}/md5.o \
+ ${OBJECTDIR}/config.o \
+ ${OBJECTDIR}/parser.o \
+ ${OBJECTDIR}/wntrlingua.o
+
+
+# C Compiler Flags
+CFLAGS=
+
+# CC Compiler Flags
+CCFLAGS=
+CXXFLAGS=
+
+# Fortran Compiler Flags
+FFLAGS=
+
+# Assembler Flags
+ASFLAGS=
+
+# Link Libraries and Options
+LDLIBSOPTIONS=
+
+# Build Targets
+.build-conf: ${BUILD_SUBPROJECTS}
+ "${MAKE}" -f nbproject/Makefile-Release.mk dist/Release/GNU-Linux-x86/libwntrlingua-core.so
+
+dist/Release/GNU-Linux-x86/libwntrlingua-core.so: ${OBJECTFILES}
+ ${MKDIR} -p dist/Release/GNU-Linux-x86
+ ${LINK.cc} -shared -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/libwntrlingua-core.so -fPIC ${OBJECTFILES} ${LDLIBSOPTIONS}
+
+${OBJECTDIR}/md5.o: md5.cpp
+ ${MKDIR} -p ${OBJECTDIR}
+ ${RM} $@.d
+ $(COMPILE.cc) -O2 -fPIC -MMD -MP -MF $@.d -o ${OBJECTDIR}/md5.o md5.cpp
+
+${OBJECTDIR}/config.o: config.cpp
+ ${MKDIR} -p ${OBJECTDIR}
+ ${RM} $@.d
+ $(COMPILE.cc) -O2 -fPIC -MMD -MP -MF $@.d -o ${OBJECTDIR}/config.o config.cpp
+
+${OBJECTDIR}/parser.o: parser.cpp
+ ${MKDIR} -p ${OBJECTDIR}
+ ${RM} $@.d
+ $(COMPILE.cc) -O2 -fPIC -MMD -MP -MF $@.d -o ${OBJECTDIR}/parser.o parser.cpp
+
+${OBJECTDIR}/wntrlingua.o: wntrlingua.cpp
+ ${MKDIR} -p ${OBJECTDIR}
+ ${RM} $@.d
+ $(COMPILE.cc) -O2 -fPIC -MMD -MP -MF $@.d -o ${OBJECTDIR}/wntrlingua.o wntrlingua.cpp
+
+# Subprojects
+.build-subprojects:
+
+# Clean Targets
+.clean-conf: ${CLEAN_SUBPROJECTS}
+ ${RM} -r build/Release
+ ${RM} dist/Release/GNU-Linux-x86/libwntrlingua-core.so
+
+# Subprojects
+.clean-subprojects:
+
+# Enable dependency checking
+.dep.inc: .depcheck-impl
+
+include .dep.inc
=== added file 'wntrlingua-core/nbproject/Makefile-impl.mk'
--- wntrlingua-core/nbproject/Makefile-impl.mk 1970-01-01 00:00:00 +0000
+++ wntrlingua-core/nbproject/Makefile-impl.mk 2011-03-27 15:48:31 +0000
@@ -0,0 +1,133 @@
+#
+# Generated Makefile - do not edit!
+#
+# Edit the Makefile in the project folder instead (../Makefile). Each target
+# has a pre- and a post- target defined where you can add customization code.
+#
+# This makefile implements macros and targets common to all configurations.
+#
+# NOCDDL
+
+
+# Building and Cleaning subprojects are done by default, but can be controlled with the SUB
+# macro. If SUB=no, subprojects will not be built or cleaned. The following macro
+# statements set BUILD_SUB-CONF and CLEAN_SUB-CONF to .build-reqprojects-conf
+# and .clean-reqprojects-conf unless SUB has the value 'no'
+SUB_no=NO
+SUBPROJECTS=${SUB_${SUB}}
+BUILD_SUBPROJECTS_=.build-subprojects
+BUILD_SUBPROJECTS_NO=
+BUILD_SUBPROJECTS=${BUILD_SUBPROJECTS_${SUBPROJECTS}}
+CLEAN_SUBPROJECTS_=.clean-subprojects
+CLEAN_SUBPROJECTS_NO=
+CLEAN_SUBPROJECTS=${CLEAN_SUBPROJECTS_${SUBPROJECTS}}
+
+
+# Project Name
+PROJECTNAME=wntrlingua-core
+
+# Active Configuration
+DEFAULTCONF=Debug
+CONF=${DEFAULTCONF}
+
+# All Configurations
+ALLCONFS=Debug Release
+
+
+# build
+.build-impl: .build-pre .validate-impl .depcheck-impl
+ @#echo "=> Running $@... Configuration=$(CONF)"
+ "${MAKE}" -f nbproject/Makefile-${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .build-conf
+
+
+# clean
+.clean-impl: .clean-pre .validate-impl .depcheck-impl
+ @#echo "=> Running $@... Configuration=$(CONF)"
+ "${MAKE}" -f nbproject/Makefile-${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .clean-conf
+
+
+# clobber
+.clobber-impl: .clobber-pre .depcheck-impl
+ @#echo "=> Running $@..."
+ for CONF in ${ALLCONFS}; \
+ do \
+ "${MAKE}" -f nbproject/Makefile-$${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .clean-conf; \
+ done
+
+# all
+.all-impl: .all-pre .depcheck-impl
+ @#echo "=> Running $@..."
+ for CONF in ${ALLCONFS}; \
+ do \
+ "${MAKE}" -f nbproject/Makefile-$${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .build-conf; \
+ done
+
+# build tests
+.build-tests-impl: .build-impl .build-tests-pre
+ @#echo "=> Running $@... Configuration=$(CONF)"
+ "${MAKE}" -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .build-tests-conf
+
+# run tests
+.test-impl: .build-tests-impl .test-pre
+ @#echo "=> Running $@... Configuration=$(CONF)"
+ "${MAKE}" -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .test-conf
+
+# dependency checking support
+.depcheck-impl:
+ @echo "# This code depends on make tool being used" >.dep.inc
+ @if [ -n "${MAKE_VERSION}" ]; then \
+ echo "DEPFILES=\$$(wildcard \$$(addsuffix .d, \$${OBJECTFILES}))" >>.dep.inc; \
+ echo "ifneq (\$${DEPFILES},)" >>.dep.inc; \
+ echo "include \$${DEPFILES}" >>.dep.inc; \
+ echo "endif" >>.dep.inc; \
+ else \
+ echo ".KEEP_STATE:" >>.dep.inc; \
+ echo ".KEEP_STATE_FILE:.make.state.\$${CONF}" >>.dep.inc; \
+ fi
+
+# configuration validation
+.validate-impl:
+ @if [ ! -f nbproject/Makefile-${CONF}.mk ]; \
+ then \
+ echo ""; \
+ echo "Error: can not find the makefile for configuration '${CONF}' in project ${PROJECTNAME}"; \
+ echo "See 'make help' for details."; \
+ echo "Current directory: " `pwd`; \
+ echo ""; \
+ fi
+ @if [ ! -f nbproject/Makefile-${CONF}.mk ]; \
+ then \
+ exit 1; \
+ fi
+
+
+# help
+.help-impl: .help-pre
+ @echo "This makefile supports the following configurations:"
+ @echo " ${ALLCONFS}"
+ @echo ""
+ @echo "and the following targets:"
+ @echo " build (default target)"
+ @echo " clean"
+ @echo " clobber"
+ @echo " all"
+ @echo " help"
+ @echo ""
+ @echo "Makefile Usage:"
+ @echo " make [CONF=<CONFIGURATION>] [SUB=no] build"
+ @echo " make [CONF=<CONFIGURATION>] [SUB=no] clean"
+ @echo " make [SUB=no] clobber"
+ @echo " make [SUB=no] all"
+ @echo " make help"
+ @echo ""
+ @echo "Target 'build' will build a specific configuration and, unless 'SUB=no',"
+ @echo " also build subprojects."
+ @echo "Target 'clean' will clean a specific configuration and, unless 'SUB=no',"
+ @echo " also clean subprojects."
+ @echo "Target 'clobber' will remove all built files from all configurations and,"
+ @echo " unless 'SUB=no', also from subprojects."
+ @echo "Target 'all' will will build all configurations and, unless 'SUB=no',"
+ @echo " also build subprojects."
+ @echo "Target 'help' prints this message."
+ @echo ""
+
=== added file 'wntrlingua-core/nbproject/Makefile-variables.mk'
--- wntrlingua-core/nbproject/Makefile-variables.mk 1970-01-01 00:00:00 +0000
+++ wntrlingua-core/nbproject/Makefile-variables.mk 2011-03-27 15:48:31 +0000
@@ -0,0 +1,24 @@
+#
+# Generated - do not edit!
+#
+# NOCDDL
+#
+CND_BASEDIR=`pwd`
+CND_BUILDDIR=build
+CND_DISTDIR=dist
+# Debug configuration
+CND_PLATFORM_Debug=GNU-Linux-x86
+CND_ARTIFACT_DIR_Debug=dist/Debug/GNU-Linux-x86
+CND_ARTIFACT_NAME_Debug=libwntrlingua-core.so
+CND_ARTIFACT_PATH_Debug=dist/Debug/GNU-Linux-x86/libwntrlingua-core.so
+CND_PACKAGE_DIR_Debug=dist/Debug/GNU-Linux-x86/package
+CND_PACKAGE_NAME_Debug=libwntrlingua-core.so.tar
+CND_PACKAGE_PATH_Debug=dist/Debug/GNU-Linux-x86/package/libwntrlingua-core.so.tar
+# Release configuration
+CND_PLATFORM_Release=GNU-Linux-x86
+CND_ARTIFACT_DIR_Release=dist/Release/GNU-Linux-x86
+CND_ARTIFACT_NAME_Release=libwntrlingua-core.so
+CND_ARTIFACT_PATH_Release=dist/Release/GNU-Linux-x86/libwntrlingua-core.so
+CND_PACKAGE_DIR_Release=dist/Release/GNU-Linux-x86/package
+CND_PACKAGE_NAME_Release=libwntrlingua-core.so.tar
+CND_PACKAGE_PATH_Release=dist/Release/GNU-Linux-x86/package/libwntrlingua-core.so.tar
=== added file 'wntrlingua-core/nbproject/Package-Debug.bash'
--- wntrlingua-core/nbproject/Package-Debug.bash 1970-01-01 00:00:00 +0000
+++ wntrlingua-core/nbproject/Package-Debug.bash 2011-03-27 15:48:31 +0000
@@ -0,0 +1,74 @@
+#!/bin/bash -x
+
+#
+# Generated - do not edit!
+#
+
+# Macros
+TOP=`pwd`
+CND_PLATFORM=GNU-Linux-x86
+CND_CONF=Debug
+CND_DISTDIR=dist
+NBTMPDIR=build/${CND_CONF}/${CND_PLATFORM}/tmp-packaging
+TMPDIRNAME=tmp-packaging
+OUTPUT_PATH=${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/libwntrlingua-core.so
+OUTPUT_BASENAME=libwntrlingua-core.so
+PACKAGE_TOP_DIR=libwntrlingua-core.so/
+
+# Functions
+function checkReturnCode
+{
+ rc=$?
+ if [ $rc != 0 ]
+ then
+ exit $rc
+ fi
+}
+function makeDirectory
+# $1 directory path
+# $2 permission (optional)
+{
+ mkdir -p "$1"
+ checkReturnCode
+ if [ "$2" != "" ]
+ then
+ chmod $2 "$1"
+ checkReturnCode
+ fi
+}
+function copyFileToTmpDir
+# $1 from-file path
+# $2 to-file path
+# $3 permission
+{
+ cp "$1" "$2"
+ checkReturnCode
+ if [ "$3" != "" ]
+ then
+ chmod $3 "$2"
+ checkReturnCode
+ fi
+}
+
+# Setup
+cd "${TOP}"
+mkdir -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package
+rm -rf ${NBTMPDIR}
+mkdir -p ${NBTMPDIR}
+
+# Copy files and create directories and links
+cd "${TOP}"
+makeDirectory "${NBTMPDIR}/libwntrlingua-core.so/lib"
+copyFileToTmpDir "${OUTPUT_PATH}" "${NBTMPDIR}/${PACKAGE_TOP_DIR}lib/${OUTPUT_BASENAME}" 0644
+
+
+# Generate tar file
+cd "${TOP}"
+rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/libwntrlingua-core.so.tar
+cd ${NBTMPDIR}
+tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/libwntrlingua-core.so.tar *
+checkReturnCode
+
+# Cleanup
+cd "${TOP}"
+rm -rf ${NBTMPDIR}
=== added file 'wntrlingua-core/nbproject/Package-Release.bash'
--- wntrlingua-core/nbproject/Package-Release.bash 1970-01-01 00:00:00 +0000
+++ wntrlingua-core/nbproject/Package-Release.bash 2011-03-27 15:48:31 +0000
@@ -0,0 +1,74 @@
+#!/bin/bash -x
+
+#
+# Generated - do not edit!
+#
+
+# Macros
+TOP=`pwd`
+CND_PLATFORM=GNU-Linux-x86
+CND_CONF=Release
+CND_DISTDIR=dist
+NBTMPDIR=build/${CND_CONF}/${CND_PLATFORM}/tmp-packaging
+TMPDIRNAME=tmp-packaging
+OUTPUT_PATH=${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/libwntrlingua-core.so
+OUTPUT_BASENAME=libwntrlingua-core.so
+PACKAGE_TOP_DIR=libwntrlingua-core.so/
+
+# Functions
+function checkReturnCode
+{
+ rc=$?
+ if [ $rc != 0 ]
+ then
+ exit $rc
+ fi
+}
+function makeDirectory
+# $1 directory path
+# $2 permission (optional)
+{
+ mkdir -p "$1"
+ checkReturnCode
+ if [ "$2" != "" ]
+ then
+ chmod $2 "$1"
+ checkReturnCode
+ fi
+}
+function copyFileToTmpDir
+# $1 from-file path
+# $2 to-file path
+# $3 permission
+{
+ cp "$1" "$2"
+ checkReturnCode
+ if [ "$3" != "" ]
+ then
+ chmod $3 "$2"
+ checkReturnCode
+ fi
+}
+
+# Setup
+cd "${TOP}"
+mkdir -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package
+rm -rf ${NBTMPDIR}
+mkdir -p ${NBTMPDIR}
+
+# Copy files and create directories and links
+cd "${TOP}"
+makeDirectory "${NBTMPDIR}/libwntrlingua-core.so/lib"
+copyFileToTmpDir "${OUTPUT_PATH}" "${NBTMPDIR}/${PACKAGE_TOP_DIR}lib/${OUTPUT_BASENAME}" 0644
+
+
+# Generate tar file
+cd "${TOP}"
+rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/libwntrlingua-core.so.tar
+cd ${NBTMPDIR}
+tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/libwntrlingua-core.so.tar *
+checkReturnCode
+
+# Cleanup
+cd "${TOP}"
+rm -rf ${NBTMPDIR}
=== added file 'wntrlingua-core/nbproject/configurations.xml'
--- wntrlingua-core/nbproject/configurations.xml 1970-01-01 00:00:00 +0000
+++ wntrlingua-core/nbproject/configurations.xml 2011-03-27 15:48:31 +0000
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configurationDescriptor version="69">
+ <logicalFolder name="root" displayName="root" projectFiles="true">
+ <logicalFolder name="HeaderFiles"
+ displayName="Header Files"
+ projectFiles="true"
+ kind="SOURCE_LOGICAL_FOLDER">
+ <itemPath>config.hpp</itemPath>
+ <itemPath>md5.hpp</itemPath>
+ <itemPath>parser.hpp</itemPath>
+ <itemPath>wntrlingua.hpp</itemPath>
+ </logicalFolder>
+ <logicalFolder name="ResourceFiles"
+ displayName="Resource Files"
+ projectFiles="true"
+ kind="SOURCE_LOGICAL_FOLDER">
+ </logicalFolder>
+ <logicalFolder name="SourceFiles"
+ displayName="Source Files"
+ projectFiles="true"
+ kind="SOURCE_LOGICAL_FOLDER">
+ <itemPath>config.cpp</itemPath>
+ <itemPath>md5.cpp</itemPath>
+ <itemPath>parser.cpp</itemPath>
+ <itemPath>wntrlingua.cpp</itemPath>
+ </logicalFolder>
+ <logicalFolder name="TestFiles"
+ displayName="Test Files"
+ projectFiles="false"
+ kind="TEST_LOGICAL_FOLDER">
+ </logicalFolder>
+ <logicalFolder name="ExternalFiles"
+ displayName="Important Files"
+ projectFiles="false"
+ kind="IMPORTANT_FILES_FOLDER">
+ <itemPath>Makefile</itemPath>
+ </logicalFolder>
+ </logicalFolder>
+ <projectmakefile>Makefile</projectmakefile>
+ <confs>
+ <conf name="Debug" type="2">
+ <toolsSet>
+ <developmentServer>localhost</developmentServer>
+ <compilerSet>GNU|GNU</compilerSet>
+ <platform>2</platform>
+ </toolsSet>
+ <compileType>
+ <ccTool>
+ <commandLine>`pkg-config --cflags --libs sigc++-2.0`</commandLine>
+ <warningLevel>2</warningLevel>
+ </ccTool>
+ </compileType>
+ </conf>
+ <conf name="Release" type="2">
+ <toolsSet>
+ <developmentServer>localhost</developmentServer>
+ <compilerSet>GNU|GNU</compilerSet>
+ <platform>2</platform>
+ </toolsSet>
+ <compileType>
+ <cTool>
+ <developmentMode>5</developmentMode>
+ </cTool>
+ <ccTool>
+ <developmentMode>5</developmentMode>
+ </ccTool>
+ <fortranCompilerTool>
+ <developmentMode>5</developmentMode>
+ </fortranCompilerTool>
+ <asmTool>
+ <developmentMode>5</developmentMode>
+ </asmTool>
+ </compileType>
+ </conf>
+ </confs>
+</configurationDescriptor>
=== added directory 'wntrlingua-core/nbproject/private'
=== added file 'wntrlingua-core/nbproject/private/configurations.xml'
--- wntrlingua-core/nbproject/private/configurations.xml 1970-01-01 00:00:00 +0000
+++ wntrlingua-core/nbproject/private/configurations.xml 2011-03-27 15:48:31 +0000
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configurationDescriptor version="69">
+ <projectmakefile>Makefile</projectmakefile>
+ <defaultConf>0</defaultConf>
+ <confs>
+ <conf name="Debug" type="2">
+ <gizmo_options version="3">
+ <configurationname>GizmoSimple</configurationname>
+ </gizmo_options>
+ <runprofile version="6">
+ <args></args>
+ <rundir></rundir>
+ <buildfirst>true</buildfirst>
+ <console-type>0</console-type>
+ <terminal-type>0</terminal-type>
+ <remove-instrumentation>0</remove-instrumentation>
+ <environment>
+ </environment>
+ </runprofile>
+ </conf>
+ <conf name="Release" type="2">
+ <gizmo_options version="3">
+ <configurationname>GizmoSimple</configurationname>
+ </gizmo_options>
+ <runprofile version="6">
+ <args></args>
+ <rundir></rundir>
+ <buildfirst>true</buildfirst>
+ <console-type>0</console-type>
+ <terminal-type>0</terminal-type>
+ <remove-instrumentation>0</remove-instrumentation>
+ <environment>
+ </environment>
+ </runprofile>
+ </conf>
+ </confs>
+</configurationDescriptor>
=== added file 'wntrlingua-core/nbproject/private/private.properties'
=== added file 'wntrlingua-core/nbproject/private/private.xml'
--- wntrlingua-core/nbproject/private/private.xml 1970-01-01 00:00:00 +0000
+++ wntrlingua-core/nbproject/private/private.xml 2011-03-27 15:48:31 +0000
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project-private xmlns="http://www.netbeans.org/ns/project-private/1">
+ <editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/1"/>
+</project-private>
=== added file 'wntrlingua-core/nbproject/project.properties'
=== added file 'wntrlingua-core/nbproject/project.xml'
--- wntrlingua-core/nbproject/project.xml 1970-01-01 00:00:00 +0000
+++ wntrlingua-core/nbproject/project.xml 2011-03-27 15:48:31 +0000
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://www.netbeans.org/ns/project/1">
+ <type>org.netbeans.modules.cnd.makeproject</type>
+ <configuration>
+ <data xmlns="http://www.netbeans.org/ns/make-project/1">
+ <name>wntrlingua-core</name>
+ <make-project-type>0</make-project-type>
+ <c-extensions/>
+ <cpp-extensions>cpp</cpp-extensions>
+ <header-extensions>hpp</header-extensions>
+ <sourceEncoding>UTF-8</sourceEncoding>
+ <make-dep-projects/>
+ <sourceRootList/>
+ <confList>
+ <confElem>Debug</confElem>
+ <confElem>Release</confElem>
+ </confList>
+ </data>
+ </configuration>
+</project>
=== added file 'wntrlingua-core/parser.cpp'
--- wntrlingua-core/parser.cpp 1970-01-01 00:00:00 +0000
+++ wntrlingua-core/parser.cpp 2011-03-27 15:48:31 +0000
@@ -0,0 +1,489 @@
+/*
+ * parser.cpp
+ * This file is part of Wintermute Linguistics
+ *
+ * Copyright (C) 2011 - Jacky Alcine
+ *
+ * Wintermute Linguistics is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Wintermute Linguistics is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Wintermute Linguistics; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301 USA
+ */
+
+
+#include <sigc++/sigc++.h>
+#include <iostream>
+#include <fstream>
+#include <sstream>
+#include <string>
+#include <cstring>
+#include <algorithm>
+#include "config.hpp"
+#include "parser.hpp"
+
+using namespace Wintermute::Linguistics;
+using std::cout;
+using std::endl;
+using std::ifstream;
+using std::istringstream;
+using std::ios;
+using Wintermute::Linguistics::Configuration;
+using Wintermute::Linguistics::Parser;
+using Wintermute::Linguistics::Attribute;
+
+/**
+ * Generates a new Attribute.
+ * @param data The data to be represented by this attribute.
+ */
+template<class DataType>
+Attribute<DataType>::Attribute(const DataType& data) : _data(data) {
+ // TODO: what to do? :P
+}
+
+template<class DataType>
+Attribute<DataType>::~Attribute() {
+}
+
+/**
+ *
+ * @param key
+ * @return
+ */
+template<class DataType>
+const bool Attribute<DataType>::hasProperty(const string &key) const {
+ return !(this->prop->find(key) == this->prop->end());
+}
+
+/**
+ *
+ * @param key
+ * @return
+ */
+template<class DataType>
+const string Attribute<DataType>::getProperty(const string &key) const {
+ return *(this->prop->find(key));
+}
+
+/**
+ *
+ * @param key
+ * @param value
+ */
+template<class DataType>
+void Attribute<DataType>::setProperty(const string &key, const string &value) {
+ this->prop[key] = value;
+}
+
+/**
+ * Obtain the data stored in this attribute.
+ * @return The data of this attribute.
+ */
+template<class DataType>
+const DataType* Attribute<DataType>::getData() const {
+ return this->_data;
+}
+
+/**
+ *
+ * @param data
+ */
+template<class DataType>
+void Attribute<DataType>::setData(const DataType &data) {
+ this->_data = data;
+}
+
+/**
+ * @description Creates a new, empty Wordlist.
+ */
+Wordlist::Wordlist() {
+ this->_words = new StringVector;
+}
+
+/**
+ * @description Creates a Wordlist with all of the words in a specific locale.
+ * @param string locale The locale to load.
+ */
+Wordlist::Wordlist(const string &locale) {
+ this->_words = new StringVector;
+ load(locale);
+}
+
+/**
+ * @description Finds the word specified at an index. The speed of this function is instant.
+ * @param int index The index.
+ * @return string
+ */
+const string Wordlist::at(const int &index) const {
+ return this->_words->at(index);
+}
+
+/**
+ * @description Finds the index for a specified word. The speed of this function is log(O(Wordlist::size()))
+ */
+const int Wordlist::at(const string &word) const {
+ if (!has(word)) return -1;
+ for (int i = 0; i < size(); i++)
+ if (word == at(i)) return i;
+ return -1;
+}
+
+/**
+ *
+ * @param word
+ * @return
+ */
+const bool Wordlist::has(const string &word) const {
+ if (word.empty()) return false;
+ StringVector::iterator location;
+ location = std::find(this->_words->begin(), this->_words->end(), word);
+ return !(location == this->_words->end());
+}
+
+/**
+ *
+ * @param locale
+ */
+void Wordlist::load(const string &locale) {
+ cout << "WRDLST: *** Loading wordlist from disk.. " << endl;
+ string uri = Configuration::getWordlist(locale);
+ cout << "WRDLST: *** URI to load: " << uri << endl;
+ ifstream inWordlist(uri.c_str(), ios::in);
+
+ if (!inWordlist || !inWordlist.is_open()) {
+ cout << "WRDLST: *** Wordlist '" << uri << "[" << filesize(uri) << "]' doesn't exist." << endl;
+ return;
+ }
+
+ while (!inWordlist.eof()) {
+ string currentWord;
+ inWordlist >> currentWord;
+
+ if (!currentWord.empty()) {
+ /*if (currentWord.substr(0, 2) == "//")
+ continue; // just a comment.*/
+ this->_words->push_back(currentWord);
+ } else
+ break;
+ }
+
+ inWordlist.close();
+ this->_uri = uri;
+}
+
+/**
+ *
+ * @return
+ */
+const int Wordlist::size() const {
+ return this->_words->size();
+}
+
+/**
+ *
+ * @param word
+ */
+void Wordlist::append(const string &word) {
+ if (this->at(word) == -1)
+ this->_words->push_back(word);
+}
+
+/**
+ *
+ */
+void Wordlist::save() {
+ ofstream outList(_uri.c_str(), ios::trunc);
+ for (int i = 0; i < size(); i++)
+ outList << at(i) << endl;
+ outList.close();
+}
+
+/**
+ *
+ */
+Wordlist::~Wordlist() {
+}
+
+/**
+ * @description Creates a new instance of a Parser
+ * @TODO Force locale settings?
+ */
+Parser::Parser() {
+ list = NULL;
+ _dels = new ParserDelegateList;
+}
+
+/**
+ * @description Loads a standard wordlist from disk.
+ * @param locale The specified locale to utilize.
+ */
+void Parser::loadList(const string &locale) {
+#ifdef DEBUG_OUTPUT
+ cout << "PSR: *** Loading wordlist for parser under locale '" << locale << "' ..." << endl;
+#endif
+
+ // Find the wordlist on file.
+ if (this->list != NULL)
+ delete this->list;
+ Wordlist *aList = new Wordlist(locale);
+ loadList(*aList);
+}
+
+/**
+ *
+ * @param preloadedList
+ */
+void Parser::loadList(Wordlist &preloadedList) {
+#ifdef DEBUG_OUTPUT
+ cout << "PSR:*** Using pre-loaded wordlist for parser..." << endl;
+#endif
+ list = &preloadedList;
+ generateNodes();
+}
+
+/**
+ *
+ * @return
+ */
+Wordlist* Parser::getList() {
+ return this->list;
+}
+
+/**
+ *
+ * @return
+ */
+const int Parser::getLexicalCount() const {
+ return LexicalNode::count();
+}
+
+/**
+ *
+ * @param text
+ * @return
+ */
+const string Parser::toID(const string &text) const {
+ return LexicalNode::toID(text);
+}
+
+/**
+ *
+ * @param text
+ */
+void Parser::parseText(const string &text) {
+ char *str = const_cast<char*> (text.c_str());
+ char *token = strtok(str, " ");
+ StringVector tokens;
+ NodeVector theNodes;
+
+ while (token != NULL) {
+ tokens.push_back(token);
+ cout << "'" << token << "': " << LexicalNode::toID(token) << endl;
+ token = strtok(NULL, " ");
+ }
+
+ cout << this->_dels->size() << " wordclass handlers loaded for " << tokens.size() << " words." << endl;
+
+ theNodes = this->generateSyntactics(tokens);
+ doParse(theNodes);
+}
+
+/**
+ *
+ * @param theNodes
+ */
+void Parser::doParse(NodeVector const &theNodes) {
+ SyntacticList anArray = (SyntacticList) theNodes;
+ anArray.parse(this);
+}
+
+/**
+ *
+ * @param tokens
+ * @return
+ */
+NodeVector Parser::generateSyntactics(StringVector const &tokens) {
+ NodeVector theNodes;
+ int intPaths;
+ // Remove the need to play with the tokens.
+ // In layman terms, translate from a lexicon to its internal form.
+ for (StringVector::const_iterator i = tokens.begin(); i != tokens.end(); i++) {
+ string currentWord = *i, theWord = "";
+ bool isPseudo = false, hasMark = false, hasQuotation = false;
+
+ theWord.reserve(currentWord.size());
+
+ // @note: This part needs a bit of work, we'll need to flag certain words as so:
+ // **** at least for English..
+ // "word" = psuedo word
+ // word(.,!:?) = punctaction.
+ // **numerical value** = how should we save numbers?
+ for (unsigned int k = 0; k < currentWord.size(); k++) {
+ const char theChar = currentWord.at(k);
+ hasQuotation = ((k == 0 || k + 1 == currentWord.size()) && (theChar == '"' || theChar == '\''));
+ if (!hasMark) hasMark = ispunct(theChar);
+ if (!isalpha(theChar))
+ continue;
+ else
+ theWord += tolower(theChar);
+ }
+
+ SyntacticNode *synNode = NULL;
+ string wordID = LexicalNode::toID(theWord);
+ cout << "Word ID: " << wordID << endl;
+ isPseudo = LexicalNode::exists(wordID, this->getLocale());
+ if (!isPseudo) {
+ LexicalNode *aWord;
+ StringVector flags;
+ NodeVector allMeanings;
+
+ aWord = LexicalNode::fromID(wordID, this->getLocale());
+ flags = LexicalLink::obtainFlagsFor(aWord, NULL);
+ allMeanings = LexicalLink::getMeaningOf(aWord);
+
+ intPaths *= flags.size();
+ if (allMeanings.size() != 0)
+ synNode = SyntacticNode::build(allMeanings.at(0)->getID(), flags.at(0), theWord);
+ } else
+ synNode = SyntacticNode::buildPsuedo(theWord);
+
+ if (synNode != NULL)
+ theNodes.push_back(synNode);
+ else
+ cout << "No meanings were found for '" << theWord << "'" << endl;
+ }
+#ifdef DEBUG_OUTPUT
+ cout << intPaths << " paths detected." << endl;
+#endif
+ return theNodes;
+}
+
+/**
+ *
+ */
+void Parser::generateNodes() {
+ for (int i = 0; i < list->size(); i++) {
+ string wordID = LexicalNode::toID(list->at(i));
+
+ if (!LexicalNode::exists(wordID, this->getLocale()) && (LexicalNode::fromID(wordID, this->getLocale()) == NULL))
+ cout << "Word #" << wordID << " cannot be loaded.";
+ }
+}
+
+/**
+ *
+ * @return
+ */
+const string Parser::getLocale() const {
+ return Configuration::getLocale();
+}
+
+/**
+ */
+void Parser::createStore() {
+}
+
+/**
+ *
+ * @return
+ */
+const bool Parser::storeExists() {
+ return true;
+}
+
+/**
+ *
+ * @param i
+ * @param wordlist
+ * @return
+ */
+SyntacticLink* Parser::parseWord(NodeVector::iterator &i, SyntacticList &wordlist) {
+ SyntacticNode *word = reinterpret_cast<SyntacticNode*> (*i);
+ ParserDelegateList::const_iterator itr = this->_dels->find(word->getType());
+ if (itr != this->_dels->end()) {
+ const ParserSignal *delegate = &itr->second;
+ return delegate->emit(i, wordlist);
+ }
+ return NULL;
+}
+
+/**
+ *
+ * @param type
+ * @return
+ */
+ParserSignal* Parser::signalHandler(const char type) {
+ if (this->_dels->find(type) == this->_dels->end()) {
+ ParserSignal *sig = new ParserSignal;
+ this->_dels->insert(ParserDelegateList::value_type(type, *sig));
+ }
+ return &(this->_dels->find(type)->second);
+}
+
+Parser::~Parser() {
+}
+
+/**
+ */
+SyntacticList::SyntacticList() {
+ _nodes = NULL;
+}
+
+/**
+ *
+ * @param nodes
+ */
+SyntacticList::SyntacticList(const NodeVector &nodes) {
+ _nodes = const_cast<NodeVector*> (&nodes);
+}
+
+/**
+ *
+ * @param index
+ * @return
+ */
+SyntacticNode* SyntacticList::at(const unsigned int index) const {
+ if (index >= 0 && index <= (this->_nodes->size() - 1))
+ return reinterpret_cast<SyntacticNode*> (this->_nodes->at(index));
+ else
+ return NULL;
+}
+
+/**
+ *
+ * @param parser
+ */
+void SyntacticList::parse(Parser *parser) {
+ if (_nodes == NULL)
+ return;
+
+ LinkVector links;
+ links.resize(0, NULL);
+
+ for (NodeVector::iterator i = _nodes->begin(); i != _nodes->end(); i++) {
+ SyntacticLink *aLink = parser->parseWord(i, *this);
+ if (aLink != NULL) {
+ links.push_back(aLink);
+ cout << "'" << aLink->getRegentWord()->getText() << "' is linked to ";
+ if (aLink->getDependentWord() == NULL)
+ cout << "nothing.";
+ else
+ cout << "'" << aLink->getDependentWord()->getText() << "'.";
+ }
+ }
+#ifdef DEBUG_OUTPUT
+ cout << links.size() << " syntactic links found." << endl;
+#endif
+}
+
+SyntacticList::~SyntacticList() {
+}
=== added file 'wntrlingua-core/parser.hpp'
--- wntrlingua-core/parser.hpp 1970-01-01 00:00:00 +0000
+++ wntrlingua-core/parser.hpp 2011-03-27 15:48:31 +0000
@@ -0,0 +1,233 @@
+/**
+ * @file parser.hpp
+ * @author Jacky Alcine <jackyalcine@xxxxxxxxx>
+ * @created February 4, 2011, 12:07 AM
+ * @license GPL3
+ *
+ * Copyright (c) SII 2010 - 2011
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ *
+ * @consider: A storage template class for Nodes?
+ * @description Header information for the Panlingua network.
+ * @note Implement hashing and a cache
+ */
+
+#include <sigc++/sigc++.h>
+#include <string>
+#include <functional>
+#include <algorithm>
+#include <vector>
+#include <map>
+#include "wntrlingua.hpp"
+
+#ifndef PARSER_HPP
+#define PARSER_HPP
+
+namespace Wintermute {
+ namespace Linguistics {
+ class Wordlist;
+ class Parser;
+ class AttributeBase;
+
+ typedef SyntacticLink* (ParserDelegate) (NodeVector::iterator &, SyntacticList &);
+ typedef sigc::signal<SyntacticLink*, NodeVector::iterator&, SyntacticList &> ParserSignal;
+ typedef map<char, ParserSignal> ParserDelegateList;
+ typedef vector<AttributeBase*> AttributeVector;
+ typedef map<string, AttributeVector> AttributeMap;
+
+ /**
+ * @description The base type of all Attribute<DataType>. Makes for easy conversions.
+ */
+ class AttributeBase {
+ public:
+ AttributeBase();
+ ~AttributeBase();
+ };
+
+ /**
+ * @description Represents an attribute.
+ */
+ template<typename DataType = string>
+ class Attribute : public AttributeBase {
+ const DataType* _data;
+ map <string, string> prop;
+ public:
+ /**
+ *
+ */
+ Attribute();
+ /**
+ *
+ * @param
+ */
+ Attribute(const DataType&);
+ ~Attribute();
+ /**
+ *
+ * @param
+ * @return
+ */
+ const string getProperty(const string&) const;
+ /**
+ *
+ * @return
+ */
+ const DataType* getData() const;
+ /**
+ *
+ * @param
+ * @return
+ */
+ const bool hasProperty(const string &) const;
+ /**
+ *
+ * @param
+ */
+ void setData(const DataType&);
+ /**
+ *
+ * @param
+ * @param
+ */
+ void setProperty(const string&, const string&);
+ };
+
+ /**
+ * @description Gives text their magical meaning.
+ */
+ class Parser {
+ friend class SyntacticList;
+
+ /**
+ * @description A container for meta properties of a parser.
+ * @note This object uses a bit of STL-type code that I'm not familiar with (functors)
+ */
+ class AttributeCollection {
+ private:
+ AttributeMap _list;
+ string *_tmp;
+ public:
+
+ /**
+ * @description Initializes a new collection.
+ */
+ AttributeCollection() {
+ _tmp = NULL;
+ }
+
+ /**
+ * @description Deletes a collection.
+ */
+ ~AttributeCollection() {
+ delete _tmp;
+ }
+
+ /**
+ *
+ * @param key
+ * @return
+ */
+ const bool has(const string &key) const {
+ return !(this->_list.count(key) == 0);
+ }
+
+ const bool has(const string &key, const string &property) const {
+ if (!has(key)) return false;
+
+ }
+
+ /**
+ * Supplied a key, this function searches returns all of the attributes associated with this key.
+ * @param key
+ * @return
+ */
+ const AttributeVector& get(const string &key) const {
+ return get(key);
+ }
+
+ AttributeVector& get(const string &key){
+ if (has(key))
+ return (this->_list.find(key))->second;
+
+ return this->_list.end()->second;
+ }
+
+ /**
+ *
+ * @param
+ * @param
+ */
+ void add(const string &key, AttributeBase *value) {
+ if (has(key)){
+ AttributeVector vect = get(key);
+ vect.push_back(value);
+ }
+ else {
+ AttributeVector vect;
+ vect.push_back(value);
+ this->_list.insert(AttributeMap::value_type(key,vect));
+ }
+ }
+
+ };
+ private:
+ Wordlist *list;
+ ParserDelegateList *_dels;
+ SyntacticLink* parseWord(NodeVector::iterator &, SyntacticList &);
+ void doParse(NodeVector const &);
+ NodeVector generateSyntactics(StringVector const &);
+ void generateNodes();
+
+ protected:
+ AttributeCollection *attr;
+ ParserSignal* signalHandler(const char);
+
+ public:
+ Parser();
+ ~Parser();
+ void loadList(const string &);
+ void loadList(Wordlist &);
+ void parseText(const string &);
+ Wordlist* getList();
+ const int getLexicalCount()const;
+ const string toID(const string &) const;
+ static void createStore();
+ virtual const string getLocale() const;
+ const static bool storeExists();
+ };
+
+ class Wordlist {
+ private:
+ StringVector *_words;
+ string _uri;
+
+ public:
+ Wordlist();
+ Wordlist(const string &);
+ Wordlist(const Wordlist &);
+ ~Wordlist();
+ void load(const string & = "en");
+ void append(const string& = NULL);
+ void save();
+ const int size() const;
+ const string at(const int& = 0) const;
+ const int at(const string &) const;
+ const bool has(const string &) const;
+ string & operator[](int &);
+ const string & operator[](int &) const;
+ };
+ }
+}
+#endif /* PARSER_HPP */
+
=== added file 'wntrlingua-core/wntrlingua.cpp'
--- wntrlingua-core/wntrlingua.cpp 1970-01-01 00:00:00 +0000
+++ wntrlingua-core/wntrlingua.cpp 2011-03-27 15:48:31 +0000
@@ -0,0 +1,499 @@
+/**
+ * @file wntrlingua.cpp
+ * @author Jacky Alcine <jackyalcine@xxxxxxxxx>
+ * @created February 4, 2011, 12:07 AM
+ * @license GPL3
+ *
+ * Copyright (c) SII 2010 - 2011
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+#include <iostream>
+#include <fstream>
+#include <cstdlib>
+#include <cstring>
+#include <ctime>
+#include <cmath>
+#include <algorithm>
+#include "config.hpp"
+#include "wntrlingua.hpp"
+
+using namespace std;
+using std::ios;
+using std::ifstream;
+using std::endl;
+
+namespace Wintermute {
+ namespace Linguistics {
+
+ using Wintermute::Linguistics::Configuration;
+
+ void wntrlingua_cleanup() {}
+
+ void Initialize(const string root = "store", const string locale = "en") {
+ Configuration::setLocale(locale);
+ Configuration::setRootDirectory(root);
+ }
+
+ NodeIndex* SemanticNode::_index = new NodeIndex;
+ NodeIndex* SyntacticNode::_index = new NodeIndex;
+ NodeIndex* LexicalNode::_index = new NodeIndex;
+ LinkIndex* RadicalLink::_index = new LinkIndex;
+ map<char, string>* SyntacticNode::_flgs = new map<char, string>;
+
+ Node::Node() {
+ this->id = "";
+ }
+
+ Node::~Node() {
+ }
+
+ const string Node::getID() const {
+ return id;
+ }
+
+ void Node::setID(const string newID) {
+ this->id = newID;
+ }
+
+ bool Node::operator ==(const Node &toCheck) const {
+ if (&toCheck == NULL)
+ return false;
+ else {
+ Node* aNode = const_cast<Node*> (& toCheck);
+ return (id == aNode->id);
+ }
+ }
+
+ LexicalNode::LexicalNode(const string id, const string &locale) : Node() {
+ if (!id.empty())
+ _parse(id);
+
+ if (!locale.empty())
+ _locale = Configuration::getLocale();
+ else
+ _locale = locale;
+ }
+
+ LexicalNode::~LexicalNode() {
+ //
+ }
+
+ const string LexicalNode::getLocale() const {
+ return this->_locale;
+ }
+
+ const int LexicalNode::count() {
+ return _index->size();
+ }
+
+ void LexicalNode::_parse(const string& id) {
+#ifdef DEBUG_OUTPUT
+ cout << "LEXNOD: *** Loading lexical node.. " << endl;
+#endif
+ string lexnodUri = Configuration::getLexicalRoot(this->getLocale()), flags;
+ string semid;
+ lexnodUri += "/" + id;
+
+ ifstream inLexnod(lexnodUri.c_str(), ios::in);
+ if (!inLexnod || inLexnod.eof() || filesize(lexnodUri) == 0) {
+#ifdef DEBUG_OUTPUT
+ cout << id << " is malformed or not found." << endl
+ << "\t for uri: '" << lexnodUri << "'" << endl;
+#endif
+ return;
+ }
+
+ this->setID(id);
+ inLexnod >> this->_strSymbol;
+
+ while (inLexnod >> flags >> semid)
+ LexicalLink::build(SemanticNode::fromID(semid), this, flags);
+
+ inLexnod.close();
+
+ LexicalNode::_index->insert(NodeIndex::value_type(id, this));
+#ifdef DEBUG_OUTPUT
+ cout << "** " << id << " loaded (" << this->getSymbol() << ")" << endl;
+#endif
+ }
+
+ LexicalNode* LexicalNode::fromID(const string& id, const string& locale) {
+ if (LexicalNode::exists(id,locale)) {
+ LexicalNode* node;
+ if (LexicalNode::_index->find(id) == LexicalNode::_index->end()) {
+ node = new LexicalNode(id,locale);
+ LexicalNode::_index->insert(NodeIndex::value_type(id, node));
+ } else
+ node = reinterpret_cast<LexicalNode*> (LexicalNode::_index->at(id));
+
+ return node;
+ } else
+ return new LexicalNode(id,locale);
+ }
+
+ const string LexicalNode::toID(const string& text) {
+ string low;
+ for (unsigned int i = 0; i < text.length(); i++)
+ low += tolower(text.at(i));
+ return md5(low);
+ }
+
+ const bool LexicalNode::exists(const string& id, const string& locale) {
+ string lexnodUri = Configuration::getLexicalRoot(locale);
+ lexnodUri += "/" + id;
+
+ return filesize(lexnodUri) != 0;
+ }
+
+ const string LexicalNode::getSymbol() const {
+ return this->_strSymbol;
+ }
+
+ SemanticNode::SemanticNode() : Node() {
+ }
+
+ SemanticNode::~SemanticNode() {
+ }
+
+ const bool SemanticNode::exists(const string& id) {
+ return (_index->find(id) != _index->end());
+ }
+
+ SemanticNode* SemanticNode::fromID(const string& id) {
+ if (SemanticNode::exists(id))
+ return static_cast<SemanticNode*> (SemanticNode::_index->at(id));
+ else {
+ string semnodUri = Configuration::getSemanticRoot(), semanticUri;
+ semnodUri += +"/sem/" + id;
+ ifstream inSemnod(semnodUri.c_str(), ios::in);
+#ifdef DEBUG_OUTPUT
+ cout << "SEMNOD: *** URI to load: " << semnodUri << endl;
+#endif
+
+ if (!inSemnod) {
+#ifdef DEBUG_OUTPUT
+ cout << "SEMNOD: *** No meaning found for ID# " << id << endl;
+#endif
+ return NULL;
+ }
+
+ inSemnod >> semanticUri;
+ SemanticNode* theNode = new SemanticNode;
+ theNode->setID(id);
+ theNode->__rdfUri = semanticUri;
+
+ while (!inSemnod.eof()) {
+ string rootID;
+ string relatedFlags;
+ inSemnod >> relatedFlags >> rootID;
+
+ if (relatedFlags.empty()) break;
+ else RadicalLink::build(theNode, SemanticNode::fromID(rootID), relatedFlags);
+ }
+
+ SemanticNode::_index->insert(NodeIndex::value_type(id, theNode));
+#ifdef DEBUG_OUTPUT
+ cout << "SEMNOD: *** Loaded semantic node # " << id << "." << endl;
+#endif
+ return theNode;
+ }
+ return NULL;
+ }
+
+ SyntacticNode::SyntacticNode() : Node() {
+ this->_psu = false;
+ }
+
+ SyntacticNode* SyntacticNode::build(const string id, const string flags, const string text) {
+ SyntacticNode* aNode = new SyntacticNode();
+ aNode->setID(id);
+ aNode->_flg = flags;
+ aNode->_txt = text;
+ return aNode;
+ }
+
+ SyntacticNode* SyntacticNode::buildPsuedo(const string psuedoText) {
+ SyntacticNode *aNode = SyntacticNode::build("", "A", psuedoText);
+ aNode->_psu = true;
+ return aNode;
+ }
+
+ const string SyntacticNode::getFlags() const {
+ return this->_flg;
+ }
+
+ void SyntacticNode::setFlags(const string &flags) {
+ for (unsigned int i = 0; i < flags.size(); i++) {
+ char flg = flags.at(i);
+ if (!this->_flg.find(flg))
+ this->_flg += flg;
+ }
+ }
+
+ const bool SyntacticNode::isPsuedo() const {
+ return this->_psu;
+ }
+
+ const string SyntacticNode::getText() const {
+ return this->_txt;
+ }
+
+ const char SyntacticNode::getType() const {
+ for (unsigned int i = 0; i < _flg.size(); i++) {
+ if (isupper(_flg.at(i)))
+ return _flg.at(i);
+ }
+
+ return '?';
+ }
+
+ /**
+ * @FIXME How can we make the nodes locale-independant?
+ * @return LexicalNode.
+ */
+ LexicalNode* SyntacticNode::getSymbol() const {
+ if (isPsuedo())
+ return NULL;
+ else
+ return LexicalNode::fromID(this->getID(),"en");
+ }
+
+ SemanticNode* SyntacticNode::getMeaning() const {
+ if (isPsuedo())
+ return NULL;
+ else
+ return LexicalLink::getExactMeaningOf(getSymbol(), getFlags());
+ }
+
+ const string SyntacticNode::hasTheFlag(const string &flags) const {
+ string theString = "";
+ for (unsigned int i = 0; i < flags.size(); i++) {
+ const char *theFlag = hasTheFlag(flags.at(i));
+ if (theFlag != NULL)
+ theString += *theFlag;
+ }
+
+ return theString;
+ }
+
+ const char* SyntacticNode::hasTheFlag(const char &flag) const {
+ if (!hasFlag(flag))
+ return &flag;
+ else
+ return NULL;
+ }
+
+ const bool SyntacticNode::hasFlag(const string &flgQuery) const {
+ for (unsigned int i = 0; i < flgQuery.size(); i++) {
+ if (!hasFlag(flgQuery.at(i)))
+ return false;
+ }
+ return true;
+ }
+
+ const bool SyntacticNode::hasFlag(const char &flgQuery) const {
+ return (_flg.find(flgQuery) != -1);
+ }
+
+ SyntacticNode::~SyntacticNode() {
+ }
+
+ Link::Link() {
+ }
+
+ Link::Link(const Node* nodeSrc, const Node* nodeDst) {
+ this->_nodeDest = const_cast<Node*> (nodeDst);
+ this->_nodeSrc = const_cast<Node*> (nodeSrc);
+ }
+
+ Link::~Link() {
+ delete this->_nodeDest;
+ delete this->_nodeSrc;
+ }
+
+ Node* Link::getDestination() const {
+ return this->_nodeDest;
+ }
+
+ Node* Link::getSource() const {
+ return this->_nodeSrc;
+ }
+
+ LinkIndex* LexicalLink::_index = new LinkIndex;
+
+ LexicalLink::LexicalLink() : Link() {
+ }
+
+ LexicalLink::LexicalLink(SemanticNode *snod, LexicalNode *lnod, const string flags) : Link(snod, lnod) {
+ this->_lnkType = flags;
+ string ID = flags + " " + lnod->getID();
+ LexicalLink::_index->insert(LinkIndex::value_type(ID, this));
+#ifdef DEBUG_OUTPUT
+ cout << "LEXLNK: ** Created lexical link #" << LexicalLink::_index->size() << ": '" << ID << "'." << endl;
+#endif
+ }
+
+ void LexicalLink::build(SemanticNode* snod, LexicalNode* lnod, const string flags) {
+ if (snod == NULL)
+ return;
+
+ LexicalLink *newLink;
+ newLink = new LexicalLink(snod, lnod, flags);
+ }
+
+ const bool LexicalLink::exists(LexicalNode *lnod) {
+ if (lnod == NULL)
+ return false;
+ else
+ return (LexicalLink::_index->lower_bound(lnod->getSymbol()) == LexicalLink::_index->end());
+ }
+
+ const bool LexicalLink::hasFlagsFor(LexicalNode* lnod, const string flags) {
+ if (flags.empty() || lnod == NULL)
+ return false;
+
+ string ID = flags + " " + lnod->getID();
+ return (LexicalLink::_index->find(ID) != LexicalLink::_index->end());
+ }
+
+ const StringVector LexicalLink::obtainFlagsFor(LexicalNode* lnod, SemanticNode* snod = NULL) {
+ StringVector flags;
+ if (lnod != NULL) {
+ for (LinkIndex::iterator itr = LexicalLink::_index->begin(); itr != LexicalLink::_index->end(); itr++) {
+ LexicalLink *link = reinterpret_cast<LexicalLink*> (itr->second);
+ if (link->getSymbol() == lnod) {
+ if ((snod != NULL && link->getMeaning() == snod) || snod == NULL)
+ flags.push_back(link->_lnkType);
+ }
+ }
+ }
+ unique(flags.begin(), flags.end());
+ return flags;
+ }
+
+ SemanticNode* LexicalLink::getExactMeaningOf(LexicalNode* lnod, const string flags) {
+ LinkIndex::iterator itr = _index->find(flags + " " + lnod->getID());
+ if (itr == _index->end())
+ return NULL;
+ else
+ return (reinterpret_cast<LexicalLink*> (itr->second))->getMeaning();
+ }
+
+ LexicalNode* LexicalLink::getExactSymbolOf(SemanticNode* snod, const string flags) {
+ NodeVector allSymbols = LexicalLink::getSymbolOf(snod);
+ for (NodeVector::const_iterator i = allSymbols.begin(); i != allSymbols.end(); i++) {
+ LexicalNode *lnod = reinterpret_cast<LexicalNode*> (*i);
+ if (LexicalLink::getExactMeaningOf(lnod, flags) == snod)
+ return lnod;
+ }
+
+ return NULL;
+ }
+
+ NodeVector LexicalLink::getMeaningOf(LexicalNode* lnod) {
+ NodeVector theList;
+
+ if (lnod != NULL) {
+ for (LinkIndex::iterator itr = LexicalLink::_index->begin(); itr != LexicalLink::_index->end(); itr++) {
+ string fullflag = itr->first;
+ LexicalLink *aLink = reinterpret_cast<LexicalLink*> (itr->second);
+ if (aLink->getSymbol() == lnod) {
+#ifdef DEBUG_OUTPUT
+ cout << "Flag: " << fullflag << endl;
+#endif
+ theList.push_back(aLink->getMeaning());
+ }
+ }
+
+ //unique(theList.begin(), theList.end());
+ }
+ return theList;
+ }
+
+ NodeVector LexicalLink::getSymbolOf(SemanticNode* snod) {
+ NodeVector theList;
+
+ if (snod != NULL) {
+ for (LinkIndex::iterator itr = LexicalLink::_index->begin(); itr != LexicalLink::_index->end(); itr++) {
+ LexicalLink *aLink = reinterpret_cast<LexicalLink*> (itr->second);
+ if (aLink->getMeaning() == snod) {
+ cout << "Flag: " << itr->first << endl;
+ theList.push_back(aLink->getSymbol());
+ }
+ }
+
+ unique(theList.begin(), theList.end());
+ }
+
+ return theList;
+ }
+
+ const int LexicalLink::count() {
+ return LexicalLink::_index->size();
+ }
+
+ SemanticNode* LexicalLink::getMeaning() const {
+ return reinterpret_cast<SemanticNode*> (this->_nodeSrc);
+ }
+
+ LexicalNode* LexicalLink::getSymbol() const {
+ return reinterpret_cast<LexicalNode*> (this->_nodeDest);
+ }
+
+ LexicalLink::~LexicalLink() {
+ }
+
+ RadicalLink::RadicalLink() : Link() {
+ }
+
+ RadicalLink::RadicalLink(SemanticNode* subMeaning, SemanticNode* baseMeaning, string flags) : Link(subMeaning, baseMeaning) {
+ this->_lnkType = flags;
+ string ID = subMeaning->getID() + string(" ") + flags + string(" ") + baseMeaning->getID();
+
+ RadicalLink::_index->insert(LinkIndex::value_type(ID, this));
+#ifdef DEBUG_OUTPUT
+ cout << "RADLNK: ** Created radical link #" << RadicalLink::_index->size() << ": '" << ID << "." << endl;
+#endif
+ }
+
+ void RadicalLink::build(SemanticNode* baseMeaning, SemanticNode* subMeaning, const string flags) {
+ RadicalLink *newLink;
+ newLink = new RadicalLink(baseMeaning, subMeaning, flags);
+ }
+
+ RadicalLink::~RadicalLink() {
+
+ }
+
+ SyntacticLink::SyntacticLink() : Link() {
+
+ }
+
+ SyntacticLink::SyntacticLink(SyntacticNode* word1, SyntacticNode* word2, const string flag, const NodeVector *modifiers) : Link(word1, word2) {
+ this->_lnkType = flag;
+ this->_mods = const_cast<NodeVector*> (modifiers);
+#ifdef DEBUG_OUTPUT
+ cout << "Created a link with " << modifiers->size() << " modifiers and flags " << flag << endl;
+#endif
+ }
+
+ SyntacticNode* SyntacticLink::getDependentWord() const {
+ return reinterpret_cast<SyntacticNode*> (this->_nodeDest);
+ }
+
+ SyntacticNode* SyntacticLink::getRegentWord() const {
+ return reinterpret_cast<SyntacticNode*> (this->_nodeSrc);
+ }
+ }
+}
\ No newline at end of file
=== added file 'wntrlingua-core/wntrlingua.hpp'
--- wntrlingua-core/wntrlingua.hpp 1970-01-01 00:00:00 +0000
+++ wntrlingua-core/wntrlingua.hpp 2011-03-27 15:48:31 +0000
@@ -0,0 +1,393 @@
+/**
+ * @file panlingua.hpp
+ * @author Jacky Alcine <jackyalcine@xxxxxxxxx>
+ * @created February 4, 2011, 12:07 AM
+ * @license GPL3
+ *
+ * Copyright (c) SII 2010 - 2011
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ *
+ * @consider: A storage template class for Nodes? To avoid run-time errors of
+ * conversion and instead have such errors be raised at compile-time?
+ * @description:Header information for the Panlingua network.
+ */
+
+#ifndef PANLINGUA_HPP
+#define PANLINGUA_HPP
+#include "config.hpp"
+#include <vector>
+#include <map>
+#include <string>
+
+using namespace std;
+using std::vector;
+using std::map;
+using std::string;
+
+namespace Wintermute {
+ namespace Linguistics {
+ class Parser;
+ class Link;
+ class Node;
+ class SyntacticNode;
+ class SemanticNode;
+ class LexicalNode;
+ class SyntacticLink;
+ class SemanticLink;
+ class LexicalLink;
+ class RadicalLink;
+
+ /**
+ * @description Used throughout this application, a StringVector is
+ * merely a shorthand notation for std::vector<std::basic_string>.
+ */
+ typedef vector<string> StringVector;
+ /**
+ * @description Used throughout this application, a LinkVector is
+ * merely a shorthand notation for std::vector<Panlingua::Link>.
+ * It serves as the base 'collection' type for all Panlingual links.
+ */
+ typedef vector<Link*> LinkVector;
+ /**
+ * @description Used throughout this application, a NodeVector is
+ * merely a shortand notation for std::vector<Panlingua::Node>.
+ * It serves as the base 'collection' type for all Panlingua links.
+ */
+ typedef vector<Node*> NodeVector;
+ /**
+ * @description Used throughout this application, a NodeIndex is
+ * a means of indexing nodes according to a certain ID.
+ * It serves as the base 'index' type for all Panlingual nodes.
+ * @consider Transparently implementing a hash_table to increase speed. May have
+ * a few problems once it hits huge sets of data (700,000).
+ */
+ typedef map<string, Node*> NodeIndex;
+ /**
+ * @description Used throughout this application, a LinkIndex is a
+ * means of indexing links according to a certain ID.
+ * It serves as the base 'index' type for all Panlingual nodes.
+ * @consider See consider#1 for Panlingua::NodeIndex.
+ */
+ typedef map<string, Link*> LinkIndex;
+
+ void panlingua_cleanup(void);
+
+ /**
+ * @description The base type for all nodes in Panlingua.
+ */
+ class Node {
+ private:
+ string id;
+
+ protected:
+ /**
+ * @description: Internal function
+ * Changes the ID of this Node. Note that only the ID stored with the node is changed,
+ * all parent indexes will not update to this change.
+ * @param string newID
+ */
+ void setID(const string);
+
+ public:
+ /**
+ * @description: Creates a new Node.
+ */
+ Node();
+ /**
+ * @description Destroys this node.
+ */
+ ~Node();
+ /**
+ * @description: Returns the ID associated with this node.
+ * @return int The ID associated with this node.
+ */
+ virtual const string getID() const;
+ bool operator==(const Node&) const;
+ };
+
+ /**
+ * @description A word appearing in cohorent text; this is the "programmable" form
+ * of language. It's passed from and to code to be parsed as if it were
+ * an object.
+ */
+ class SyntacticNode : public Node {
+ friend void panlingua_cleanup(void);
+
+ private:
+ static NodeIndex* _index;
+ static map<char, string> *_flgs;
+ string _flg;
+ string _sem;
+ string _txt;
+ bool _psu;
+
+ public:
+ /**
+ * @description: Creates a new SyntacticNode.
+ */
+ SyntacticNode();
+ /**
+ * @description: Destroys this SyntacticNode.
+ */
+ ~SyntacticNode();
+ /**
+ * @description: Gets the flags associated with this node.
+ * @return string A string (really should be a char[], but string's a container of it) of flags.
+ */
+ const string getFlags() const;
+ void setFlags(const string &);
+ /**
+ * @description: Gets the SemanticNode that's associated with this node.
+ * @return SemanticNode* A pointer to the SemanticNode.
+ */
+ SemanticNode* getMeaning() const;
+ /**
+ * @description: Gets the LexicalNode that's associated with this node.
+ * @return LexicalNode8 A pointer to the LexicalNode.
+ */
+ LexicalNode* getSymbol() const;
+ /**
+ * @description Determines if the specified flags are set in this SyntacticNode.
+ * @param string strFlags Flags to search for.
+ * @return boolean True if *all* flags have been found, false if *one* flag hasn't.
+ */
+ const bool hasFlag(const string &) const;
+ const bool hasFlag(const char &) const;
+ const char* hasTheFlag(const char &) const;
+ const string hasTheFlag(const string &)const;
+ /**
+ * @description Determines if the specified SyntacticNode is a psuedo word, or a word
+ * that isn't recognizable by the parser.
+ * @return boolean True if it's a psuedoword.
+ */
+ const bool isPsuedo() const;
+ /**
+ * @description Returns the flags in a human-friendly string.
+ * @return string The formatted flags.
+ */
+ const string getFormattedFlags() const;
+ /**
+ * @description: Obtains the text as if the word were to be parsed into its original sentence.
+ * @return string The original word.
+ */
+ const string getText() const;
+ /**
+ * @description Determines the word class.
+ * @return char The flag that represents its word class.
+ */
+ const char getType() const;
+ /**
+ * @description Determines the word type from a string.
+ * @param string The friendly name of the type.
+ * @return char The flag that represents its word class.
+ */
+ static const char getTypeFrom(const string &);
+ /**
+ * @description Get every possible word class loaded.
+ * @return a vector<char> with every word class.
+ */
+ static const vector<char> getAllTypes();
+ /**
+ * @description Generates a new SyntacticNode.
+ * @param string semid The SemanticNode's ID behind this.
+ * @param string flags The flags to determine the right LexicalNode.
+ * @param string text The original text.
+ * @return SyntacticNode* A pointer to the SyntacticNode.
+ */
+ static SyntacticNode* build(const string, const string, const string);
+ /**
+ * @description Generates a pseudo SyntacticNode.
+ * @param string text The text to be presented as a pseudoword.
+ * @return A pointer to the SyntacticNode.
+ */
+ static SyntacticNode* buildPsuedo(const string);
+ };
+
+ /**
+ * @description This type represents a 'meaning', or a node within the Panlingual ontology.
+ * @consider Should this be linked up to RDF?
+ */
+ class SemanticNode : public Node {
+ friend void panlingua_cleanup(void);
+ private:
+ static NodeIndex* _index;
+ string __rdfUri;
+ void loadSemanticLinks();
+
+ public:
+ /**
+ * @description The directory at which the Panlingua's ontology is held.
+ */
+ static string BASEDIR;
+
+ /**
+ * @description Generates a new SemanticNode.
+ */
+ SemanticNode();
+ /**
+ * @description Destroys the node.
+ */
+ ~SemanticNode();
+ /**
+ * @description Obtains the meaning of the semantic node.
+ * @consider How does one get a meaning?!
+ */
+ void getMeaning() const;
+ static const bool exists(const string&);
+ static SemanticNode* fromID(const string&);
+ };
+
+ /**
+ * @description A symbol that represents a collection of sub-symbols that represents a collection of WORDs.
+ */
+ class LexicalNode : public Node {
+ friend void panlingua_cleanup(void);
+ private:
+ static NodeIndex* _index;
+ string _strSymbol;
+ string _locale;
+ void _parse(const string&);
+
+ public:
+ LexicalNode(const string, const string & = "");
+ ~LexicalNode();
+ static LexicalNode* fromID(const string&, const string& locale);
+ static const bool exists(const string&, const string& locale);
+ static const string toID(const string&);
+ static const int count();
+ const string getSymbol() const;
+ const string getLocale() const;
+ };
+
+ /**
+ * @description The base type of a linguistic link.
+ */
+ class Link {
+ protected:
+ Node* _nodeSrc;
+ Node* _nodeDest;
+ string _lnkType;
+
+ public:
+ Link();
+ Link(const Node*, const Node*);
+ ~Link();
+ virtual Node* getSource() const;
+ virtual Node* getDestination() const;
+ bool operator==(const Link&) const;
+ };
+
+ /**
+ * @description Links a dependent WORD to its regent WORD. Used for parsing.
+ */
+ class SyntacticLink : public Link {
+ friend void panlingua_cleanup(void);
+ private:
+ NodeVector *_mods;
+
+ public:
+ SyntacticLink();
+ SyntacticLink(SyntacticNode * = NULL, SyntacticNode * = NULL, const string = "", const NodeVector * = NULL);
+ ~SyntacticLink();
+ SyntacticNode* getDependentWord() const;
+ SyntacticNode* getRegentWord() const;
+ };
+
+ /**
+ * @description Links a meaning to another meaning.
+ * Kick ISA Movement
+ * Father ISA Male_Human
+ */
+ class RadicalLink : public Link {
+ friend void panlingua_cleanup(void);
+ private:
+ static LinkIndex* _index;
+ public:
+ RadicalLink();
+ RadicalLink(SemanticNode*, SemanticNode*, const string);
+ ~RadicalLink();
+ SemanticNode* getBaseMeaning() const;
+ SemanticNode* getSubMeaning() const;
+ static const int count();
+ static void build(SemanticNode*, SemanticNode*, const string);
+ };
+
+ /**
+ * @description Links words to their meaning.
+ */
+ class SemanticLink : public Link {
+ friend void panlingua_cleanup(void);
+ public:
+ SemanticLink();
+ SemanticLink(SyntacticNode*, SemanticNode*, const string);
+ ~SemanticLink();
+ SyntacticNode* getWord() const;
+ SemanticNode* getMeaning() const;
+ const string getType() const;
+ };
+
+ /**
+ * @description Links a meaning with a symbol.
+ */
+ class LexicalLink : public Link {
+ friend void panlingua_cleanup(void);
+ private:
+ static LinkIndex* _index;
+ public:
+ LexicalLink();
+ LexicalLink(SemanticNode*, LexicalNode*, const string);
+ ~LexicalLink();
+ SemanticNode* getMeaning() const;
+ LexicalNode* getSymbol() const;
+ static const int count();
+ static const bool exists(LexicalNode*);
+ static const bool hasFlagsFor(LexicalNode *, const string);
+ static const StringVector obtainFlagsFor(LexicalNode *, SemanticNode *);
+ static void build(SemanticNode*, LexicalNode*, const string);
+ /**
+ * Finds every semantic node attached to a lexical node.
+ * @param lnod The lexical node.
+ * @return Returns a SemanticNode if one was found, otherwise returns a NULL value.
+ * @note If the function returns NULL, that is, technically a *logical* error. There
+ * shouldn't *ever* be a word without a meaning. If possible, implement a means
+ * of creating a standard value for meanings (like a NULL pointer) and change
+ * the lexical node to that value.
+ * @note With larger lists; this can be a very CPU-intestive method, as it's winded
+ * down the entire list of links.
+ */
+ static NodeVector getMeaningOf(LexicalNode*);
+ static NodeVector getSymbolOf(SemanticNode*);
+ static SemanticNode* getExactMeaningOf(LexicalNode *, const string);
+ static LexicalNode* getExactSymbolOf(SemanticNode *, const string);
+ };
+
+ /**
+ * @description
+ */
+ class SyntacticList {
+ private:
+ NodeVector *_nodes;
+ map<char, string> _flgs;
+ map<string, Node*> _cmpn;
+
+ public:
+ SyntacticList();
+ SyntacticList(const NodeVector &);
+ ~SyntacticList();
+ void parse(Parser *);
+ SyntacticNode* at(const unsigned int) const;
+ };
+ }
+}
+#endif /* PANLINGUA_HPP */
\ No newline at end of file
=== added directory 'wntrlingua-en'
=== added file 'wntrlingua-en/.dep.inc'
--- wntrlingua-en/.dep.inc 1970-01-01 00:00:00 +0000
+++ wntrlingua-en/.dep.inc 2011-03-27 15:48:31 +0000
@@ -0,0 +1,5 @@
+# This code depends on make tool being used
+DEPFILES=$(wildcard $(addsuffix .d, ${OBJECTFILES}))
+ifneq (${DEPFILES},)
+include ${DEPFILES}
+endif
=== added file 'wntrlingua-en/EnglishParser.cpp'
--- wntrlingua-en/EnglishParser.cpp 1970-01-01 00:00:00 +0000
+++ wntrlingua-en/EnglishParser.cpp 2011-03-27 15:48:31 +0000
@@ -0,0 +1,116 @@
+/*
+ * Author: $NAME <$EMAIL>
+ *
+ * Copyright 2011 $NAME
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ */
+
+#include <wntrlingua.hpp>
+#include <parser.hpp>
+#include <iostream>
+#include "EnglishParser.hpp"
+
+using namespace std;
+using namespace Wintermute::Linguistics;
+
+using std::cout;
+using std::endl;
+using Wintermute::Linguistics::Configuration;
+using Wintermute::Linguistics::Parser;
+using Wintermute::Linguistics::EnglishParser;
+using Wintermute::Linguistics::Phrase;
+using Wintermute::Linguistics::NounPhrase;
+using Wintermute::Linguistics::VerbPhrase;
+
+const string EnglishParser::getLocale() const {
+ return "en";
+}
+
+EnglishParser::EnglishParser() : Parser() {
+ _na = new NodeVector;
+ this->loadList("en");
+ this->signalHandler('A')->connect(sigc::mem_fun(*this, &EnglishParser::catchPronoun));
+ this->signalHandler('B')->connect(sigc::mem_fun(*this, &EnglishParser::catchNoun));
+}
+
+/**
+ * @description Generates a link between two nodes and modifiers inbetween.
+ * @param word The source node.
+ * @param list The nodelist to iterate over
+ * @return a SyntacticLink* or NULL.
+ */
+SyntacticLink* _captureLink(NodeVector::iterator &word, SyntacticList &list) {
+ SyntacticNode* firstWord = reinterpret_cast<SyntacticNode*> (*word);
+ NodeVector modifiers;
+
+ SyntacticNode* aWord = reinterpret_cast<SyntacticNode*> (*(word));
+ while (aWord->getType() != 'B') {
+ modifiers.push_back(aWord);
+
+ if (aWord + 1 == NULL) return NULL;
+ aWord++;
+ }
+
+ SyntacticLink* theDeterminerLink = new SyntacticLink(firstWord, aWord, string("A"), &modifiers);
+ return theDeterminerLink;
+}
+
+SyntacticLink* EnglishParser::catchPronoun(NodeVector::iterator &word, SyntacticList &list) {
+ SyntacticNode* firstWord = reinterpret_cast<SyntacticNode*> (*word);
+ if (firstWord->hasFlag('e')) {
+ // Parsing a personal pronoun.
+
+ // Has _any_ noun been defined?
+ bool isThereANounDefined = this->attr->has("noun",firstWord->getFlags());
+ if (isThereANounDefined)
+ cout << "Valid pronoun." << endl;
+ else
+ cout << "NO WaY!" << endl;
+ } else if (firstWord->hasFlag('r')) {
+ /* Parsing a relative pronoun
+ *
+ * Connect an adjective phrase [a link with each word as a modifiers and the adjective as the source & destination] to a pronoun/noun
+ * TIP: Parse the phrase as a separate sentence and link the underlying meaning of the phrase as a modifier to this phrase.
+ */
+ const bool hasBeenSet = false;
+ //= this->attr->has();
+
+ cout << hasBeenSet << endl;
+ } else if (firstWord->hasFlag('i')) {
+ // Parsing an indefinte pronoun
+ // Just set as subject, if not object.
+ } else if (firstWord->hasFlag('g')) {
+ // Parsing an interrogative pronoun
+ // Set the interrogative for the sentence.
+ } else if (firstWord->hasFlag('d')) {
+ // Parsing an demonstrative pronoun
+ /* Different cases:
+ * - Link to noun/pronoun
+ */
+ }
+
+ return NULL;
+}
+
+SyntacticLink* EnglishParser::catchNoun(NodeVector::iterator &word, SyntacticList &list) {
+ return NULL;
+}
+
+SyntacticLink* EnglishParser::catchAdverb(NodeVector::iterator &word, SyntacticList &list) {
+ return NULL;
+}
\ No newline at end of file
=== added file 'wntrlingua-en/EnglishParser.hpp'
--- wntrlingua-en/EnglishParser.hpp 1970-01-01 00:00:00 +0000
+++ wntrlingua-en/EnglishParser.hpp 2011-03-27 15:48:31 +0000
@@ -0,0 +1,81 @@
+/*
+ * Author: Jacky Alcine <jackyalcine@xxxxxxxxx>
+ *
+ * Copyright 2011 Jacky Alcine
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ */
+
+#ifndef ENGLISHPARSER_HPP
+#define ENGLISHPARSER_HPP
+
+#include <wntrlingua.hpp>
+#include <parser.hpp>
+#include <vector>
+
+namespace Wintermute {
+ namespace Linguistics {
+ class Phrase;
+ class NounPhrase;
+ class VerbPhrase;
+
+ /**
+ * @description Phrases represent a collection of nodes that, together have one unique meaning.
+ * Examples of these nodes would 'the blue dog', 'super kick', 'heavy shove', 'house cat', or 'amazing liftoff'.
+ */
+ class Phrase : private SyntacticNode {
+ protected:
+ NodeVector _nods;
+ public:
+ Phrase();
+ Phrase(const NodeVector&);
+ Phrase(const NodeVector&, const int);
+ Phrase(const NodeVector&, const SyntacticNode*);
+ virtual const SyntacticNode* getBaseNode() const;
+ virtual const NodeVector getAdditionalNodes() const;
+ };
+
+ class VerbPhrase : public Phrase {
+ public:
+ VerbPhrase();
+ VerbPhrase(const NodeVector&);
+ };
+
+ class NounPhrase : public Phrase {
+ private:
+ NodeVector _nods;
+ public:
+ NounPhrase();
+ NounPhrase(const NodeVector& );
+ };
+
+ class EnglishParser : public Parser {
+ public:
+ EnglishParser();
+ virtual const string getLocale() const;
+ private:
+ NodeVector* _na;
+ SyntacticLink* catchNoun(NodeVector::iterator &, SyntacticList &);
+ SyntacticLink* catchPronoun(NodeVector::iterator &, SyntacticList &);
+ SyntacticLink* catchAdverb(NodeVector::iterator &, SyntacticList &);
+ SyntacticLink* catchAdjective(NodeVector::iterator &, SyntacticList &);
+ };
+ }
+}
+
+#endif /* ENGLISHPARSER_HPP */
+
=== added file 'wntrlingua-en/Makefile'
--- wntrlingua-en/Makefile 1970-01-01 00:00:00 +0000
+++ wntrlingua-en/Makefile 2011-03-27 15:48:31 +0000
@@ -0,0 +1,128 @@
+#
+# There exist several targets which are by default empty and which can be
+# used for execution of your targets. These targets are usually executed
+# before and after some main targets. They are:
+#
+# .build-pre: called before 'build' target
+# .build-post: called after 'build' target
+# .clean-pre: called before 'clean' target
+# .clean-post: called after 'clean' target
+# .clobber-pre: called before 'clobber' target
+# .clobber-post: called after 'clobber' target
+# .all-pre: called before 'all' target
+# .all-post: called after 'all' target
+# .help-pre: called before 'help' target
+# .help-post: called after 'help' target
+#
+# Targets beginning with '.' are not intended to be called on their own.
+#
+# Main targets can be executed directly, and they are:
+#
+# build build a specific configuration
+# clean remove built files from a configuration
+# clobber remove all built files
+# all build all configurations
+# help print help mesage
+#
+# Targets .build-impl, .clean-impl, .clobber-impl, .all-impl, and
+# .help-impl are implemented in nbproject/makefile-impl.mk.
+#
+# Available make variables:
+#
+# CND_BASEDIR base directory for relative paths
+# CND_DISTDIR default top distribution directory (build artifacts)
+# CND_BUILDDIR default top build directory (object files, ...)
+# CONF name of current configuration
+# CND_PLATFORM_${CONF} platform name (current configuration)
+# CND_ARTIFACT_DIR_${CONF} directory of build artifact (current configuration)
+# CND_ARTIFACT_NAME_${CONF} name of build artifact (current configuration)
+# CND_ARTIFACT_PATH_${CONF} path to build artifact (current configuration)
+# CND_PACKAGE_DIR_${CONF} directory of package (current configuration)
+# CND_PACKAGE_NAME_${CONF} name of package (current configuration)
+# CND_PACKAGE_PATH_${CONF} path to package (current configuration)
+#
+# NOCDDL
+
+
+# Environment
+MKDIR=mkdir
+CP=cp
+CCADMIN=CCadmin
+
+
+# build
+build: .build-post
+
+.build-pre:
+# Add your pre 'build' code here...
+
+.build-post: .build-impl
+# Add your post 'build' code here...
+
+
+# clean
+clean: .clean-post
+
+.clean-pre:
+# Add your pre 'clean' code here...
+
+.clean-post: .clean-impl
+# Add your post 'clean' code here...
+
+
+# clobber
+clobber: .clobber-post
+
+.clobber-pre:
+# Add your pre 'clobber' code here...
+
+.clobber-post: .clobber-impl
+# Add your post 'clobber' code here...
+
+
+# all
+all: .all-post
+
+.all-pre:
+# Add your pre 'all' code here...
+
+.all-post: .all-impl
+# Add your post 'all' code here...
+
+
+# build tests
+build-tests: .build-tests-post
+
+.build-tests-pre:
+# Add your pre 'build-tests' code here...
+
+.build-tests-post: .build-tests-impl
+# Add your post 'build-tests' code here...
+
+
+# run tests
+test: .test-post
+
+.test-pre:
+# Add your pre 'test' code here...
+
+.test-post: .test-impl
+# Add your post 'test' code here...
+
+
+# help
+help: .help-post
+
+.help-pre:
+# Add your pre 'help' code here...
+
+.help-post: .help-impl
+# Add your post 'help' code here...
+
+
+
+# include project implementation makefile
+include nbproject/Makefile-impl.mk
+
+# include project make variables
+include nbproject/Makefile-variables.mk
=== added directory 'wntrlingua-en/build'
=== added directory 'wntrlingua-en/build/Debug'
=== added directory 'wntrlingua-en/build/Debug/GNU-Linux-x86'
=== added file 'wntrlingua-en/build/Debug/GNU-Linux-x86/EnglishParser.o.d'
--- wntrlingua-en/build/Debug/GNU-Linux-x86/EnglishParser.o.d 1970-01-01 00:00:00 +0000
+++ wntrlingua-en/build/Debug/GNU-Linux-x86/EnglishParser.o.d 2011-03-27 15:48:31 +0000
@@ -0,0 +1,112 @@
+build/Debug/GNU-Linux-x86/EnglishParser.o: EnglishParser.cpp \
+ ../wntrlingua-core/wntrlingua.hpp ../wntrlingua-core/config.hpp \
+ ../wntrlingua-core/md5.hpp ../wntrlingua-core/parser.hpp \
+ /usr/include/sigc++-2.0/sigc++/sigc++.h \
+ /usr/include/sigc++-2.0/sigc++/signal.h \
+ /usr/include/sigc++-2.0/sigc++/signal_base.h \
+ /usr/lib/sigc++-2.0/include/sigc++config.h \
+ /usr/include/sigc++-2.0/sigc++/type_traits.h \
+ /usr/include/sigc++-2.0/sigc++/trackable.h \
+ /usr/include/sigc++-2.0/sigc++/functors/slot.h \
+ /usr/include/sigc++-2.0/sigc++/visit_each.h \
+ /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h \
+ /usr/include/sigc++-2.0/sigc++/functors/functor_trait.h \
+ /usr/include/sigc++-2.0/sigc++/functors/ptr_fun.h \
+ /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h \
+ /usr/include/sigc++-2.0/sigc++/limit_reference.h \
+ /usr/include/sigc++-2.0/sigc++/adaptors/deduce_result_type.h \
+ /usr/include/sigc++-2.0/sigc++/functors/slot_base.h \
+ /usr/include/sigc++-2.0/sigc++/connection.h \
+ /usr/include/sigc++-2.0/sigc++/adaptors/adaptors.h \
+ /usr/include/sigc++-2.0/sigc++/adaptors/bind.h \
+ /usr/include/sigc++-2.0/sigc++/adaptors/bound_argument.h \
+ /usr/include/sigc++-2.0/sigc++/reference_wrapper.h \
+ /usr/include/sigc++-2.0/sigc++/adaptors/bind_return.h \
+ /usr/include/sigc++-2.0/sigc++/adaptors/hide.h \
+ /usr/include/sigc++-2.0/sigc++/adaptors/retype_return.h \
+ /usr/include/sigc++-2.0/sigc++/adaptors/retype.h \
+ /usr/include/sigc++-2.0/sigc++/adaptors/compose.h \
+ /usr/include/sigc++-2.0/sigc++/adaptors/exception_catch.h \
+ /usr/include/sigc++-2.0/sigc++/adaptors/lambda/lambda.h \
+ /usr/include/sigc++-2.0/sigc++/adaptors/lambda/base.h \
+ /usr/include/sigc++-2.0/sigc++/adaptors/lambda/select.h \
+ /usr/include/sigc++-2.0/sigc++/adaptors/lambda/operator.h \
+ /usr/include/sigc++-2.0/sigc++/adaptors/lambda/group.h \
+ /usr/include/sigc++-2.0/sigc++/functors/functors.h \
+ ../wntrlingua-core/wntrlingua.hpp EnglishParser.hpp
+
+../wntrlingua-core/wntrlingua.hpp:
+
+../wntrlingua-core/config.hpp:
+
+../wntrlingua-core/md5.hpp:
+
+../wntrlingua-core/parser.hpp:
+
+/usr/include/sigc++-2.0/sigc++/sigc++.h:
+
+/usr/include/sigc++-2.0/sigc++/signal.h:
+
+/usr/include/sigc++-2.0/sigc++/signal_base.h:
+
+/usr/lib/sigc++-2.0/include/sigc++config.h:
+
+/usr/include/sigc++-2.0/sigc++/type_traits.h:
+
+/usr/include/sigc++-2.0/sigc++/trackable.h:
+
+/usr/include/sigc++-2.0/sigc++/functors/slot.h:
+
+/usr/include/sigc++-2.0/sigc++/visit_each.h:
+
+/usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:
+
+/usr/include/sigc++-2.0/sigc++/functors/functor_trait.h:
+
+/usr/include/sigc++-2.0/sigc++/functors/ptr_fun.h:
+
+/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:
+
+/usr/include/sigc++-2.0/sigc++/limit_reference.h:
+
+/usr/include/sigc++-2.0/sigc++/adaptors/deduce_result_type.h:
+
+/usr/include/sigc++-2.0/sigc++/functors/slot_base.h:
+
+/usr/include/sigc++-2.0/sigc++/connection.h:
+
+/usr/include/sigc++-2.0/sigc++/adaptors/adaptors.h:
+
+/usr/include/sigc++-2.0/sigc++/adaptors/bind.h:
+
+/usr/include/sigc++-2.0/sigc++/adaptors/bound_argument.h:
+
+/usr/include/sigc++-2.0/sigc++/reference_wrapper.h:
+
+/usr/include/sigc++-2.0/sigc++/adaptors/bind_return.h:
+
+/usr/include/sigc++-2.0/sigc++/adaptors/hide.h:
+
+/usr/include/sigc++-2.0/sigc++/adaptors/retype_return.h:
+
+/usr/include/sigc++-2.0/sigc++/adaptors/retype.h:
+
+/usr/include/sigc++-2.0/sigc++/adaptors/compose.h:
+
+/usr/include/sigc++-2.0/sigc++/adaptors/exception_catch.h:
+
+/usr/include/sigc++-2.0/sigc++/adaptors/lambda/lambda.h:
+
+/usr/include/sigc++-2.0/sigc++/adaptors/lambda/base.h:
+
+/usr/include/sigc++-2.0/sigc++/adaptors/lambda/select.h:
+
+/usr/include/sigc++-2.0/sigc++/adaptors/lambda/operator.h:
+
+/usr/include/sigc++-2.0/sigc++/adaptors/lambda/group.h:
+
+/usr/include/sigc++-2.0/sigc++/functors/functors.h:
+
+../wntrlingua-core/wntrlingua.hpp:
+
+EnglishParser.hpp:
=== added directory 'wntrlingua-en/dist'
=== added directory 'wntrlingua-en/dist/Debug'
=== added directory 'wntrlingua-en/dist/Debug/GNU-Linux-x86'
=== added directory 'wntrlingua-en/nbproject'
=== added file 'wntrlingua-en/nbproject/Makefile-Debug.mk'
--- wntrlingua-en/nbproject/Makefile-Debug.mk 1970-01-01 00:00:00 +0000
+++ wntrlingua-en/nbproject/Makefile-Debug.mk 2011-03-27 15:48:31 +0000
@@ -0,0 +1,88 @@
+#
+# Generated Makefile - do not edit!
+#
+# Edit the Makefile in the project folder instead (../Makefile). Each target
+# has a -pre and a -post target defined where you can add customized code.
+#
+# This makefile implements configuration specific macros and targets.
+
+
+# Environment
+MKDIR=mkdir
+CP=cp
+GREP=grep
+NM=nm
+CCADMIN=CCadmin
+RANLIB=ranlib
+CC=gcc
+CCC=g++
+CXX=g++
+FC=
+AS=as
+
+# Macros
+CND_PLATFORM=GNU-Linux-x86
+CND_CONF=Debug
+CND_DISTDIR=dist
+
+# Include project Makefile
+include Makefile
+
+# Object Directory
+OBJECTDIR=build/${CND_CONF}/${CND_PLATFORM}
+
+# Object Files
+OBJECTFILES= \
+ ${OBJECTDIR}/EnglishParser.o
+
+
+# C Compiler Flags
+CFLAGS=
+
+# CC Compiler Flags
+CCFLAGS=`pkg-config --cflags --libs sigc++-2.0`
+CXXFLAGS=`pkg-config --cflags --libs sigc++-2.0`
+
+# Fortran Compiler Flags
+FFLAGS=
+
+# Assembler Flags
+ASFLAGS=
+
+# Link Libraries and Options
+LDLIBSOPTIONS=-Wl,-rpath ../wntrlingua-core/dist/Debug/GNU-Linux-x86 -L../wntrlingua-core/dist/Debug/GNU-Linux-x86 -lwntrlingua-core
+
+# Build Targets
+.build-conf: ${BUILD_SUBPROJECTS}
+ "${MAKE}" -f nbproject/Makefile-Debug.mk dist/Debug/GNU-Linux-x86/libwntrlingua-en.so
+
+dist/Debug/GNU-Linux-x86/libwntrlingua-en.so: ../wntrlingua-core/dist/Debug/GNU-Linux-x86/libwntrlingua-core.so
+
+dist/Debug/GNU-Linux-x86/libwntrlingua-en.so: ${OBJECTFILES}
+ ${MKDIR} -p dist/Debug/GNU-Linux-x86
+ ${LINK.cc} -shared -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/libwntrlingua-en.so -fPIC ${OBJECTFILES} ${LDLIBSOPTIONS}
+
+${OBJECTDIR}/EnglishParser.o: EnglishParser.cpp
+ ${MKDIR} -p ${OBJECTDIR}
+ ${RM} $@.d
+ $(COMPILE.cc) -g -I../wntrlingua-core -fPIC -MMD -MP -MF $@.d -o ${OBJECTDIR}/EnglishParser.o EnglishParser.cpp
+
+# Subprojects
+.build-subprojects:
+ cd ../wntrlingua-core && ${MAKE} -f Makefile CONF=Debug
+ cd ../wntrlingua-core && ${MAKE} -f Makefile CONF=Debug
+
+# Clean Targets
+.clean-conf: ${CLEAN_SUBPROJECTS}
+ ${RM} -r build/Debug
+ ${RM} dist/Debug/GNU-Linux-x86/libwntrlingua-en.so
+
+# Subprojects
+.clean-subprojects:
+ cd ../wntrlingua-core && ${MAKE} -f Makefile CONF=Debug clean
+ cd ../wntrlingua-core && ${MAKE} -f Makefile CONF=Debug clean
+
+# Enable dependency checking
+.dep.inc: .depcheck-impl
+
+include .dep.inc
=== added file 'wntrlingua-en/nbproject/Makefile-Release.mk'
--- wntrlingua-en/nbproject/Makefile-Release.mk 1970-01-01 00:00:00 +0000
+++ wntrlingua-en/nbproject/Makefile-Release.mk 2011-03-27 15:48:31 +0000
@@ -0,0 +1,82 @@
+#
+# Generated Makefile - do not edit!
+#
+# Edit the Makefile in the project folder instead (../Makefile). Each target
+# has a -pre and a -post target defined where you can add customized code.
+#
+# This makefile implements configuration specific macros and targets.
+
+
+# Environment
+MKDIR=mkdir
+CP=cp
+GREP=grep
+NM=nm
+CCADMIN=CCadmin
+RANLIB=ranlib
+CC=gcc
+CCC=g++
+CXX=g++
+FC=
+AS=as
+
+# Macros
+CND_PLATFORM=GNU-Linux-x86
+CND_CONF=Release
+CND_DISTDIR=dist
+
+# Include project Makefile
+include Makefile
+
+# Object Directory
+OBJECTDIR=build/${CND_CONF}/${CND_PLATFORM}
+
+# Object Files
+OBJECTFILES= \
+ ${OBJECTDIR}/EnglishParser.o
+
+
+# C Compiler Flags
+CFLAGS=
+
+# CC Compiler Flags
+CCFLAGS=
+CXXFLAGS=
+
+# Fortran Compiler Flags
+FFLAGS=
+
+# Assembler Flags
+ASFLAGS=
+
+# Link Libraries and Options
+LDLIBSOPTIONS=
+
+# Build Targets
+.build-conf: ${BUILD_SUBPROJECTS}
+ "${MAKE}" -f nbproject/Makefile-Release.mk dist/Release/GNU-Linux-x86/libwntrlingua-en.so
+
+dist/Release/GNU-Linux-x86/libwntrlingua-en.so: ${OBJECTFILES}
+ ${MKDIR} -p dist/Release/GNU-Linux-x86
+ ${LINK.cc} -shared -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/libwntrlingua-en.so -fPIC ${OBJECTFILES} ${LDLIBSOPTIONS}
+
+${OBJECTDIR}/EnglishParser.o: EnglishParser.cpp
+ ${MKDIR} -p ${OBJECTDIR}
+ ${RM} $@.d
+ $(COMPILE.cc) -O2 -fPIC -MMD -MP -MF $@.d -o ${OBJECTDIR}/EnglishParser.o EnglishParser.cpp
+
+# Subprojects
+.build-subprojects:
+
+# Clean Targets
+.clean-conf: ${CLEAN_SUBPROJECTS}
+ ${RM} -r build/Release
+ ${RM} dist/Release/GNU-Linux-x86/libwntrlingua-en.so
+
+# Subprojects
+.clean-subprojects:
+
+# Enable dependency checking
+.dep.inc: .depcheck-impl
+
+include .dep.inc
=== added file 'wntrlingua-en/nbproject/Makefile-impl.mk'
--- wntrlingua-en/nbproject/Makefile-impl.mk 1970-01-01 00:00:00 +0000
+++ wntrlingua-en/nbproject/Makefile-impl.mk 2011-03-27 15:48:31 +0000
@@ -0,0 +1,133 @@
+#
+# Generated Makefile - do not edit!
+#
+# Edit the Makefile in the project folder instead (../Makefile). Each target
+# has a pre- and a post- target defined where you can add customization code.
+#
+# This makefile implements macros and targets common to all configurations.
+#
+# NOCDDL
+
+
+# Building and Cleaning subprojects are done by default, but can be controlled with the SUB
+# macro. If SUB=no, subprojects will not be built or cleaned. The following macro
+# statements set BUILD_SUB-CONF and CLEAN_SUB-CONF to .build-reqprojects-conf
+# and .clean-reqprojects-conf unless SUB has the value 'no'
+SUB_no=NO
+SUBPROJECTS=${SUB_${SUB}}
+BUILD_SUBPROJECTS_=.build-subprojects
+BUILD_SUBPROJECTS_NO=
+BUILD_SUBPROJECTS=${BUILD_SUBPROJECTS_${SUBPROJECTS}}
+CLEAN_SUBPROJECTS_=.clean-subprojects
+CLEAN_SUBPROJECTS_NO=
+CLEAN_SUBPROJECTS=${CLEAN_SUBPROJECTS_${SUBPROJECTS}}
+
+
+# Project Name
+PROJECTNAME=wntrlingua-en
+
+# Active Configuration
+DEFAULTCONF=Debug
+CONF=${DEFAULTCONF}
+
+# All Configurations
+ALLCONFS=Debug Release
+
+
+# build
+.build-impl: .build-pre .validate-impl .depcheck-impl
+ @#echo "=> Running $@... Configuration=$(CONF)"
+ "${MAKE}" -f nbproject/Makefile-${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .build-conf
+
+
+# clean
+.clean-impl: .clean-pre .validate-impl .depcheck-impl
+ @#echo "=> Running $@... Configuration=$(CONF)"
+ "${MAKE}" -f nbproject/Makefile-${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .clean-conf
+
+
+# clobber
+.clobber-impl: .clobber-pre .depcheck-impl
+ @#echo "=> Running $@..."
+ for CONF in ${ALLCONFS}; \
+ do \
+ "${MAKE}" -f nbproject/Makefile-$${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .clean-conf; \
+ done
+
+# all
+.all-impl: .all-pre .depcheck-impl
+ @#echo "=> Running $@..."
+ for CONF in ${ALLCONFS}; \
+ do \
+ "${MAKE}" -f nbproject/Makefile-$${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .build-conf; \
+ done
+
+# build tests
+.build-tests-impl: .build-impl .build-tests-pre
+ @#echo "=> Running $@... Configuration=$(CONF)"
+ "${MAKE}" -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .build-tests-conf
+
+# run tests
+.test-impl: .build-tests-impl .test-pre
+ @#echo "=> Running $@... Configuration=$(CONF)"
+ "${MAKE}" -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .test-conf
+
+# dependency checking support
+.depcheck-impl:
+ @echo "# This code depends on make tool being used" >.dep.inc
+ @if [ -n "${MAKE_VERSION}" ]; then \
+ echo "DEPFILES=\$$(wildcard \$$(addsuffix .d, \$${OBJECTFILES}))" >>.dep.inc; \
+ echo "ifneq (\$${DEPFILES},)" >>.dep.inc; \
+ echo "include \$${DEPFILES}" >>.dep.inc; \
+ echo "endif" >>.dep.inc; \
+ else \
+ echo ".KEEP_STATE:" >>.dep.inc; \
+ echo ".KEEP_STATE_FILE:.make.state.\$${CONF}" >>.dep.inc; \
+ fi
+
+# configuration validation
+.validate-impl:
+ @if [ ! -f nbproject/Makefile-${CONF}.mk ]; \
+ then \
+ echo ""; \
+ echo "Error: can not find the makefile for configuration '${CONF}' in project ${PROJECTNAME}"; \
+ echo "See 'make help' for details."; \
+ echo "Current directory: " `pwd`; \
+ echo ""; \
+ fi
+ @if [ ! -f nbproject/Makefile-${CONF}.mk ]; \
+ then \
+ exit 1; \
+ fi
+
+
+# help
+.help-impl: .help-pre
+ @echo "This makefile supports the following configurations:"
+ @echo " ${ALLCONFS}"
+ @echo ""
+ @echo "and the following targets:"
+ @echo " build (default target)"
+ @echo " clean"
+ @echo " clobber"
+ @echo " all"
+ @echo " help"
+ @echo ""
+ @echo "Makefile Usage:"
+ @echo " make [CONF=<CONFIGURATION>] [SUB=no] build"
+ @echo " make [CONF=<CONFIGURATION>] [SUB=no] clean"
+ @echo " make [SUB=no] clobber"
+ @echo " make [SUB=no] all"
+ @echo " make help"
+ @echo ""
+ @echo "Target 'build' will build a specific configuration and, unless 'SUB=no',"
+ @echo " also build subprojects."
+ @echo "Target 'clean' will clean a specific configuration and, unless 'SUB=no',"
+ @echo " also clean subprojects."
+ @echo "Target 'clobber' will remove all built files from all configurations and,"
+ @echo " unless 'SUB=no', also from subprojects."
+ @echo "Target 'all' will will build all configurations and, unless 'SUB=no',"
+ @echo " also build subprojects."
+ @echo "Target 'help' prints this message."
+ @echo ""
+
=== added file 'wntrlingua-en/nbproject/Makefile-variables.mk'
--- wntrlingua-en/nbproject/Makefile-variables.mk 1970-01-01 00:00:00 +0000
+++ wntrlingua-en/nbproject/Makefile-variables.mk 2011-03-27 15:48:31 +0000
@@ -0,0 +1,24 @@
+#
+# Generated - do not edit!
+#
+# NOCDDL
+#
+CND_BASEDIR=`pwd`
+CND_BUILDDIR=build
+CND_DISTDIR=dist
+# Debug configuration
+CND_PLATFORM_Debug=GNU-Linux-x86
+CND_ARTIFACT_DIR_Debug=dist/Debug/GNU-Linux-x86
+CND_ARTIFACT_NAME_Debug=libwntrlingua-en.so
+CND_ARTIFACT_PATH_Debug=dist/Debug/GNU-Linux-x86/libwntrlingua-en.so
+CND_PACKAGE_DIR_Debug=dist/Debug/GNU-Linux-x86/package
+CND_PACKAGE_NAME_Debug=libwntrlingua-en.so.tar
+CND_PACKAGE_PATH_Debug=dist/Debug/GNU-Linux-x86/package/libwntrlingua-en.so.tar
+# Release configuration
+CND_PLATFORM_Release=GNU-Linux-x86
+CND_ARTIFACT_DIR_Release=dist/Release/GNU-Linux-x86
+CND_ARTIFACT_NAME_Release=libwntrlingua-en.so
+CND_ARTIFACT_PATH_Release=dist/Release/GNU-Linux-x86/libwntrlingua-en.so
+CND_PACKAGE_DIR_Release=dist/Release/GNU-Linux-x86/package
+CND_PACKAGE_NAME_Release=libwntrlingua-en.so.tar
+CND_PACKAGE_PATH_Release=dist/Release/GNU-Linux-x86/package/libwntrlingua-en.so.tar
=== added file 'wntrlingua-en/nbproject/Package-Debug.bash'
--- wntrlingua-en/nbproject/Package-Debug.bash 1970-01-01 00:00:00 +0000
+++ wntrlingua-en/nbproject/Package-Debug.bash 2011-03-27 15:48:31 +0000
@@ -0,0 +1,74 @@
+#!/bin/bash -x
+
+#
+# Generated - do not edit!
+#
+
+# Macros
+TOP=`pwd`
+CND_PLATFORM=GNU-Linux-x86
+CND_CONF=Debug
+CND_DISTDIR=dist
+NBTMPDIR=build/${CND_CONF}/${CND_PLATFORM}/tmp-packaging
+TMPDIRNAME=tmp-packaging
+OUTPUT_PATH=${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/libwntrlingua-en.so
+OUTPUT_BASENAME=libwntrlingua-en.so
+PACKAGE_TOP_DIR=libwntrlingua-en.so/
+
+# Functions
+function checkReturnCode
+{
+ rc=$?
+ if [ $rc != 0 ]
+ then
+ exit $rc
+ fi
+}
+function makeDirectory
+# $1 directory path
+# $2 permission (optional)
+{
+ mkdir -p "$1"
+ checkReturnCode
+ if [ "$2" != "" ]
+ then
+ chmod $2 "$1"
+ checkReturnCode
+ fi
+}
+function copyFileToTmpDir
+# $1 from-file path
+# $2 to-file path
+# $3 permission
+{
+ cp "$1" "$2"
+ checkReturnCode
+ if [ "$3" != "" ]
+ then
+ chmod $3 "$2"
+ checkReturnCode
+ fi
+}
+
+# Setup
+cd "${TOP}"
+mkdir -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package
+rm -rf ${NBTMPDIR}
+mkdir -p ${NBTMPDIR}
+
+# Copy files and create directories and links
+cd "${TOP}"
+makeDirectory "${NBTMPDIR}/libwntrlingua-en.so/lib"
+copyFileToTmpDir "${OUTPUT_PATH}" "${NBTMPDIR}/${PACKAGE_TOP_DIR}lib/${OUTPUT_BASENAME}" 0644
+
+
+# Generate tar file
+cd "${TOP}"
+rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/libwntrlingua-en.so.tar
+cd ${NBTMPDIR}
+tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/libwntrlingua-en.so.tar *
+checkReturnCode
+
+# Cleanup
+cd "${TOP}"
+rm -rf ${NBTMPDIR}
=== added file 'wntrlingua-en/nbproject/Package-Release.bash'
--- wntrlingua-en/nbproject/Package-Release.bash 1970-01-01 00:00:00 +0000
+++ wntrlingua-en/nbproject/Package-Release.bash 2011-03-27 15:48:31 +0000
@@ -0,0 +1,74 @@
+#!/bin/bash -x
+
+#
+# Generated - do not edit!
+#
+
+# Macros
+TOP=`pwd`
+CND_PLATFORM=GNU-Linux-x86
+CND_CONF=Release
+CND_DISTDIR=dist
+NBTMPDIR=build/${CND_CONF}/${CND_PLATFORM}/tmp-packaging
+TMPDIRNAME=tmp-packaging
+OUTPUT_PATH=${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/libwntrlingua-en.so
+OUTPUT_BASENAME=libwntrlingua-en.so
+PACKAGE_TOP_DIR=libwntrlingua-en.so/
+
+# Functions
+function checkReturnCode
+{
+ rc=$?
+ if [ $rc != 0 ]
+ then
+ exit $rc
+ fi
+}
+function makeDirectory
+# $1 directory path
+# $2 permission (optional)
+{
+ mkdir -p "$1"
+ checkReturnCode
+ if [ "$2" != "" ]
+ then
+ chmod $2 "$1"
+ checkReturnCode
+ fi
+}
+function copyFileToTmpDir
+# $1 from-file path
+# $2 to-file path
+# $3 permission
+{
+ cp "$1" "$2"
+ checkReturnCode
+ if [ "$3" != "" ]
+ then
+ chmod $3 "$2"
+ checkReturnCode
+ fi
+}
+
+# Setup
+cd "${TOP}"
+mkdir -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package
+rm -rf ${NBTMPDIR}
+mkdir -p ${NBTMPDIR}
+
+# Copy files and create directories and links
+cd "${TOP}"
+makeDirectory "${NBTMPDIR}/libwntrlingua-en.so/lib"
+copyFileToTmpDir "${OUTPUT_PATH}" "${NBTMPDIR}/${PACKAGE_TOP_DIR}lib/${OUTPUT_BASENAME}" 0644
+
+
+# Generate tar file
+cd "${TOP}"
+rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/libwntrlingua-en.so.tar
+cd ${NBTMPDIR}
+tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/libwntrlingua-en.so.tar *
+checkReturnCode
+
+# Cleanup
+cd "${TOP}"
+rm -rf ${NBTMPDIR}
=== added file 'wntrlingua-en/nbproject/configurations.xml'
--- wntrlingua-en/nbproject/configurations.xml 1970-01-01 00:00:00 +0000
+++ wntrlingua-en/nbproject/configurations.xml 2011-03-27 15:48:31 +0000
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configurationDescriptor version="69">
+ <logicalFolder name="root" displayName="root" projectFiles="true">
+ <logicalFolder name="HeaderFiles"
+ displayName="Header Files"
+ projectFiles="true"
+ kind="SOURCE_LOGICAL_FOLDER">
+ <itemPath>EnglishParser.hpp</itemPath>
+ </logicalFolder>
+ <logicalFolder name="ResourceFiles"
+ displayName="Resource Files"
+ projectFiles="true"
+ kind="SOURCE_LOGICAL_FOLDER">
+ </logicalFolder>
+ <logicalFolder name="SourceFiles"
+ displayName="Source Files"
+ projectFiles="true"
+ kind="SOURCE_LOGICAL_FOLDER">
+ <itemPath>EnglishParser.cpp</itemPath>
+ </logicalFolder>
+ <logicalFolder name="TestFiles"
+ displayName="Test Files"
+ projectFiles="false"
+ kind="TEST_LOGICAL_FOLDER">
+ </logicalFolder>
+ <logicalFolder name="ExternalFiles"
+ displayName="Important Files"
+ projectFiles="false"
+ kind="IMPORTANT_FILES_FOLDER">
+ <itemPath>Makefile</itemPath>
+ </logicalFolder>
+ </logicalFolder>
+ <projectmakefile>Makefile</projectmakefile>
+ <confs>
+ <conf name="Debug" type="2">
+ <toolsSet>
+ <developmentServer>localhost</developmentServer>
+ <compilerSet>GNU|GNU</compilerSet>
+ <platform>2</platform>
+ </toolsSet>
+ <compileType>
+ <ccTool>
+ <incDir>
+ <pElem>../wntrlingua-core</pElem>
+ </incDir>
+ <commandLine>`pkg-config --cflags --libs sigc++-2.0`</commandLine>
+ </ccTool>
+ <linkerTool>
+ <linkerLibItems>
+ <linkerLibProjectItem>
+ <makeArtifact PL="../wntrlingua-core"
+ CT="2"
+ CN="Debug"
+ AC="true"
+ BL="true"
+ WD="../wntrlingua-core"
+ BC="${MAKE} -f Makefile CONF=Debug"
+ CC="${MAKE} -f Makefile CONF=Debug clean"
+ OP="dist/Debug/GNU-Linux-x86/libwntrlingua-core.so">
+ </makeArtifact>
+ </linkerLibProjectItem>
+ </linkerLibItems>
+ </linkerTool>
+ <requiredProjects>
+ <makeArtifact PL="../wntrlingua-core"
+ CT="2"
+ CN="Debug"
+ AC="true"
+ BL="true"
+ WD="../wntrlingua-core"
+ BC="${MAKE} -f Makefile CONF=Debug"
+ CC="${MAKE} -f Makefile CONF=Debug clean"
+ OP="dist/Debug/GNU-Linux-x86/libwntrlingua-core.so">
+ </makeArtifact>
+ </requiredProjects>
+ </compileType>
+ </conf>
+ <conf name="Release" type="2">
+ <toolsSet>
+ <developmentServer>localhost</developmentServer>
+ <compilerSet>GNU|GNU</compilerSet>
+ <platform>2</platform>
+ </toolsSet>
+ <compileType>
+ <cTool>
+ <developmentMode>5</developmentMode>
+ </cTool>
+ <ccTool>
+ <developmentMode>5</developmentMode>
+ </ccTool>
+ <fortranCompilerTool>
+ <developmentMode>5</developmentMode>
+ </fortranCompilerTool>
+ <asmTool>
+ <developmentMode>5</developmentMode>
+ </asmTool>
+ </compileType>
+ </conf>
+ </confs>
+</configurationDescriptor>
=== added directory 'wntrlingua-en/nbproject/private'
=== added file 'wntrlingua-en/nbproject/private/configurations.xml'
--- wntrlingua-en/nbproject/private/configurations.xml 1970-01-01 00:00:00 +0000
+++ wntrlingua-en/nbproject/private/configurations.xml 2011-03-27 15:48:31 +0000
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configurationDescriptor version="69">
+ <projectmakefile>Makefile</projectmakefile>
+ <defaultConf>0</defaultConf>
+ <confs>
+ <conf name="Debug" type="2">
+ <gizmo_options version="3">
+ <configurationname>GizmoSimple</configurationname>
+ </gizmo_options>
+ <runprofile version="6">
+ <args></args>
+ <rundir></rundir>
+ <buildfirst>true</buildfirst>
+ <console-type>0</console-type>
+ <terminal-type>0</terminal-type>
+ <remove-instrumentation>0</remove-instrumentation>
+ <environment>
+ </environment>
+ </runprofile>
+ </conf>
+ <conf name="Release" type="2">
+ <gizmo_options version="3">
+ <configurationname>GizmoSimple</configurationname>
+ </gizmo_options>
+ <runprofile version="6">
+ <args></args>
+ <rundir></rundir>
+ <buildfirst>true</buildfirst>
+ <console-type>0</console-type>
+ <terminal-type>0</terminal-type>
+ <remove-instrumentation>0</remove-instrumentation>
+ <environment>
+ </environment>
+ </runprofile>
+ </conf>
+ </confs>
+</configurationDescriptor>
=== added file 'wntrlingua-en/nbproject/private/private.properties'
=== added file 'wntrlingua-en/nbproject/private/private.xml'
--- wntrlingua-en/nbproject/private/private.xml 1970-01-01 00:00:00 +0000
+++ wntrlingua-en/nbproject/private/private.xml 2011-03-27 15:48:31 +0000
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project-private xmlns="http://www.netbeans.org/ns/project-private/1">
+ <editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/1"/>
+</project-private>
=== added file 'wntrlingua-en/nbproject/project.properties'
=== added file 'wntrlingua-en/nbproject/project.xml'
--- wntrlingua-en/nbproject/project.xml 1970-01-01 00:00:00 +0000
+++ wntrlingua-en/nbproject/project.xml 2011-03-27 15:48:31 +0000
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://www.netbeans.org/ns/project/1">
+ <type>org.netbeans.modules.cnd.makeproject</type>
+ <configuration>
+ <data xmlns="http://www.netbeans.org/ns/make-project/1">
+ <name>wntrlingua-en</name>
+ <make-project-type>0</make-project-type>
+ <c-extensions/>
+ <cpp-extensions>cpp</cpp-extensions>
+ <header-extensions>hpp</header-extensions>
+ <sourceEncoding>UTF-8</sourceEncoding>
+ <make-dep-projects>
+ <make-dep-project>../wntrlingua-core</make-dep-project>
+ </make-dep-projects>
+ <sourceRootList/>
+ <confList>
+ <confElem>Debug</confElem>
+ <confElem>Release</confElem>
+ </confList>
+ </data>
+ </configuration>
+</project>
Follow ups