← Back to team overview

wintermute-devel team mailing list archive

[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