Hi Dmitry: I have retrieved the current syntax leading to the keyword "property" out a few levels. Comparing this to the structure of tf_port_list, I think it is pretty convincing that there will be no syntactic ambiguity in adding "property" as a type in port lists. One could carry out the same exercise with "sequence" and "event". J.H. Keyword "property": ------------------- The following are the only productions in which the terminal property appears: assert_property_statement::= assert property ( property_spec ) action_block assume_property_statement::= assume property ( property_spec ) ; cover_property_statement::= cover property ( property_spec ) statement_or_null property_declaration ::= property property_identifier [ ( [ tf_port_list ] ) ] ; { assertion_variable_declaration } property_spec ; endproperty [ : property_identifier ] The following is the only production in which any of the nonterminals assert_property_declaration, assume_property_declaration, or cover_property_declaration appears on the RHS: concurrent_assertion_statement ::= assert_property_statement | assume_property_statement | cover_property_statement The following is the only production in which the nonterminal concurrent_assertion_statement appears on the RHS: concurrent_assertion_item ::= [ block_identifier : ] concurrent_assertion_statement The following is the only production in which the nonterminal property_declaration appears on the RHS: concurrent_assertion_item_declaration ::= property_declaration | sequence_declaration The following are the only productions in which the nonterminal conncurrent_assertion_item appears on the RHS: module_common_item ::= module_or_generate_item_declaration | interface_instantiation | program_instantiation | concurrent_assertion_item | bind_directive | continuous_assign | net_alias | initial_construct | final_construct | always_construct | loop_generate_construct | conditional_generate_construct non_port_program_item ::= { attribute_instance } continuous_assign | { attribute_instance } module_or_generate_item_declaration | { attribute_instance } initial_construct | { attribute_instance } final_construct | { attribute_instance } concurrent_assertion_item | { attribute_instance } timeunits_declaration17 | program_generate_item The following are the only productions in which the nonterminal conncurrent_assertion_item_declaration appears on the RHS: package_or_generate_item_declaration ::= net_declaration | data_declaration | task_declaration | function_declaration | dpi_import_export | extern_constraint_declaration | class_declaration | class_constructor_declaration | parameter_declaration ; | local_parameter_declaration | covergroup_declaration | overload_declaration | concurrent_assertion_item_declaration | ; clocking_item ::= default default_skew ; | clocking_direction list_of_clocking_decl_assign ; | { attribute_instance } concurrent_assertion_item_declaration -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.Received on Wed Jan 10 06:43:06 2007
This archive was generated by hypermail 2.1.8 : Wed Jan 10 2007 - 06:43:37 PST