Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.

Thinknowlogy (Thinking - Knowledge - Technology)

How to start:

• Unpack the compressed file in a folder of your choice; • The application comes in two interface types: Java GUI and textual console interface (C++); • The source code of both versions (Java as well as C++) is included; • Both applications have the same functionality, but the Java GUI comes with handy demo buttons; • The example files can be found in the "data/examples" subfolder.


• This is a Java application. It can be started by double-clicking on the file; • The GUI (Graphical User Interface) has handy demo buttons to guide you; • This software uses Java. In order to install or upgrade the Java Runtime Environment, go to and follow the instructions; • See the included screenshots for extra guidance about the implemented grammar.

For experts only - please use the Java version.exe:

• First of all, the C++ version is just a bonus. It has a textual console interface. So, you'll have to type the sentences by yourself. See the included screenshots for guidance about the implemented grammar; • I have only used standard string functions in C++ instead of wide-character string functions. As a consequence, the Chinese language is not supported by this C++ executable. Under Windows, the C++ executable fails to read some Spanish and French files, because of special characters the file name. While a Linux Native C++ executable has no problems to read Spanish and French files; • But an native Linux C++ executable has problems to read Spanish and French files containing characters '¿' and 'É'. And character '¿' is only included for the MSDN compiler. See source code. In the regression test files, I have put "#Java#" in front of each test file line, in order to skip the test files containing these characters. In this way, my native Linux C++ executable runs four languages under Linux, except for the out-commented test files in Spanish and French.

How to create a Linux Native C++ executable:

In subfolder "source", you will find a text file that describes how a Linux Native C++ executable can be compiled under Linux from the C++ sources.

Known issue:

I don't speak Spanish, nor French, nor Chinese. I've tried to implement these languages the best I could. But I am aware that the implementation will contain mistranslations and misinterpretations. Please contact me if you find any problem with these languages.

Enjoy playing around with this application. Be brave enough to read the design paper and the fundamental paper. Have a peek at the source code. And above all: Have fun.

Menno Mafait.


The world's only self-organizing knowledge technology • Automated reasoning in Controlled Natural Language • Multilingual • Open source software







No releases published


No packages published