[ibis-macro] Re: AMI String parameters with empty arguments

  • From: "Mirmak, Michael" <michael.mirmak@xxxxxxxxx>
  • To: Walter Katz <wkatz@xxxxxxxxxx>, 'IBIS-ATM' <ibis-macro@xxxxxxxxxxxxx>
  • Date: Mon, 6 Jan 2020 19:03:50 +0000

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

JPEG image

Other related posts: