Basic elements of Tefigel programs and scripts are text files
and text lines, intermixed with Tefigel instructions and comments,
and name spaces of string, numeric and boolean variables.
In short, for the purpose of this document these elements can
be defined as follows:
Traditional programming language constructs, such as
control flow and arithmetic and boolean computation instructions, are
of course also available in Tefigel. These constructs have been
purposely designed and implemented in a very simple form for two reasons:
- Text files: any human-readable single-byte characters file (typically, ASCII or ISO8859);
- Text lines: a line of text within a text file;
- Tefigel instructions: commands and control statements to steer the text file processing performed by Tefigel;
- Tefigel comments: descriptive text lines to make the instructions easier to understand;
- Markers: input characters that allow Tefigel to distinguish between normal text and instructions; markers can be dynamically associated with different characters;
- Special characters: input characters that require Tefigel to take special actions, such as calling functions or performing name-value contents association; special actions can be dynamically associated with different characters;
- Variables: symbolic names (placeholders) within a name space associated with string, numeric and boolean values;
- Subroutines and functions: text files, containing Tefigel instructions, that can be CALLed, possibly with parameters, to accomplish a specific, repeatable subtask;
- Packages and libraries: collection of logically related subroutines and functions, grouped together within one main directory (library) as one or more subdirectories (packages);
- Filters: a special type of subroutines, to be run when a textual pattern associated with them matches an input row, or a part of it;
- Name spaces: collections of variables that can be saved (PUSHed) and restored (POPped).
Finally, Tefigel's capabilities include simple constructs
to control its input and output flows, enabling the processing
of several input files, as well as the production of several output files.
- To keep the set of new things to be learned by new Tefigel users as small as possible, in order to help them be more quickly ready to actually use Tefigel;
- To focus Tefigel design and implementation on functions that are more closely related to the main purpose of Tefigel, which consists in enabling the automated, efficient and reliable generation of source code files.
[Back to top]