Main
HORMIGA Project
Introduction
This project began in 2009 and is headed to perform a flexible and manageable calculation tool.It emerged from a need in the Civil Engineering Faculty in the city of Olavarría, and it began to be developed as an undergraduate thesis in the System Engineering Faculty in the city of Tandil (Buenos Aires, Argentina).
The project involves the definition of a language and the implementation of a tool which interprets it (language engine).
The tool by itself is an interpreter of a language designed to be easy for use by "non techinician" users. Through this language, any user can develop a "program" in charge of solving calculation problems.
As well, it is a wish of this project to encourage the users to share the programs they have made.
In the Hormiga Forums you will find example programs and contributed, ready to be used and a channel of communication between the users community.
You can communicate with us by sending an e-mail to .
User Levels
Firstly, the project is composed of 3 user levels:- Developers: They are in charge of the language design and the interpreter implementation. Usually, they are people related with the software field, whether they are advanced users, software engineering students or graduate students.
- Final Users: Those who simply use the interpreter with programs made by other users, to solve their calculation problems.
- Programmer users: Those who write the necessary programs in "Hormiga Code" (by themselves or by a third party) in order to solve specific calculations.
The Language
The language was designed to be simple and powerful, allowing any user without software programming knowledge to make the necessary programs to automate the calculations of everyday problems.Generally, it is necessary only for the users to be aware of the problem they want to solve.
The language allows programmers to focus on the problem and not to worry about the interactive interface with the user.
The programmer will have to state the instructions to solve a problem, in the same way they would do manually. The steps may depend one upon the other.
Like most of the languages, "Hormiga" has functions support and the possibility of creating code libraries of common use to avoid duplicating the code or "reinventing the wheel". Unlike most of the languages, Hormiga:
- creates automatically and dynamically the users interface (GUI).
- has support to calculate definite integrals in multiple dimensions.
- incorporates a new concept called Step, similar to a procedure of Pascal, but it allows to state dependences between them.
The Interpreter
The current interpreter is programmed in C++ language, using the multiplatform libraries QT- The possibility of running it on any desktop computer since it relatively needs low resources usage.
- The possibility of running it on most of the known platforms (MS Windows, Linux/Unix, Mac) and, possibly, on embeded technologies, as cell phones (particularly Nokia, who acquired the company that develops the QT programming libraries).
- The base language has power and flexibility, which assures us the possibility of expanding the range of the project.
- The base language is well-known, with excellent developers around the world.
The specification of the language is implemented using tools for the analysers creation:
You can see the online complete information of the interpreter code. This documentation is created with Doxygen