Alexander Burger <a...@software-lab.de> writes: Hi Alex,
> You could read and print the data in a "flat" format to some file, e.g.: > > (out "er.flat" > (in "myApp/er.l" > (while (read) (println @)) ) ) > > This gives one top-level expression per line which can be easily > 'regexp'ed. Thats a nice tip, thanks ... not that I understand it, the magic must be in the (println @), right? >> ,----------------------------------- >> | (rel exp (+List +Link) NIL (+Abc)) # why the NIL? >> `----------------------------------- > > Good question. Where did you find this? It is definitely wrong, because > '+List' doesn't take any arguments. > > (rel exp (+List +Link) (+Abc)) I just made it up, should have cared more about the wrong or right. ,------------------------------------------------ | (rel exp (+Class1 +Class2 ...) {xxx} (+Class3)) `------------------------------------------------ My real question was what can happen in the {xxx} part above (just from the point of view of parsing the section with regexp: - {empty} - NIL - sym - (list) sym - ... ? >> ,------------------------------------------ >> | (rel ord (+Dep +Joint) (itm) pos (+Ord)) # why the (itm) ? >> `------------------------------------------ > > The 'itm' goes with the '+Dep' (dependency) class. It means that this > 'ord' relation depends on the 'itm' (item) relation in the same object. > When the 'itm' link is cut off (for example, because the item in that > position is removed), then the whole position will be cut off (become > garbage). I see, but have no idea how to express that in UML - I guess its impossible. So it will probably been shown as a bidirectional association: ,------------------------------------------ | (rel ord (+List +Joint) pos (+Ord)) `------------------------------------------ one-to-many? ,------------------------------------------ | (rel ord (+Joint) pos (+Ord)) `------------------------------------------ one-to-one? >> ,----------------------------------- >> | (rel pos (+List +Bag) # Positions >> | ((+Ref +Link) NIL (+Item)) # Item >> | ((+Number) 2) # Price >> | ((+Number)) # Quantity >> | ((+String)) # Memo text >> | ((+Number) 2) ) # Total amount >> `----------------------------------- I think I'll have to figure out a trick how to deal with bags, way to much effort to get all this info into an UML diagram. BTW, one more question: The vars sometimes specified in the comment beyond a class definition: ,----------------- | (class ... | # var1 var2 var3 | ...) `----------------- can be considered as a kind of 'private instance (or class) variables? -- cheers, Thorsten -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe