| iMatix home page
| Libero home page | Libero documentation
| << | < | > | >>
Libero Libero
Version 2.32

Quick Reference - Libero Schema Language

General

! at start of line - comment to end of line.
: at start of line - command line.
: by itself on line - ignored as comment.
# in command line - comment to end of line.
$xyz - insert value of variable xyz.
$xyz\text - insert value of variable xyz followed by text.
$"text" - format text using -style setting.
$$ - insert single '$'.

Read-Only Variables

$author - value of -author setting.
$date - current date: yy/mm/dd.
$time - current time: hh:mm.
$fulldate - current date: dd Mmm, yyyy.
$fulltime - current time: hh:mm:ss.
$out_count - lines output including current line (1 up).
$dialog - name of current dialog file, no extension.
$schema - name of schema being read; value of -schema.
$source - name of source file, no extension; value of -source.
$style - value of -style.
$defaults - number of the defaults state, or zero.
$events - number of events in dialog.
$maxaction - maximum action number (largest vector).
$modules - number of modules in dialog.
$states - number of states in dialog.
$vectors - number of action vectors in dialog.
$version - current Libero version: e.g. 2.32.

Schema Commands

:output filename - outputs following schema text to filename.
:extend filename - appends following schema text to filename.
:close - closes current output file.
:copy fromfile tofile - copies one file to another.
:rename fromfile tofile - renames one file to another.
:delete filename - deletes filename.
:include [optional] filename [from [to]] - includes filename in current output code. From and to are strings of text that sit by themselves on a line in filename.
:echo text - echoes text. "\n" is a newline.
:declare [int | string] $variable [= expression] - defines variable for later use in the schema.
:set $variable = expression - assigns new value to variable.
:push [$]variable [= expression] - creates a new instance of variable.
:pop [$]variable - removes last instance of variable.
:do condition - starts code block output repeatedly depending on condition.
:do while logical-condition - repeats code block while logical-condition is true.
:enddo [condition] - ends closest previous :do block.
:if logical-condition - outputs code block if logical-condition is true.
:else - outputs code block if previous :if was false.
:endif [all] - ends closest previous :if block.
:exit [level] - aborts code generation: level 0 = okay, 1= error.
:option -name[=value] - enforces Libero option.
:internal module - module required by generated dialog code, but not by dialog.
:substr from [size] - specifies substring for next $name or $row insertion. From starts at 1. If size is not specified, remainder of value is used.

Expressions

:declare int $number = 1
:set $number = ($number + 10) / 2
:set "$string" = "$string\more_text"

Strings: max. 255 characters. Numbers: from -2,147,483,648 to +2,147,483,647.

Logical Conditions

:if $flag            # non-zero number or non-empty string
:if not condition    # reverse test
:if $var1 =  $var2   # If strings or numbers are equal
:if $var1 == $var2   # If equal
:if $var1 != $var2   # If not equal
:if $var1 <> $var2   # If not equal
:if $var1 <  $var2   # If less than
:if $var1 >  $var2   # If greater than
:if $var1 <= $var2   # If less than or equal
:if $var1 >= $var2   # If greater than or equal

:if exist file       # file exists in current directory
:if animate          # -animate option
:if check            # -check option
:if caps             # -style=caps option
:if cobol            # -style=cobol option
:if headline         # -style=headline option
:if normal           # -style=normal option
:if plain            # -style=plain option
:if title            # -style=title option
:if defaults         # dialog defines a Defaults state
:if state name       # name is state in dialog
:if event name       # name is event in dialog
:if module name      # name is module in dialog

Control Variables

$array_base - base value for tables. Default 0.
$comma_before - used as $comma when current item is not last. Default ",".
$comma_last - used as $comma when current item is last. Default empty.
$comment_ind - comment indicator in schema command lines. Default "#".
$module_line - template for module header in source file. Default "MODULE %s (void)".
$number_fmt - used to format the $number value. Must be valid printf format string. Default "%ld".
$row_first - used to format first numeric item in a $row value. Must be a valid printf format string. Default "%ld".
$row_after - used to format numeric items in $row after first. Must be valid printf format string. Default ",%ld".
$row_clean - when 1, Libero removes non-numeric data from start of overflow rows. Default 0.
$row_null - used in $row's when there is no event defined in state. Default 0.
$row_width - maximum size of $row item in generated source. Default 60. Longer rows are chopped into 'overflow' pieces.
$run_away - maximum times through any :do loop. Default 1000.
$stub_before - output before each stub header. Default "" (empty).
$stub_first - output at start of stub header line. Default "/".
$stub_between - repeated to build-up stub header line. Default "*".
$stub_last - output at end of stub header line. Default "/".
$stub_width - width of stub header line. Default 79.

Standard :do Conditions

:do while condition - repeats while condition is true. Loop is executed 0..n times. Loop variables: $number.

:do event - builds list of events. Outputs block for each event in dialog. Loop variables: $name, $number, $comma.

:do state - builds list of states. Outputs block for each state in dialog. Loop variables: $name, $number, $comma.

:do module - builds list of modules. Outputs block for each module in dialog. Loop variables: $name, $number, $comma.

:do action - builds table containing one row per state, with one item per row for each event transition. Each item is number of an action vector. Invalid state/event transitions are filled by value of $row_null. Loop variables: $row, $number, $comma, $offset, $tally.

:do nextst - builds table containing one row per state, with one item per row for each event transition. Each item is number of next state. Invalid state/event transitions are marked by value of $row_null. Loop variables: $row, $number, $comma, $offset, $tally.

:do vector - builds table of action vectors. An action vector is a list of modules executed in series for a state/event transition. Duplicate vectors are collapsed. Loop variables: $row, $number, $comma, $offset, $tally.

:do overflow - used to build source code that has to be output over several lines. Block is output until overflow row is empty. Loop variables: $row, $number, $comma, $tally.

:do stubs [filename]... builds a set of module stubs at end of filename.


| << | < | > | >>
| Libero Technical Reference | Read-Only Variables | Schema Commands | Syntax Of Expressions | Syntax Of Logical Conditions | Control Variables | Standard :do Conditions | Extra Variables In A :do Loop | General Rules for Code Generation | Generating Module Stubs | Generating COBOL Code | The State Machine Algorithm | Compiled-In Limitations | Quick Reference - Libero Schema Language
iMatix
Copyright © 1996-97 iMatix