-- -- Author: Robert C. Shock, Dept of CS & CEG Wright State University -- In cooperation with: WRDC/ELED WPAFB Dayton, OH -- -- Objective: to summarize the specifications of the vhdl tool set USER GUIDE TO THE VHDL STYLE TOOL SET Sections: 1 SUMMARY 2 CONSTRAINTS -- for more detail see help.guide 1 SUMMARY -- Summary: letter tools and specifications -- LEXICAL UNIT (tool name => ) vletter vlower vupper reserved_word lower_case lower_case lower_case non_reserved_word mix_case lower_case upper_case literal_abstract_decimal upper_case lower_case upper_case literal_abstract_based upper_case lower_case upper_case literal_bit_string upper_case lower_case upper_case comment unchanged unchanged unchanged literal_character unchanged unchanged unchanged literal_string unchanged unchanged unchanged effectors unchanged unchanged unchanged -- Summary: shape tools and specifications -- Specification (tool name =>) vshape vshape94 the_column_width 80 94 the_indent_margin 48 48 the_tab_set 3 3 the_wrap_indent_length 1 1 the_comment_ragged_indent 14 14 the_comment_wrap_string "-- " "-- " -- Summary: scroll tools and specifications -- Specification (tool name =>) vscroll vsun vscroll22 the_column_width 80 94 80 the_indent_margin 48 48 48 the_tab_set 3 3 3 the_wrap_indent_length 1 1 1 the_comment_ragged_indent 14 14 14 the_comment_wrap_string "-- " "-- " "-- " rows per screen 23 33 22 the prompt string "" ">>" " < return >" -- Summary: type tools and specifications -- LEXICAL UNIT vtype vtype_italics vlw * reserved_word bold italics bold non_reserved_word roman roman roman literal_abstract_decimal italics italics italics literal_abstract_based italics italics italics literal_bit_string italics italics italics literal_character italics italics italics literal_string roman bold roman comment italics italics italics delimiter.single roman roman roman delimiter.double roman roman roman * vlw: shape specification is: 94 the_column_width 48 the_indent_margin 3 the_tab_set 1 the_wrap_indent_length 14 the_comment_ragged_indent "-- " the_comment_wrap_string -- SUMMARY OF "SET" TOOLS -- The set tools are: vletter_set_style, vshape_set_style, vscroll_set_style, vtype_set_style These set tools allows the programmer to design his own format style by defining the desired style specification on a text file. The example below illustrates how to define one's desired specification. USER FORMAT FOR LETTER SPECIFICATION ON A TEXT FILE: ( 6 lines ) lower_case -- identifier_reserved -to- lower_case, mix_case -- identifier_not_reserved -to- mix_case, upper_case -- literal_abstract_decimal -to- upper_case, upper_case -- literal_abstract_based -to- upper_case, upper_case -- literal_bit_string -to- upper_case, upper_case -- literal_comment -to- upper_case, Example: for vhdl source file f1.vhdl, f2.vhdl, f3 require reserved words to be upper case, non-reserved words to be mix case, comments to be upper case, bit strings to lower case and all other lexical units to be unchanged. Edit a text file, say letter.spec, to have exactly 6 lines and to have the value of the first string on each line to have one of these values: lower_case upper_case mix_case unchanged_case upper_case -- reserved words: only the first string 'upper_case' will be read mix_case -- non-reserved words unchanged_case -- abstract_decimal unchanged_case -- abstract_based numeric lower_case -- bit string upper_case -- comment --/// call /// -- > vletter_set_style letter.spec f1.vhdl f2.vhdl f3 USER FORMAT FOR SHAPE SPECIFICATION ON A TEXT FILE: ( 6 lines ) ** To design a shape specification use the tool 'set_shape_style' and edit a text file having the order of values defined below. This procedure follows that of the previous example and can be used in other style designs. 80 -- column width 48 -- indent margin maximum 3 -- tab set 1 -- wrap indent length 14 -- comment right adjust length --&& -- comment wrap string: constraint exactly the first 4 characters USER FORMAT FOR SCROLL SPECIFICATION ON A TEXT FILE: ( 8 lines ) 80 -- column width 48 -- indent margin maximum 3 -- tab set 1 -- wrap indent length 14 -- comment right adjust length -- -- comment wrap string: constraint exactly the first 4 characters 22 -- rows per screen and the prompt string to continue is on the next line < strike ret > ** Note the entire line 8 is read by the program. USER FORMAT FOR TYPE SPECIFICATION ON A TEXT FILE: ( 10 lines ) bold -- identifier_reserved roman -- identifier_not_reserved italics -- abstract_decimal italics -- abstract_based italics -- bit_string italics -- literal_character roman -- literal_string italics -- literal_comment roman -- delimiter_single roman -- delimiter_double -------------------------------------------------------------------------------- 2 CONSTRAINTS 2.1 Line length: there is no restriction on the length of a line. 2.2 Compilation: if a file vhdl compiles then its output from each tool compiles. 2.3 Robustness: occurs when the first character is incorrect in syntax or when a matching quotation character is missing example file1: bc %7 end string " no matching parenthesis > vlower file1 file1: bc --* %7 end string " no matching parenthesis -- E R R O R" 2.4 Read only tool: ( scroll tools ) vscroll vscroll22 vsun vscroll_set_style ( type tools ) vlw vtype vtype_italics vtype_set_style ( help tools ) vhdl_tools help_vhdl_tools vhdl_user_guide * The above tools do not alter the input source code Read-Write tools: ( letter tools ) vletter vlower vupper vletter_set_style ( shape tools ) vshape vshape94 vshape_set_style * The above tools alter the input source code example vletter file1 file2 The original letter style of file1 and file2 are replaced by the letter specification defined in vletter. Consequently, to save the original letter style of a file, the file must be copied to another file.