EVERYONE wants optional trailing semi-colons and commas in lists.
Rob will attempt.
Optional "is" gets harder
Need to check whether this makes the grammar ambiguous
Generally in favor if it's workable.
"is" should NOT be optional on case statements, subprogram definitions.
Current rule seems to be that if it's a statement, the "is" is required, but if it's a design entity then it's not, but that's empirical and doesn't hold for "component" Currently optional on "block", "process", "component"
Is optional "begin" an option as well? If so how, where, and can it be made consistent?
Use case is grey box verification probing of designs under test. Ryan raises the issue of old code that is not modifyable by policy, and the advantage of being able to get into it.
Tristan's last comment is a key problem; what happens with atomicity? Especially if you've got multiple CPU cores doing true simultaneous execution of processes.
Atomicity can be worked around by making the inspection process timing "inherantly safe" w.r.t. the sourcing process.
Breaks the fundamental determinicity of VHDL simulation. Could have the environment declare a runtime error if the inspected variable changes in the same delta cycle.
How big a performance hit would adding these checks be?
Seems to require various flags be set on a process once that process is noted as having an external variable reference pointed at it.