Developer's platform of programming text codes

1- Introduction

The editor and compiler is part of the TEIMSI project, to run properly it may need the files located on the folders the project includes.

Therefore TEIMSI may indicate the following:

⇒ The entire set of files that make up the project.

⇒ The programming language accepted by the editor and compiler.

⇒ The editor and compiler (program file named "EditorTEIMSI")

And since it's a programming text editor (note that this it's user manual), we can see that:

⇒ It meets the task of allowing viewing and modifying programmed texts or any type of files which contain readable texts (not binary files).

⇒ It allows to compile and assemble a .Exe or .Dll file using the text of a file being edited. As requirements for it, a folder with the project name must be created and put on it the main file with TEIMSI text (the file with .tsi extension), then open it with the editor.

⇒ It allows the text formatting using purposeful commands, such as applying tabs or comment/uncomment a text block and many more effects.

⇒ It facilitates the task of creating a new project or open file in another instance, to do it simply press the "Ctrl + I" keys, or go to the "File > New Instance" menu.

To start the editor the application must be started using a shortcut file to it (created during installation), typically the program would be within a folder names "Teimsi" located in the "Program Files" folder (on the C drive).

The splash screen looks like the following:

Go to top

2- Project options on startup

When the editor is started, the wizard menu for editing or creating a project appears, the project can be a program file (.Exe), Dynamic Library (.Dll), or TEIMSI Dynamic Library (.Dll). A base code as example is created according to each type of new project. The library files (Dll) are created with a special commented instruction on the top of the text used by the editor to determine the type of project: “// @_teimsi_app_type_is_dll_” indicates that the project is a normal Dll and “// @_teimsi_app_type_is_tsidll_” instruction indicates that the project is a TEIMSI DLL. If omitted some of these special instructions then the editor considers it as a program file project, the information about the type of project is automatically loaded when the main file is opened (which has the .TSI extension) and is automatically activaded the corresponding option in the menu at: "Compile" > "Select ... Mode" that determines the behavior of the compiler when compiling the TEIMSI programmed text.

(Next, it can be seen wizard screen when starting the editor).

