Mazak EIA/ISO Pre-Processor Syntax

This document list the specific Mazak EIA/ISO syntax supported by the pre-processor.


  1. Pre-processor Setup

  2. Command Abbreviations

  3. Operators

  4. Arithmetic operators

  5. Unconditional branching

  6. Conditional branching

  7. Repetition

  8. Variables

  9. Sub-program

  10. Other matching patterns


1. Pre-processor setup

The Mazak EIA/ISO pre-processor can be setup in order to be a little bit more flexible. This is done via the macro function $FCEPP( ). This function’s purpose is really to communicate information that are specific to some pre-processor without being standard on every one of them. These are the configuration parameter supported by the pre-processor.

  • $FCEPP('PROCESS', 'COMMENTS', value )

Value: $TRUE to let the pre-processor process the comments (this is the default).
$FALSE to have the pre-processor leave the comments as-is on the blocks.
  • $FCEPP('PROCESS', 'MESSAGES', value )

Value: $TRUE to let the pre-processor process the operator messages(this is the default).
$FALSE to have the pre-processor leave the operator messages as-is on the blocks.

2. Command Abbreviations

The following commands can be coded by specifying at least 2 or more characters instead of the whole command name.

  • THEN

  • GOTO

  • WHILE

  • END

  • SIN

  • ASIN

  • COS

  • ACOS

  • TAN

  • ATAN

  • SQRT

  • ABS

  • ROUND

  • FIX

  • FUP

  • EXP

  • AND

  • XOR

3. Operators

  • EQ Is equal

  • NE Not equal

  • GE Greater or equal then

  • GT Greater than

  • LE Less or equal than

  • LT Less than

  • AND Logical AND

  • && Logical AND

  • OR Logical OR

  • || Logical OR

  • XOR Bitwise OR

4. Arithmetic operators

Subtraction

Addition

*

Multiplication

/

Division

=

Assignation

[ ]

Priority

SIN[x]

Sinus

ASIN[x]

ArcSinus

COS[x]

Cosinus

ACOS[x]

ArcCosinus

TAN[x]

Tangent

ATAN[x]

ArcTangeant

SQRT[x]

Square root

ABS[x]

Absolute value

ROUND[x]

Rounding value

FIX[x]

Nearest integer part closest to 0

FUP[x]

Nearest integer part farthest to 0

LN[x]

Logarithm

EXP[x]

Exponential value

MOD[x]

Modulo (get the remainder part)

5. Unconditional branching

Syntax

Description

GOTO

Jump to a specific sequence number in the MCD.
GOTO 150

6. Conditional branching

Syntax

Description

IF

Evaluate boolean condition and optionally branch.
IF [ [212]EQ[442|2*12]EQ[44/2] ] GOTO30;

IF [#2GT5.5] THEN #4=#2

IF/ELSE/ENDIF

Evaluate boolean condition and execute block of codes.
IF [ [212]EQ[442|2*12]EQ[44/2] ] THEN
G0 X100.
ENDIF

7. Repetition

Syntax

Description

WHILE [expr] DO n ... END n

Execute a portion of blocks between the WHILE and END as long as the expression is true. The DO number and END number must match to form a valid
WHILE block.
WHILE [#3 GT 15] DO 1

G0X#3

#3=#3-1

END 1

8. Variables

Syntax

Description

#n

Variables are defined starting from 1 (#n)
#1, #45, #123, ...

10. Other matching patterns

Description

Description

(Comments)

Comments. Text enclosed between ( )
(this is a comment)

;

The “;”marks the end of a block. Everything after it is ignored
N12 G0 Z120.5; After end of block