-------------BEGINNING OF IR---------------- VHDL Issue Number: 2059 Language_Version VHDL-2002 Classification Language Definition Problem Summary Upper/lower case character mapping is not clear Relevant_LRM_Sections 13.1 Character set 13.3.1 Basic identifiers Related_Issues Key_Words_and_Phrases Authors_Name James Unterburger Authors_Phone_Number 503-685-0860 Authors_Fax_Number Authors_Email_Address jamesu@model.com Authors_Affiliation Model Technology Inc. Authors_Address1 Authors_Address2 Authors_Address3 Current Status: VASG-Approved Superseded By: ------------------------ Date Submitted: 25 January 2005 Date Analyzed: 7 February 2005 Author of Analysis: Peter Ashenden Revision Number: 4 Date Last Revised: 11 November 2005 Description of Problem ---------------------- The descriptions of upper_case_letter and lower_case_letter list out the graphic character members of each set. As basic identifiers are made up of these characters (among others), and since "[b]asic identifiers differing only in the use of corresponding uppercase and lowercase letters are considered the same", an indication of what "corresponding uppercase and lowercase letters" means would be helpful. Proposed Resolution ------------------- The ISO8859-1 might have this information, but it would be helpful to repeat this information in the VHDL LRM. VASG-ISAC Analysis & Rationale ------------------------------ The submitter is correct that the LRM assumes a correspondence between uppercase and lowercase letters. Unfortunately, neither ISO/IEC 8859-1 (the Latin-1 standard) nor ISO/IEC 10646-1 (the multi-byte character standard) explicitly give a mapping between upper- and lowercase letters. 10646 does imply a mapping, by virtue of the words "capital" and "small" in forming the names for characters, but this is not normative. 10646 is based on the Unicode standard (www.unicode.org), which explicitly defines case properties and case mapping for characters. However, the Unicode Consortium is not an accredited standards development organization, so it would be inappropriate to reference its specification in the LRM. The most straightforward thing to do would be to explicitly define the case correspondence in 1076. This could be done in terms of a mapping of position numbers, but the clearest specification would be an explicit table of correspondences. VASG-ISAC Recommendation for IEEE Std 1076-2002 ----------------------------------------------- Assume the correspondence specified below for future revisions. VASG-ISAC Recommendation for Future Revisions --------------------------------------------- In 13.1, after list item f), insert the following: For each uppercase letter there is a corresponding lowercase letter; and for each lowercase letter except ÿ and ß, there is a corresponding uppercase letter. The pairs of corresponding uppercase and lowercase letters are: A a B b C c D d E e F f G g H h I i J i K k L l M m N n O o P p Q q R r S s T t U u V v W w X x Y y Z z À à Á á Â â Ã ã Ä ä Å å Æ æ Ç ç È è É é Ê ê Ë ë Ì ì Í í Î î Ï ï Ð ð Ñ ñ Ò ò Ó ó Ô ô Õ õ Ö ö Ø ø Ù ù Ú ú Û û Ü ü Ý ý Þ þ -------------END OF IR----------------