****************************************************************************** ********************* IBIS GOLDEN PARSER BUG REPORT FORM ********************* ****************************************************************************** INSTRUCTIONS To report a bug in the IBIS golden parser. Please fill out the top part of the following form and send the complete form to ibis-bug@eda.org. A list of reported bugs will be maintained on eda.org. ****************************************************************************** PARSER VERSION NUMBER: IBISCHK6 V6.0.1 PLATFORM (SPARC, HP700, PC, etc.): PC OS AND VERSION: Windows 8.1 REPORTED BY: Mike LaBonte, SiSoft DATE: March 10, 2015 DESCRIPTION OF BUG: The parser is accepting as String type sequences of characters in which double quotes are not strictly at the beginning and end. The first and last sentences of this paragraph from IBIS 6.0 page 187 clarify the permitted uses of double quotes for String: String String is a sequence of ASCII characters enclosed in double quotes ("). As defined in ANSI Standard X3.4 - 1986, the allowable ASCII characters consist of hexadecimal 20, 21, 23 to 7E, and the ASCII control ch aracters 09 (HT), 0A (LF), and 0D (CR) for defining tabs and line termination sequences. The double quote character 22 (") is not allowed inside strings. But checking the AMI file below produces: IBISCHK6 V6.0.1 ... Checking bug159.ami for AMI Version 6.0 Compatibility... E4662 - test2: Default value ("a"b) is not in Format List E4662 - test3: Default value ("d") is not in Format List E4645 - Illegal format for Default for param test4. Expected 1 literal Errors : 3 File Failed In test1 the List items are incorrectly constructed. The first has one quote not at the end and the second has two extra quotes in the middle. But the Default exactly matches a List item, so it passes. This proves that these incorrect constructs pass the parser. In test2 the Default "a"b does not match List item "ab" and the parser flags that. The error message proves that the second quote was parsed as being part of the string, and that an ending quote was not required. The error here is being used only to reveal what was actually parsed. The Default should have been flagged as a malformed String. Like test2, test3 uses an error condition only to reveal what was parsed. Oddly the Default "c""d" was parsed as just "d". Again, the parser should have flagged a malformed Default String. The only difference between test3 and test4 is the space between "c" and "d", which causes the parser to flag an error since the Default must have a single value. This is a proper error message, but it shows that "c""d" and "c" "d" are parsed differently. It proves that Default is indeed checked for multiple values, not obvious in the previous test. The Parser should be udpated to require that all values in a String parameter begin and end with double quotes, and do not contain double quotes within. INSERT IBIS FILE DEMONSTRATING THE BUG: ==== bug159.ami ==== (bug159 ( Reserved_Parameters (AMI_Version (Usage Info)(Type String)(Value "6.0")) (Ignore_Bits (Usage Info) (Type Integer) (Default 2)) (Max_Init_Aggressors (Usage Info) (Type Integer) (Default 25)) (Init_Returns_Impulse (Usage Info) (Type Boolean) (Default True)) (GetWave_Exists (Usage Info) (Type Boolean) (Default True)) ) (Model_Specific (test1 (Usage Info)(Type String) (List "a"b "c""d") (Default "a"b) ) (test2 (Usage Info)(Type String) (List "ab" "cd") (Default "a"b) ) (test3 (Usage Info)(Type String) (List "ab" "cd") (Default "c""d") ) (test4 (Usage Info)(Type String) (List "ab" "cd") (Default "c" "d") ) ) ) ****************************************************************************** ******************** BELOW FOR ADMINISTRATION AND TRACKING ******************* ****************************************************************************** BUG NUMBER: 159 SEVERITY: [FATAL, SEVERE, MODERATE, ANNOYING, ENHANCEMENT] MODERATE PRIORITY: [HIGH, MEDIUM, LOW] HIGH STATUS: [OPEN, CLOSED, WILL NOT FIX, NOT A BUG] CLOSED FIXED VERSION: 6.1.0 FIXED DATE: November 20, 2015 NOTES ON BUG FIX: Classified at the March 20, 2015 IBIS Open Forum teleconference. November 20, 2015: Closed at the IBIS Teleconference Meeting ****************************************************************************** ******************************************************************************