In reply to Ian.L.Kennedy:
BNF defines the syntax rules of the language. For example, the BNF grammar rules determines whether the symbol ‘<=’ represents a non-blocking assignment operator or a less-than or equal relational operator. Once you know which operator you have, the LRM describes the behavior of each operator.
The BNF rules for the dot ‘.’ operator are complex. Just remember that a parameter cannot be assigned with an expression containing hierarchical references.