Walter,
This certainly makes logical sense, but I am not a professional parser. 😊 Do
parsers treat “” as being the same as a null surrounded by double-quotes? My
concern is simply that the language is very specific about what is explicitly
included, and there are some variations which are not part of that list but
would make sense to be there.
* MM
From: Walter Katz <wkatz@xxxxxxxxxx>
Sent: Monday, January 06, 2020 11:00 AM
To: Mirmak, Michael <michael.mirmak@xxxxxxxxx>; 'IBIS-ATM'
<ibis-macro@xxxxxxxxxxxxx>
Subject: RE: [ibis-macro] AMI String parameters with empty arguments
MM,
I personally interpret “”, “ “ and “ “ alike as the “blank” field.
Do you see a need to distinguish between “” and “ “?
Walter
Walter Katz
wkatz@xxxxxxxxxx<mailto:wkatz@xxxxxxxxxx>
Office 978.461-0449 x 133
Mobile 720.417-3762
[cid:image001.jpg@01D5C480.F178C720]
From: ibis-macro-bounce@xxxxxxxxxxxxx<mailto:ibis-macro-bounce@xxxxxxxxxxxxx>
<ibis-macro-bounce@xxxxxxxxxxxxx<mailto:ibis-macro-bounce@xxxxxxxxxxxxx>> On
Behalf Of Mirmak, Michael
Sent: Monday, January 6, 2020 1:19 PM
To: IBIS-ATM (ibis-macro@xxxxxxxxxxxxx<mailto:ibis-macro@xxxxxxxxxxxxx>)
<ibis-macro@xxxxxxxxxxxxx<mailto:ibis-macro@xxxxxxxxxxxxx>>
Subject: [ibis-macro] AMI String parameters with empty arguments
The IBIS 7.0 specification for AMI parameters states the following for Type
String:
String
String is a sequence of ASCII characters enclosed in double quote (") characters
(hexadecimal 0x22). As defined in ANSI Standard X3.4-1986, the allowable ASCII
characters consist of hexadecimal 0x20, 0x21, 0x23 to 0x7E, and the ASCII
control
characters 0x09 (HT), 0x0A (LF), and 0x0D (CR) for defining tabs and line
termination
sequences. The double quote (") character (hexadecimal 0x22) is not allowed
inside strings.
The question: is an empty string argument allowed? An example:
(Model_Specific
(String_Exists (Usage Info) (Type String) (List "Good" "Bad"
"Indifferent" "")
(Description "Test for String List"))
) | End Model_Specific
This works in several versions of the parser, including 7.01, but does not
appear to be explicitly authorized by the specification. Empty strings are
prohibited explicitly for several Reserved parameters, such as
Supporting_Files, as well as for Model_Specific branch names. Empty strings
are explicitly allowed by AMI_parameters_in.
I would suggest that an empty string, or the NULL character 0x00, be explicitly
allowed through specification text in the String definition. I can write up a
BIRD if needed.
Am I missing something?
Thanks!
* MM