of each of these types of errors.
module buggy
object button : XmPushButton { };;
value
duplicate : 10;
duplicate : "whoops!";
object label : XmLabel {
arguments {
XmNlabelString = button;
};
};
end module;
An attempt to compile this module results in the following output:
object button : XmPushButton { };;
*
Error: unexpected SEMICOLON token seen − parsing resumes after ";"
line: 3 file: buggy.uil
duplicate : "whoops!";
*
Error: name duplicate previously defined as integer
line: 7 file: buggy.uil
XmNlabelString = button;
*
Error: found widget_ref widget when expecting compound_string value
line: 11 file: buggy.uil
Info: no UID file was produced
Info: errors: 3 warnings: 0 informationals: 1
The compiler prints an asterisk (*) under the offending line to show you exactly where the error occurred. Note that
because errors were detected, the compiler did not produce a UID file.
24.2.3 Warning Messages
Warning messages turn up most often when part of a widget definition does not make sense to the compiler. Since
warnings are not critical problems, a UID file is still produced when they occur. You shouldn't ignore warnings, as
they typically indicate a misunderstanding of some kind. For example, in the source code we incorrectly try to create a
List gadget and use the XmNset resource in a Label widget.
module mistakes
object files : XmList gadget { };
object label : XmLabel {
arguments {
XmNset = true;
};
};
end module;
24 Using the UIL Compiler 24.2.3 Warning Messages
652