symphonytool / symphony

The Symphony IDE
5 stars 4 forks source link

Interpreter: ACompVarsetExpression case is not yet implemented at null #249

Closed pglvdm closed 10 years ago

pglvdm commented 10 years ago

This happens imediately when one tries to debug the LevelCrossing case study

lausdahl commented 10 years ago

I need a small example of this. @pglvdm

lausdahl commented 10 years ago

@joey-coleman can you help give an example of this.

lausdahl commented 10 years ago

I'm running the LevelCrossing example now and it does not give any error for ASubVOpVarsetExpression but is does for ACompVarsetExpression what is this? does it exist in a similar version in VDM?

joey-coleman commented 10 years ago

ACompVarsetExpression should be generated in a case like:

channels
  a : nat

process Test = begin
@
  a.1 -> Skip [| { a.i | i in set {1,2,3} } |] a.1 -> Skip
end

/* Expected trace: 
   <a.1>
*/

Not all chansets/namesets need the {| |} brackets. The presence of the bars means that the resulting names are prefixes of the whole channel name; the lack of bars means the resulting names must be complete.

lausdahl commented 10 years ago

I need help with the result of: { a.i | i in set {1,2,3} } what set does it generate.

There is an implementation of AFatCompVarsetExpression which must be similar since the node has the same fields. I expect one of them to give a more precise set (fully qualified).

lausdahl commented 10 years ago

I have changed this bug to only consist of the ACompVarsetExpression and opened a new one for ASubVOpVarsetExpression see #261

pglvdm commented 10 years ago

I believe that the result of such an expression is a set of channel names such as "a.1", "a.2" and "a.3".

joey-coleman commented 10 years ago

The "non-Fat" versions must have fully-qualified channel names, whereas the "Fat" versions allow the use of prefixes (and thereby include all completions relative to that prefix).

joey-coleman commented 10 years ago

This is probably related to #280. A proper fix requires a fair bit of internal structure