Comment #1 on issue 396 by alexandre.bergel: Mondrian should provide teh
start and end nodes in the edge action
I started to work on this (testHandlerOnEdge). However, I am unsure for few
view interaction on: MOMouseDown do: [ :v | ... ]
What v is supposed to be? The announcement or the value on which one has
It has to be the value I believe. However, it may brake already existing
code. We could leave it like this, and introduce on:withValueDo:
What do you think?
Labels: Type-Defect Priority-Medium
New issue 489 by jfabry: Glamour: action list without the dropdown
I have a Glamour pane that is an actionList where I do 5
populate:on:entitled:with: so that the pane has 5 buttons. Now what happens
is that the pane also has a dropdown menu, with the same actions as the
buttons. This menu should not be there according to Doru ...
With nicolas we started to have a look at the eclipse-php-parser (provide
with PDT), to export a famix-mse file from a PHP project. We already started
to build an eclipse plugin that does some work:
=> We create an AST for each php file of the project
=> Then we have a visitor on this ast, and we are therfore able to make a
specific action for each kind of node visited
=> For now, we just export some FAMIXNamespace, FAMIXClass, FAMIXMethods.
So what's left is to implement each visit-method to extract informations
for each node visited. For that we will have to know a bit more PHP :) Maybe
the metamodel will have to be extended to take into account some
PHP-specific elements, I don't know.
If you want to have a look, sources are available via svn at:
Vervaine provide the extractor (not yet finished) for Java ans this one for
PHP. Both are using a common mechanism to generate famix entities and
extract them to mse.
I will be on holidays until august and will probably no longer work on it
until august. So if you want to have a look (and have the courage to install
eclipse to read java code:)), have some suggestions, want to implement
something, feel free to participate :)
Some people suggested trying moose for analysis of SAS programs, and I'm
trying to figure out where to start with the meta-modeling.
SAS is not object oriented, though parts of it could be imagined to be.
The main SAS code contains blocks of statements that begin with DATA or
PROC; each block could probably be thought of as a function--to be
precise, the application of a function.
If I want to make some new models, where do I start? FM3? FAMIX?
elsewhere? The 4.0 release announcement says FM3 and FAMIX3 are both
implemented in Fame, so maybe start with Fame? I've read some
documentation, but I can't tell.
My inspiration for the project is understanding how some SAS datasets
were produced. I have a system that creates numerous datasets, which
feed into later datasets, etc. This is split at least across a couple
of program files and it's really too complicated to keep in the brain.
If I get ambitious it would also be useful to trace where particular
variables came from, in the sense of both datasets and individual
The only thing resembling a SAS parser I've run into (except for SAS,
which is closed source) is a Perl module, and it looked relatively
primitive. I've been using PetitParser, and at the point I started
thinking about what it would parse results into.
Thanks for any pointers.
i did implement an SQL parser using Petit Parser. I toke the grammar specification from SQLite http://www.sqlite.org/lang.html . The grammar implemented is not complete, for now i did implement "just" the create table statement, it means that you should be able to parse at least a script for create the database.
The code is in squeaksource http://www.squeaksource.com/@09zbthA-fDDfyUNQ/_OIex3aA .
To download it you can evaluate this:
(Smalltalk at: #ConfigurationOfPetitSQLParser) perform: #loadDefault
in the repository there are several packages: the core contains the parser for the grammar.
In the package parser there is a parser that instantiate some draft objects representing relational elements.
In the next future i will start to implement also other statements.
If you start to use it and you have some problem please let me know.
Since some of you are working on remodularizing code, maybe the following may inspire you.
In Mondrian, the tests are badly structured. I actually wrote a large part of them as a way for me to understand the initial version of Mondrian, back in 2007-2008. Most of the tests are contained in the class MOViewRendererTest. They actually contain a lot of duplicated scenario (not really code): I open a canvas, put some nodes and edges, run the layout...
I would like to cut this class into smaller unit tests. Fixture will have to be found for each new unit tests. How to structure them? Along the class hierarchy? Along the features of Mondrian? Along the features commonly used in Mondrian scripts (which is how they are roughly structured)?
I can remodularize my tests and come up with a satisfactory design in a couple of hours. But maybe someone worked on a tool that would help me on this.
Alexandre Bergel http://www.bergel.eu
Comment #9 on issue 16 by cy.delaunay: implicit importer is wrong: an
implicit variable should be attached to a method not a class
after looking a bit more, I think we will have to change also the code
about Invocations, which expect the parent of an ImplicitVariable to be a
I was looking at this license stuff yesterday.
Since verveineJ is based on JDT and JDT uses the EPL (Eclipse Public
License), VerveineJ could be required to use the EPL also ...
"According to article 1(b) of the EPL, additions to the original work
may be licensed independently, including under a commercial license,
provided such additions are "separate modules of software" and do not
constitute a derivative work. Changes and additions which do
constitute a derivative work must be licensed under the same terms and
conditions of the EPL, which includes the requirement to make source
"The EPL is approved by the Open Source Initiative (OSI) and listed as
a "free software license" by the Free Software Foundation (FSF)"
Nicolas Anquetil Univ. Lille1 / INRIA-equipe RMod