Table of Contents
bcg_labels - modify the labels of graphs encoded in the BCG format
bcg_labels [
bcg_options]
input.bcg
or bcg_labels [bcg_options] [-parse
| -unparse] -scramble pattern input.bcg [output.bcg]
or bcg_labels [bcg_options]
[-parse | -unparse] [-warning] action1 action2 ... input.bcg [output.bcg]
where
each action in the list action1 action2 ... is either a "cutting action",
defined as:
action ::= -cut [ -total | -partial | -gate ] cutting_filename
or
a "hiding action", defined as:
action ::= -hide [ -total | -partial | -gate
] hiding_filename
or a "renaming action", defined as:
action ::= -rename
[ -total | -single | -multiple | -gate ] renaming_filename
There may be as many
cutting, hiding, and/or renaming actions as needed on the command line.
Scrambling may not be combined with cutting, hiding, and renaming actions.
In its first form, this command displays the visible labels
of the BCG graph
input.bcg, alphabetically sorted. Notice that, if this graph
contains unreachable states and transitions, some of the labels displayed
might be unreachable too; this can be checked by invoking
bcg_info
with its
-unreachable option. Notice also that invisible labels (noted "i")
are not displayed, even if the graph contains such labels; this can be
checked by invoking
bcg_info
with its
-hidden option.
In its second
and third forms, this command modifies the labels of a BCG graph. It takes
as input the BCG graph input.bcg and writes the resulting graph to output.bcg,
replacing input.bcg if output.bcg is omitted.
This command applies to the
labels of input.bcg either a scrambling operation, or cutting, hiding, and/or
renaming operations specified by the list of actions given on the command
line.
These operations are performed in the same order as the actions occur
on the command line (the leftmost actions being applied first, and the
rightmost ones being applied last). For instance, if bcg_labels is called
with arguments -rename file1 -hide file2, renaming will be applied before hiding.
A dynamic library corresponding to input.bcg may be generated if necessary.
The following
bcg_options are currently supported:
-version,
-create,
-update,
-remove,
-cc,
-tmp,
-uncompress,
-compress,
-register,
-short,
-medium, and
-size. See the
bcg
manual page for a description of these
options.
- -scramble pattern
- Rename each label string (except
the hidden label "i", which is kept as is) so as to remove any information
contained in the string; in essence, scrambling replaces all label strings
by unique numbers in the range 1..N, where N is the number of labels.
The
pattern is a character string to be used as the format argument of the
C function printf(). It should contain exactly one occurrence of "%d". Scrambling
renames each label string into pattern, the "%d" of which being replaced
by the unique integer that identifies the label. The pattern should not
contain other %-arguments than "%d", such as "%c", "%f", etc. If needed,
the "%" character can be specified as "%%".
- -cut [-total|-partial|-gate] cutting_filename
- Use the cutting rules defined
in cutting_filename to cut the labels in input.bcg. See the caesar_hide_1
manual page for a detailed description of the appropriate format for cutting_filename.
The -total, -partial, and -gate options specify the "total matching", "partial
matching", and "gate matching" semantics, respectively. See the caesar_hide_1
manual page for more details about these semantics. Option -total is the
default.
- -hide [-total|-partial|-gate] hiding_filename
- Use the hiding rules
defined in hiding_filename to hide the labels in input.bcg. See the caesar_hide_1
manual page for a detailed description of the appropriate format for hiding_filename.
The -total, -partial, and -gate options specify the "total matching", "partial
matching", and "gate matching" semantics, respectively. See the caesar_hide_1
manual page for more details about these semantics. Option -total is the
default.
- -rename [-total|-single|-multiple|-gate] renaming_filename
- Use the renaming
rules defined in renaming_filename to rename the labels in input.bcg. See
the caesar_rename_1
manual page for a detailed description of the
appropriate format for renaming_filename.
The -total, -single, -multiple, and
-gate options specify the "total matching", "single partial matching",
"multiple partial matching", and "gate matching" semantics, respectively.
See the caesar_rename_1
manual page for more details about these
semantics. Option -total is the default.
- -parse | -unparse
- Options
-parse and -unparse can be used to control label parsing in output.bcg (see
the bcg_write
manual page for a technical discussion about label
parsing). By default, or if option -parse is present, label parsing is enabled.
If option -unparse is present, label parsing is disabled.
- -warning
- Option
-warning, when set, suppresses all warnings concerning the patterns of the
-cut, -hide, and -rename options that do not match any label of input.bcg (or
of the graph derived from input.bcg by applying all preceding cutting, hiding,
or renaming substitutions). See the caesar_mask_1
manual page for
details about the
CAESAR_REPORT_MASK_1() procedure. Not a default option.
See the
bcg
manual page for a description of
the environment variables used by all the BCG application tools.
Exit
status is 0 if everything is alright, 1 otherwise.
Christophe Discours,
Hubert Garavel, and Frederic Lang.
- input.bcg
- BCG graph (input)
- output.bcg
- BCG graph (output)
- input@1.o
- dynamic library (input or output)
- cutting_filename
- set of cutting rules (input)
- hiding_filename
- set of hiding rules (input)
- renaming_filename
- set of renaming rules (input)
- $CADP/bin.`arch`/bcg_labels
- ``bcg_labels'' binary program
See the bcg
manual page for a description
of the other files.
bcg
,
caesar_hide_1
,
caesar_rename_1
,
caesar_mask_1
Additional information is available from the CADP
Web page located at http://cadp.inria.fr
Directives for installation are
given in files $CADP/INSTALLATION_*.
Recent changes and improvements to
this software are reported and commented in file $CADP/HISTORY.
Please
report bugs to
Hubert.Garavel@inria.fr
Table of Contents