Back | Next Lesson

What is a Sigmac?

What is Sigmac?

Literally, it could mean Sigma's macro or SigmaC language (C-like).  It's a deeply guarded SDI secret.  But since macro languages are typically interpreted, I like SigmaC (who cares, you say).

ARRIS CAD is divided into 3 levels of code:

        1) 'graphics.exe' CAD Engine    private
        2) Library of $Utilities                private
        3) Applications                 public

The first 2 levels are written in C and the source code is private, while the last level (Applications) is written in Sigmac and is made public (most of it).  The application level is a collection of (system) sigmacs, so look at them, study them, then you can fix them.

The Sigmac language consists of syntax, a toolbox and logicSyntax is the grammar of the language, consisting of symbols and keywords that makeup executing statements.  The toolbox is the set of application sigmacs and functions.   Functions are powerful and complex, affectionately referred to as dollar utilities (they all begin with "$").  $utilities expect arguments in a strict order and may or may not return data.  Logic is the flow (or control) in which statements are executed.

In the beginning, stay with chaining together sigmacs (or commands).  Don't worry about $utilities now, we'll introduce a few as we go along.

The sigmac process consists of:
 
1) Sigmac Source File (ff) - where you write the code in readable ASCII text.  The sigmac with the name "ustart" will execute automatically when ARRIS is initiated (as long as it is archived in "file.sm" or "user.sm").  The "ff" extension will tag this ARRIS file as a sigmac source file.

The source file is
very important, without it - you will not be able to modify your sigmac in the future.

2) Compiler - where the source code is converted into machine code.  The compiler will report syntax errors.

3) Machine Code File (gg) - what is produce after a successful compilation.  The "gg" extension will tag this ARRIS file as a sigmac machine code file.

4) Archiver - archives (places) the gg file into a sigmac library (sm).  Once the "gg" file is archive the harddisk copy can be deleted (only necessary in UNIX).

5) Sigmac Library (sm) - a collection of individual sigmacs.  The sigmac library is what you load into ARRIS.  There are 2 sigmac libraries that will load automatically when ARRIS is initiated, "file.sm" and "user.sm".  The "sm" extension will tag this ARRIS file as a sigmac library file.

6) Debugging - a process in which you slowly pull your hair out looking for logic errors.  Once you feel you have figured out what went wrong, repeat, rinse, repeat rinse, . . . .

You may use any text editor you are comfortable with to write Sigmacs.  Sigma Design provides a beta version of ADE (ARRIS Developement Environment) in the Windows world.  In UNIX, you're stuck with a superior product (IMHO) called the VI editor.  In fact, I found a very good VI editor for the windows world, called "Lemmy" from
www.softwareonline.org for about $40.  It combines the best of the VI editor with the GUI cut&paste world.

That's all for now,
Steve

No, I don't get any proceeds from the Lemmy people.

This lesson was brought to you by SCG consulting. All written materials related to these Sigmac lessons are copyrighted by SCG and intended for personal use only. Any commercial or non-commercial reproduction for public use is prohibited without written consent from SCG.

Back | Next Lesson