The Organization of Files in a Project
A SIMPOL project is stored on the hard disk as a group of files with the
following extensions smj
,
sma
, smu
,
smp
, sml
,
and smz
with an appropiate folder
structure. I will explain the folder structure using the above project example.
The basis of every project is a directory. All of the files that are directly
part of the project are stored in the project directory or in subdirectories
below that. The name of the directory is the same as the name of the project.
If the project name is MyFile1
, the directory name will be
MyFile1
. The project description is
stored in this directory; in this example it is named
MyFile1.smj
. Inside the project directory we will have a
directory for each main source code file. These are called modules or module
directories. Each module contains its main source code file and the rest of
the source code files that are implemented as part of the module. Any source
code files that are in the module directory besides the main source code file
of the module, must be included in the main or other included source code
files in this module in order to be compiled and considered part of the module
during the build process. It is also possible to include, as part of the code of
the module, files from other modules or other projects, for example source code
files with standard functions, etc. When the project is built, the resulting
byte-code file (either library or program) will also be found in the module's
directory.
The name of the module directory will be the name of the main source code file
without the extension. In the previous example we have two modules: "MyFile1"
and "MyFile2". The first module "MyFile1" contains the files
MyFile1a.sma
, MyFile1b.sma
and after
it is compiled the first time, MyFile1.smp
. The second
module "MyFile2" contains the files MyFile2.sma
and
after it has been compiled the first time, MyFile2.sml
".
When the project is built the result is stored in the directory called
bin
, which is a subdirectory of the
project directory. In the example, the final result of the building the project
is the file MyFile1.smp
.