Questions on BNF

From: Dave Miller <David.L.Miller_at_.....>
Date: Thu Aug 31 2006 - 20:43:34 PDT
Hi Graham, Hi all,
As I finish up chapter 4 I just have a couple of questions on the BNF. I 
am referring to the file: merged_syntax_constantAnalogExpression.pdf, I 
hope that is the right one. I am sure that some of these are just my own 
misunderstanding between what is a syntax error and what is a semantic 
error.

1. ddx(). In the BNF we now mention explicitly the arguments to the 
analog_filter_functions. But it now allows the second argument of ddx() 
to be a branch_probe_function_call which allows things like: ddx(expr, 
V(a,b)); (before it had to be the flow of a branch or potential of a 
single pin).
Is this intended, should the BNF change, or should I just make the 
restriction in the text of the document (I couldn't figure out how to 
define the BNF to enforce this - I(br1), V(a)).

2. absdelay() is mentioned twice, with the first instance mentioning 
that the second argument (td) should be an analog_constant_expression.
It can be dynamic can't it? Should this rule be just one:
| absdelay ( analog_expression , analog_expression [ , 
analog_constant_expression ] )

3. noise_table has the second argument being an 
analog_constant_concatenation. I am thinking that this should be 
analog_filter_function_concatenation so that I can pass a constant 
concatenation or parameter identifier (which can be my vector of pairs).

4. analog_functions allow the item declaration to be input_declaration, 
output_declaration, inout_declaration. but this then allows things like 
discipline_identifier, net_type, wreal etc.
do you think we should create a unique type just for analog UDFs? So:
analog_function_item_declaration ::=
      analog_block_item_declaration
    | analog_function_input_declaration
    | analog_function_output_declaration
    | analog_function_inout_declaration

analog_function_input_declaration ::=
    *input* [ range ] list_of_variable_identifiers

analog_function_output_declaration ::=
    *output* [ range ] list_of_variable_identifiers

analog_function_inout_declaration ::=
    *inout* [ range ] list_of_variable_identifiers

5. Am I allowed to have constant_analog_function_call? I notice that the 
syntax only allows for constant_function_call. Should we add a 
constant_analog_function_call rule and include it in constant_primary?

Thats all, thanks in advance for your comments.

Cheers...
Dave

-- 
=====================================
-- David Miller
-- Design Technology (Austin)
-- Freescale Semiconductor
-- Ph : 512 996-7377 Fax: x7755
=====================================
Received on Thu Aug 31 20:47:27 2006

This archive was generated by hypermail 2.1.8 : Thu Aug 31 2006 - 20:48:45 PDT