-- -- Author: Robert C. Shock, Dept of CS & CEG Wright State University -- In cooperation with: WRDC/ELED WPAFB Dayton, OH -- -- source: vhdl_build_.a -- -- OVERVIEW: package vhdl_build -- -- A value function is a function whose name is of this form 'value_< lexical_element >_is'. -- Assume that the first character of the current input ( defined by io.next_character_is ) identifies an lexical element say identifier. -- Then a call to 'value_identifier_is' returns the string value of the identifier and the next input character is the first character following the last character of the identifier. -- Furthermore, a call to 'lexicon_subtype_is' returns the vhdl_lexicon.element_subtype and a call to 'lexical_name_is' returns the name of the lexical item. -- with vhdl_lexicon; package vhdl_build is function value_separator_is return string; -- Effect: accesses and returns only the string value of an lexical element separator -- Assumption: the first character of the input stream is the first character of some separator. -- Note: no mechanism is provided for an assumption violation function value_delimiter_is return string; -- Effect: accesses and returns only the string value of an lexical element delimiter -- Assumption: the first character of the input stream is the first character of some delimiter. -- Note: no mechanism is provided for an assumption violation function value_identifier_is return string; -- Effect: accesses and returns only the string value of an lexical element identifier -- Assumption: the first character of the input stream is the first character of some identifier. -- Note: no mechanism is provided for an assumption violation function value_abstract_literal_is return string; -- Effect: accesses and returns only the string value of an lexical element abstract_literal -- Assumption: the first character of the input stream is the first character of some abstract_literal. -- Note: no mechanism is provided for an assumption violation function value_character_literal_is return string; -- Effect: accesses and returns the string value of an lexical element character_literal -- Assumption: the first character of the input stream is the first character of some character_literal. -- Note: no mechanism is provided for an assumption violation function value_string_literal_is return string; -- Effect: accesses and returns only the string value of an lexical element string_literal -- Assumption: the first character of the input stream is the first character of some string_literal. -- Note: when a matching ( second ) " is not found then one is add to the end of the line, also embeds an error message function value_bit_string_literal_is return string; -- Effect: accesses and returns the string value of an lexical element bit_string_literal -- Assumption: the first character of the input stream is the first character of some bit_string_literal. -- Note: no mechanism is provided for an assumption violation function value_comment_is return string; -- Effect: accesses and returns only the string value of an lexical element comment_literal -- Assumption: the first character of the input stream is the first character of some comment_literal -- Note: no mechanism is provided for an assumption violation -- RETURN TYPE NAMES function lexicon_subtype_is return vhdl_lexicon.element_subtype; -- Effect: returns the vhdl_lexicon.element_subtype of the current defined lexical element function lexical_name_is return vhdl_lexicon.element_name; -- Effect: returns the name of the current defined lexical element end vhdl_build;