The "Open an existing file" allows you to choose any type of file to edit it. The "Open folder of the application to watch sample files" opens the sample programs folder to visualize examples of Teimsi projects (which are not those of the user's documents folder).

The "Cancel" option leaves the editor in blank to allow notes or quick edits to be saved into a file.

Go to top

3- The operation of the editor

During operation of the editor, the default working folder is the same that contains the program file "EditorTeimsi.exe", typically located at “C:\Program Files\Teimsi”. This folder which has the program also has other key folders for compiling programs such as one with name "internal", or "engine". These folders have the basic files of any project, as well as the assembly language code for the default functions and operators of TEIMSI.

Here is a snapshot screen of a single TEIMSI project.

In the program folder you can also find the "teimsicfg.ini" file, it has important information such as:

The style properties of the text and font used and other defaults, for example the "FontName" variable indicates the name of the font of the text, "FontList" indicates the list of available fonts by default.

The location of the “FASM” assembler is essential, and it's indicated by the "fasmexeloc" variable and it generally point to "c:\fasm\fasm.exe ". The "fasm_api_dir" variable specifies the folder with the information about the operating system's "Api" generally pointed to "c:\fasm\include\api". The Fasm version 1.68 (which proved to have stability) is recommended for this version (0.95) of the TEIMSI Editor. The "fasminclist" variable has a list of the form “api filename.inc”" separated by a slash "/"; this list contains the files with the "Api's" prototypes (for the Win.2000/XP/7/... operating systems) to be loaded by the editor.

The information on these variables is also used by the dynamic library file of TEIMSI compilation whose name begins with “teimsi_" which is placed in the folder of the editor. The editor uses that dynamic library whose specific file name depends on the version of the editor program and the Dll , whether it is professional or educational edition, and also depends on the language in which it is presented.

Go to top

4- The "File" menu

In the "File" menu contains commands to open or save a project's file. The "New Instance" command will call itself to open another project instance or file editing.

Go to top

5- The "Edit" menu

In the "Edit" menu are the basic commands for editing text. The "Date and Time" menu places the current date and time into the text, for example: "23:05 Sunday, January 16th of 1973". The replace command allows you to make a string replacement.

With the "Preferences" menu, you can change the text font properties.

Go to top

6- The "Effects" menu

The "Effects" menu contains commands to format text, improving programming. The "tab spaces" have four space characters, but normal tabs are the "Tab" character which has ASCII code 9.

Comments for assembler (Asm) are placed with the ";" character. Comments for TEIMSI are made with "//".

If you are not using the professional version, you can find the "Break long lines of the selection" menu which shortens long lines specifying the maximum length them.


If you are using the professional version; additional submenus can be found in the "More effects to apply on the selection" menu, there are commands of the following snapshot image:

The commands within the "More effects to apply on the selection" menu are described below:

(Submenu command)(Action)(Input)(Input 2)(Output)(Output 2)
Break long lines of the selectionShorten long lines specifying the maximum length that each one will haveSelection-Selection-
SortSorts the list of rows in the selectionSelection-Selection-
Take away empty linesIt removes empty linesSelection-Selection-
Take away repeated linesIt replaces the repeated lines one after the other by blank lines Selection-Selection-
Join with each line of the text in the clipboardIt concatenates each row with the corresponding row of the clipboard's text using the specified spacerSelectionClipboardSelection-
Separate each line joined by a separator stringIt separates joined lines by a spacerSelection-SelectionClipboard
Add a string to the leftIt concatenates a string to the left side of each row of text selectionSelection-Selection-
Add a string to the rightIt concatenates a string to the right side of each row of text selectionSelection-Selection-
Merge alternately with text of the Clipboard It creates a new text that has the text selected within its odd number rows and that has the clipboard text within its even number rows.SelectionClipboardSelection-
Separate alternated mergingReplaces the text selection with the odd number rows of the original text selection and puts on the clipboard the even number rows of the original text selection.Selection-SelectionClipboard
Invert textPlaces the first lines as the lasts and vice versa.Selection-Selection-
Invert the chars of each linePuts the first characters as the last and vice versa in each row of the selection.Selection-Selection-
Extract a fixed length string of the right sideExtracts a fixed length string from the right side of each row. It also places into the clipboard text that has the rest of each line.Selection-SelectionClipboard
Extract a fixed length string of the left sideExtracts a fixed length string from the left side of each row. It also places into the clipboard text that has the rest of each line.Selection-SelectionClipboard
Replace selection by Clipboard in the DocumentIt replaces the selected text with the clipboard's text inside the whole Document. This command allows you to replace texts with carriage returns.SelectionClipboardDocument-

Go to top

7- The "Compile" menu

In the "Compile" menu are found the commands to compile the project currently being edited.

The command “Create and run .exe from the Teimsi script” is responsible to do the following:

⇒ 1) It saves the file being edited into disk. Warning: the file will be saved without prompting overwrite, must be careful if the file is displayed more than once with the Teimsi editor.

⇒ 2) It compiles the project of the TEIMSI programmed text, creating the folder ("project")_ asm_files ("project" is the name of the file being edited) and creating the base files generated during compilation that will contain the assembler text language, they are required to assemble the program file or dynamic library file.

⇒ 3) It calls to the "fasm.exe" program file that is responsible for creating the desired .Exe or .Dll file.

⇒ 4) It deletes the files created to do the assembly (on the step 1).

⇒ 5) It runs the program file created if it's a .Exe program file.

While compiling a small console that displays errors that may occur during the process opens up.

The mode selection (.EXE, .DLL, .DLL Teimsi), determines the base files used in the process, so that the created object satisfies the desired conditions.

The “Save and only Compile Teimsi Script” command performs steps 1, 2 and 3 previously described for the “Create and run .exe from the Teimsi script” command, but lets you do manually the task of assembling the object; to do so it must be run the "create.bat" file located in created folder during this step.

The “Assemble compiled object with Fasm” command calls to the "create.bat" file.

The "Fast Save" command is equivalent to "save" command from the "File" menu, its purpose is to quickly dump to disk the contents of the file being edited by pressing a single key on the keyboard which is "Inter Pause".

Go to top

8- The "Help" menu

In the "Help" menu are the commands to display the editor's manual and the TEIMSI language reference manual. You can visit the project or available tools page to download them from Internet.

The "Report an error" command allows you to report a bug and/or suggestions, this information can help us to create improved versions of the compiler.

Go to top