[vhdl-200x] Bugzilla 288: Bit string literals not correctly defined

From: Daniel Kho <daniel.kho@gmail.com>
Date: Wed Nov 06 2013 - 23:54:30 PST
Hi all,
I tend to agree with the submitter that this could be an oversight on our
part.


##### Definitions: #####

A bit string literal is defined as
    bit_string_literal ::= [integer] base_specifier " [bit_value] "

And a bit value as
    bit_value ::= graphic_character { [underline] graphic_character }

A graphic character is further defined as follows:
    graphic_character ::=
        basic_graphic_character | lower_case_letter |
other_special_character

    basic_graphic_character ::=
        upper_case_letter | digit | special_character | space_character

##### end definitions #####

I believe this issue is specifically requesting that more attention be paid
to proper handling of special_characters, other_special_characters, and
space characters, as I don't see a problem with having the other sub-fields
(uppercase letters, lowercase letters, and digits) included directly in a
bit string literal.

Is there going to be a problem including space characters (SPACE and NBSP)?
My view is we should either ignore spaces (treat them like underlines), or
issue an error.

Special characters are defined as:
Special characters
" # & ' () * + , - . / : ; < = > ? @ [ ] _ ` |

Other special characters
! $ % \ ^ { } ~ ¡ ¢ £ ¤ ¥ ¦ §  ̈ © a « ¬ ®  ̄ ° ± 2 3  ́ μ ¶ ·  ̧ 1 o » 1⁄4
1⁄2 3⁄4 ¿ × ÷ - (soft hyphen)


Other than the double-quote character (") and the underline character
(which is already properly specified), I think there should be no problems
directly including all these special characters as part of a bit string
literal?

For the treatment of the double-quote, as was suggested by the submitter,
we could require that two consecutive double-quotes be written if a
double-quote character was to be inserted as part of the bit string
literal. The string literal (Section 15.7) already requires this.

Perhaps we should duplicate this requirement for the bit string literal
section as well. That is, have the following included for Section 15.8 as
well:

"A string literal has a value that is a sequence of character values
corresponding to the graphic characters of the string literal apart from
the quotation mark itself. If a quotation mark value is to be represented
in the sequence of character values, then a pair of adjacent quotation
marks shall be written at the corresponding place within the string
literal. (This means that a string literal that includes two adjacent
quotation marks is never interpreted as two adjacent string literals.)"

regards, daniel

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Wed Nov 6 23:55:08 2013

This archive was generated by hypermail 2.1.8 : Wed Nov 06 2013 - 23:55:38 PST