Seed7 is a general purpose programming language described at the Seed7 Homepage.
Seed7 is a higher level language compared to Ada, C++ and Java. The Seed7 interpreter and the example programs are open-source software. There is also an open-source Seed7 compiler. The compiler translates Seed7 programs to C programs which are subsequently compiled to machine code.
The Seed7 package contains the Seed7 interpreter in source besides documentation files, include files and program examples. The following sub directories exist:
Using the extension several files can be distinguished:
For Linux this is quite simple (to compile under other operating systems see seed7/src/read_me.txt). The makefile is prepared for Linux. First make sure that gcc, make and the development packages for X11 and ncurses are installed. Then go to the seed7/src directory and type:
make depend
make
After the compilation the interpreter is linked to the file seed7/prg/s7. The Seed7 compiler (s7c) is compiled with:
make s7c
The compiler executable is copied to the bin directory. To check interpreter and compiler with a test suite (chk_all.sd7) use the command:
make test
Finally Seed7 can be installed with:
sudo make install
To do several compilation attempts in succession you need to execute the command
make clean
before you do make depend
again.
The file seed7/src/read_me.txt contains a detailed explanation of the compilation process.
Seed7 supports several operating systems such as Windows, Mac OS X and various Unix variants. How to compile under these operating systems is explained in the file seed7/src/read_me.txt.
After compiling the interpreter you can make the first test. Switch to the seed7/prg directory and type:
./s7 hello
This executes the hello world program which is in the hello.sd7 file. Every file with the .sd7 extension can be executed with the s7 interpreter.
A list of the program files with a short description can be found in the file: prg/files.txt.
The file seed7/src/read_me.txt discusses the compilation process with more detail.
Just send a pull request to the GitHub repository of Seed7. Participation is always welcome. If you send a pull request, it is assumed that your change is released under the GPL (or LGPL for libraries) license.
Greetings Thomas Mertes