(0) module validator (0) version = 'v1.0' (0) names = case_sensitive (0) procedure (0) ArmMe (); (0) DisarmMe (); (0) ActivateMe (); (0) ExecuteMe (); (0) CreationProc (); (0) ! (0) !test for P2869 (0) ! this test needs to be at the beginning of this file (0) ! because it results in memory corruption, and if at (0) ! the end, the corruption might not produce the desired (0) ! core dump. (0) ! (0) value toggle_icon_Y : imported icon; (0) value toggle_icon_N : imported icon; (0) object (0) Gbutton1 : XmToggleButton { (0) arguments { (0) XmNlabelType = XmPIXMAP; (0) XmNselectPixmap = toggle_icon_Y; (0) XmNlabelPixmap = toggle_icon_N; (0) XmNindicatorOn = false; (0) ! XmNlabelString = ""; (0) }; (0) }; (0) object (0) Gbutton2 : XmToggleButton { (0) arguments { (0) XmNlabelType = XmPIXMAP; (0) XmNselectPixmap = toggle_icon_Y; (0) XmNlabelPixmap = toggle_icon_N; (0) XmNindicatorOn = false; (0) ! XmNlabelString = ""; (0) }; (0) }; (0) object (0) Gbutton3 : XmToggleButton { (0) arguments { (0) XmNlabelType = XmPIXMAP; (0) XmNselectPixmap = toggle_icon_Y; (0) XmNlabelPixmap = toggle_icon_N; (0) XmNindicatorOn = false; (0) ! XmNlabelString = ""; (0) }; (0) }; (0) ! (0) !comment tests (0) ! (0) ! valid (0) /* comment should be allowed */ (0) /* there are many of these (0) comments which can span multiple lines */ (0) ! this also, as we've seen! (0) ! (0) ! invalid (0) ! (0) /* nested /* comments */ are out */ 1 Error: (1) unexpected NAME token seen - parsing resumes after ";" (0) ; (0) ! semi colon above just to break out of error (0) ! this type of comment (0) cannot span multiple lines 1 Error: (1) unexpected NAME token seen - parsing resumes after ";" (0) ; (0) ! semi colon above just to break out of error (0) ! (0) !value tests (0) ! (0) value (0) ! valid name value unimportant (0) abd_ef : 0; (0) $dext : 1; (0) low1$2 : 0; (0) MARKa : 1; (0) _peg : 0; (0) conTROLS : 1; (0) ! (0) ! invalid name (0) 9zhe : 1; 1 Error: (1) unexpected UNS_INT_LITERAL token seen - parsing resumes after ";" (0) blha)t : 0; 1 Error: (1) unexpected NAME token seen - parsing resumes after ";" (0) m-fg : 1; 1 Error: (1) unexpected NAME token seen - parsing resumes after ";" (0) END : 0; 1 Error: (1) unexpected NAME token seen - parsing resumes after ";" (0) MODULE : 1; 1 Error: (1) unexpected NAME token seen - parsing resumes after ";" (0) value (0) !integer values valid (0) ! (0) foo1 : 0; (0) foo2 : -942343; (0) foo3 : 2147483647; (0) ! (0) ! (0) ! invalid (0) foo4 : 2147483648; 1 Error: (1) value of integer is out of range (0) foo5 : 9 0; 1 Error: (1) unexpected UNS_INT_LITERAL token seen - parsing resumes after ";" (0) foo6 : -2,234; 1 Error: (1) unexpected COMMA token seen - parsing resumes after ";" (0) value (0) !strings valid (0) bar1 : '1234a'; (0) bar2 : ' '; (0) bar3 : '/f'; (0) bar4 : 'two \ (0) lines'; (0) ! invalid (0) bar5 : 'xyz; 1 Error: (1) character string not terminated before end of line (0) bar6 : ; 1 Error: (1) unexpected COLON token seen - parsing resumes after ";" (0) bar7 : 94'; 1 Error: (1) character string not terminated before end of line (0) ! next one to break out of error above (0) bar7a : ; 1 Error: (1) unexpected NAME token seen - parsing resumes after ";" (0) bar8 : '\389'; 12 Error: (1) \digit...\ sequence not terminated with \ Error: (2) character string not terminated before end of line (0) value 1 Error: (1) unexpected VALUE token seen - parsing resumes after ";" (0) !booleans valid (0) bool1 : true; (0) bool2 : false; (0) bool3 : on; (0) bool4 : off; (0) ! invalid (0) bool5 : yes; 1 2 Error: (1) value yes was never defined Error: (2) the bool5 value is circularly defined (0) bool6 : no; 1 2 Error: (1) value no was never defined Error: (2) the bool6 value is circularly defined (0) ! (0) value (0) !float valid (0) frizz1 : 1.0; (0) frizz2 : .1; (0) frizz3 : 3.1415E-2; (0) frizz3a : -6.2e7; (0) ! invalid (0) frizz4 : 1e1; 1 Error: (1) unexpected NAME token seen - parsing resumes after ";" (0) frizz5 : E-1; 1 2 Error: (1) value E was never defined Error: (2) the frizz5 value is circularly defined (0) frizz6 : 2.87 e6; 1 Error: (1) unexpected NAME token seen - parsing resumes after ";" (0) ! 32-bit floats will fail (0) frizz7a : 2.0e38; (0) ! 64-bit floats will fail (0) frizz7b : 1.8308E308; (0) ! should fail on most machines; maybe not mips machines (0) frizz7 : 2.0e2000; (0) value (0) !unary expressions valid (0) lala1 : ~true; (0) lala2 : ~7; (0) lala3 : -2.73e7; (0) lala4 : --3829; (0) lala5 : -lala4; (0) ! invalid (0) lala6 : ~3.1427; 1 Error: (1) float type is not valid for not operator (0) lala7 : 2~23; 1 Error: (1) unexpected NOT token seen - parsing resumes after ";" (0) lala8 : -false; 1 Error: (1) boolean type is not valid for unary minus operator (0) lala9 : -'bar'; 1 Error: (1) string type is not valid for unary minus operator (0) lala10 : +true; 1 Error: (1) boolean type is not valid for unary plus operator (0) value (0) ! binary valid (0) zpp1 : 2*9.00004e4; (0) zpp2 : 0*1; (0) zpp3 : 8.7/-2.1E14; (0) zpp4 : 2.1/8; (0) zpp5 : 211+-317; (0) zpp6 : 1111 - 2.7e17; (0) ! invalid (0) zpp7 : 6 * true; 1 Error: (1) boolean type is not valid for multiply operator (0) zpp8 : *2, 3; 1 Error: (1) unexpected MULTIPLY token seen - parsing resumes after ";" (0) zpp9 : *8.7; 1 Error: (1) unexpected MULTIPLY token seen - parsing resumes after ";" (0) zpp10 : 17/'string2'; 1 Error: (1) string type is not valid for divide operator (0) zpp11 : 3111/; 1 Error: (1) unexpected SEMICOLON token seen - parsing resumes after ";" (0) zpp12 : 7 + off; 1 Error: (1) boolean type is not valid for add operator (0) zpp13 : 3.184 + ; 1 Error: (1) unexpected SEMICOLON token seen - parsing resumes after ";" (0) ! test for PIR 2812, very long names (0) ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffoo Error: (0) line truncated at 132 characters (0) : 7442; (0) ! even a comment can do it ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff Error: (0) line truncated at 132 characters (0) ffffffffffffffffffffffffoo : 7442; (0) ! end of test for PIR 2812 (0) ! test for PIR 2580, very long C-style comment (0) /****************************************************************************** (0) ******************************************************************************* (0) ******************************************************************************* (0) ******************************************************************************* (0) ******************************************************************************* (0) ******************************************************************************* (0) ******************************************************************************/ (0) ! (0) !conversion tests (0) ! (0) value (0) !data type conversions using values defined above (0) ! valid (0) frim1 : integer(bool2); (0) frim2 : float(abd_ef); (0) frim3 : float(frizz2); (0) ! invalid (0) frim4 : integer(bar1); 1 Error: (1) cannot convert string type to integer type (0) frim5 : float(bar1); 1 Error: (1) cannot convert string type to float type (0) ! (0) !end of value tests (0) ! (0) ! (0) !function tests (0) ! (0) value color_blue : color ('mediumblue'); (0) value color_red : color ('indian red'); (0) value circle_radius : argument ( 'my_radius', integer); (0) value circle_color : argument ( 'my_color', color); (0) ! (0) ! (0) value color_black : color ('black', background); (0) ! the next two definitions will generate warnings about overriding built-ins (0) value XmNactivateCallback : reason ( 'XmCR_ACTIVATE'); 1 Warning: (1) overriding built-in name XmNactivateCallback (0) value XmNarmCallback : reason (' XmCR_ARM'); 1 Warning: (1) overriding built-in name XmNarmCallback (0) object pushbutton1 : XmPushButton (0) { arguments {XmNforeground = color ('flamingo', foreground); (0) XmNbackground = color_black; (0) XmNlabelString = compound_string (0) (#iso_latin2"string"); (0) }; (0) callbacks {XmNarmCallback = procedure ArmMe (); (0) XmNactivateCallback = procedure ActivateMe (); (0) !execute is not a valid reason for PushButton SHOULD produce error (0) XmNexecuteCallback = procedure ExecuteMe (); 1 Error: (1) value XmNexecuteCallback was never defined (0) }; (0) }; (0) ! (0) !color table test (0) ! (0) value ct_1 : color_table (0) ( color_black = '.' , color_red = 'o'); (0) !invalid color tables (0) value ct_2 : color_table (0) ( color_black = 'xx', color_red = 'o'); 1 Error: (1) color letter string must be a single character (0) value ct_3 : color_table (0) (color_teal = '!', color_azure = '?'); 1 2 Error: (1) color entry color_teal must be defined before this reference Error: (2) color entry color_azure must be defined before this reference (0) value ct_4 : color_table (0) (background = 'm', foreground = 'o'); 1 2 Error: (1) color entry background must be defined before this reference Error: (2) color entry foreground must be defined before this reference (0) ! (0) !invalid if case_insensitive (0) value ct_5 : color_table (0) (color_black = 'r', color_blue = 'R'); (0) ! (0) !icon functions (0) ! (0) ! invalid (0) value (0) icon_1 : icon (color_table = ct_1, (0) '....oooo', (0) '.....ooo', (0) '......ooo', 1 Error: (1) row 3 must have same width as row 1 (0) '.......o', (0) '........'); (0) ! valid (0) icon_2 : icon (color_table = ct_1, (0) ''); (0) value icon_3 : xbitmapfile ('gnu.xbm'); (0) ! (0) !font functions and tables (0) ! (0) ! valid (0) ! (0) value isolatin6 : font ('isolatin6'); (0) value helvetica50 : font ('helvetica50'); (0) ! invalid due to use of unknown value caramba (0) fonttable1 : font_table (0) (iso_latin6=isolatin6, (0) iso_latin7=caramba); 1 2 Error: (1) font entry caramba must be defined before this reference Error: (1) found any value when expecting font value Error: (2) found ** error ** value when expecting string value (0) ! (0) !string tables (0) ! (0) ! valid example from documentation (0) object file_privileges : (0) XmList (0) { arguments (0) { XmNitems = string_table ('owner read', (0) 'owner write', (0) 'group read', (0) 'group write', (0) 'other read', (0) 'other write'); (0) }; (0) }; (0) ! invalid (0) value sticky_dessert : compound_string (#iso_greek"baklava"); (0) object dessert_tray : (0) XmList (0) { arguments (0) { XmNitems = string_table ( sticky_dessert, (0) 'wrong punctuation, 1 Error: (1) character string not terminated before end of line (0) 'cheesecake'); (0) }; (0) }; (0) ! (0) !translation tables (0) ! (0) ! valid from doc with mods (0) object new_translations : (0) XmPushButton (0) { (0) arguments (0) { XmNtranslations = translation_table (0) ( (0) ': XmPBArm()', (0) ' : XmPBActivate()', (0) ' : XmPBDisarm()' (0) ); (0) }; (0) }; (0) ! (0) !more compound string tests (0) ! (0) ! valid tests (0) value bizz1 : 'zoo'; (0) bizz2 : 'keeper'; (0) bizz3 : bizz1 & bizz2; (0) bizz4 : #iso_greek"salt"; (0) bizz5 : compound_string (#iso_latin6"lick"); (0) bizz6 : bizz4 & bizz5; (0) bizz7 : bizz1 & bizz4; (0) bizz8 : compound_string (#iso_arabic"retaw\n"); (0) bizz9 : bizz4 & bizz8; (0) bizz10 : #iso_latin8_lr"peter"; (0) bizz11 : bizz4 & bizz10; (0) bizz12 : bizz10 & bizz8; (0) ! the following definition will issue an error (0) ! because bizz13 is subsequently referenced (in defining foop1) (0) bizz13 : exported compound_string (#iso_greek"secret"); 1 Error: (1) value used in this context must be private (0) bizz14 : 'bearer'; (0) value (0) foop1 : bizz13 & bizz9; (0) ! (0) ! invalid test (0) !not a legal character set (0) foop3 : compound_string(#notacharset"works"); 1 Error: (1) unexpected NAME token seen - parsing resumes after ";" (0) ! (0) ! BEGIN MOTIF ERRORS TESTS (0) ! (0) ! (0) ! Invalid Motif resources test (0) ! (0) object myWidget: XmPushButton (0) { arguments { XmNbogusResource1 = 1; 1 Error: (1) value XmNbogusResource1 was never defined (0) XmNbogusResource2 = 'string'; 1 Error: (1) value XmNbogusResource2 was never defined (0) XmNbogusResource3 = compound_string ('why'); 1 Error: (1) value XmNbogusResource3 was never defined (0) XmNbogusResource4 = (6 * 5); 1 Error: (1) value XmNbogusResource4 was never defined (0) }; (0) controls { XmBogusWidget bogusWidget; 1 Error: (1) unexpected NAME token seen - parsing resumes after ";" (0) }; (0) }; (0) ! (0) ! circular dependency in Form children (0) ! (0) object Form1: XmForm (0) { controls { XmPushButton button1; (0) XmLabelGadget label1; (0) }; (0) }; (0) object button1: XmPushButton (0) { arguments { XmNrightAttachment = XmATTACH_WIDGET; (0) XmNrightWidget = label1; (0) }; (0) }; (0) object label1: XmLabelGadget (0) { arguments { XmNleftAttachment = XmATTACH_WIDGET; (0) XmNleftWidget = button1; (0) }; (0) }; (0) ! PIR 2831, defining class names (0) value cb_class_name : class_rec_name ('XmCascadeButtonGadget'); (0) object (0) row_column_1 : XmRowColumn { (0) arguments { XmNentryClass = cb_class_name; (0) }; (0) }; (0) row_column_2 : XmRowColumn { (0) arguments { (0) XmNentryClass = class_rec_name ('XmTextWidget'); (0) }; (0) }; (0) ! PIR 2847, a hitherto-undocumented legal syntax (0) object foofoo : XmForm { (0) controls { (0) mybutton: XmPushButton { (0) arguments { (0) XmNlabelString = (0) compound_string ('hello'); (0) }; (0) }; (0) }; (0) }; (0) !test for PIR 4329 (0) value (0) chan_foo: argument('chan_foo', FLOAT); 1 Error: (1) unexpected NAME token seen - parsing resumes after ";" (0) procedure (0) chantestcreate; (0) object (0) chantest : (0) user_defined procedure chantestcreate { (0) arguments { (0) chan_foo = 100.0; 1 Error: (1) value chan_foo was never defined (0) XmNx = 5; (0) XmNy = 10; (0) }; (0) }; (0) end module; Severe: (0) compilation terminated - fix previous errors File (0) validator.uil