[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

concrete syntax problems in arch spec and views



Hello, CASL people.

Since it seems we're not in advance, I post this to both cofi-tools
and cofi-language. My apologies to those of you who get the message twice.

Here are some ambiguities we found in our effort to raise the Cachan
parser to the 0.99 level. This effort is now complete, but not yet
extensively checked.

======================================================================

Whom does the -> sort belongs to ?


          UNIT-SPEC                UNIT-SPEC
             |	      	               |
      +------+-+---+  	               |
      |	       |   |  	               |
     SPEC      |   |  	             SPEC
      |	       |   |  	               |
     ...       |   |  	              ...
      |	       |   |  	               |
   OP-TYPE     |   |  	            OP-TYPE
      |	       |   |  	               |
 +----+----+   | SPEC-NAME    	  +----+----+---+---+
 |	   |   |   |  	          |         |   |   |
op NAME : SORT -> ID	         op NAME : SORT -> SORT

Idem with SORT *...* SORT -> SORT and SPEC *...* SPEC -> SPEC

UNIT-SPEC: axioms x = y * z -> ID
Does this mean (axioms x = y) * z -> ID or (axioms x = y * z) -> ID

etc, etc, etc...

We can't have together ; optionnal, * as a function, * in OP-TYPE and
* in UNIT-SPEC

======================================================================

Every ; introduced in the architectural specifications conflicts with
those already existing (to solve the problem, I had to make all of
them mandatory, including the ones at the end of basic items).

======================================================================


UNIT-DECL: UNIT-NAME : UNIT-SPEC given UNIT_NAME hide ID1, ID2

is this

UNIT-DECL: UNIT-NAME : UNIT-SPEC given (UNIT_NAME hide ID1), ID2
or
UNIT-DECL: UNIT-NAME : UNIT-SPEC given (UNIT_NAME hide ID1, ID2)

======================================================================

consider view V : A -> sort B; C = D

   	         SIG-ITEMS
                    |
	       +-----------+
	       |    	   |
	       |	ISO-DECL
	       |       	   |
	       |      +----+----+
       	       |      |	        |
view V : A -> sort B; C       = D


	      SIG-ITEMS	   SYMB-MAP-ITEMS
		  |  	       	|
	       +--+---+         |
       	       |      |	        |
view V : A -> sort B; C       = D

(there are many variation by putting a formula with a "=" at the end of
a PRED-ITEM in place of C, etc...)

--
Christophe Tronche		tronche@lsv.ens-cachan.fr
Tel: (33) 01 47 40 28 48	Fax: (33) 01 47 40 28 65