[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