Status: New
Owner: ----
CC: anquetil...(a)gmail.com
Labels: Type-Defect Priority-Medium Component-VerveineJ
New issue 603 by tudor.gi...(a)gmail.com: VerveineJ should export relative
paths
http://code.google.com/p/moose-technology/issues/detail?id=603
Currently, VerveineJ exports the FileAnchors with full path. It should
export it with the path relative to the input folder.
Status: New
Owner: ----
Labels: Type-Defect Priority-Medium
New issue 588 by alexandr...(a)gmail.com: Commands, Easel and ViewRenderer
http://code.google.com/p/moose-technology/issues/detail?id=588
The following tests is yellow:
testCommandsInEaselAndViewRenderer
| view easel |
view := MOViewRenderer new.
easel := MOEasel new.
self assert: view userCommands size = easel userCommands
I need to work on it
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
expressions.
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.
Ross Boylan
Status: New
Owner: ----
Labels: Type-Defect Priority-Medium
New issue 586 by cy.delau...(a)gmail.com: Compute invocation candidates with
different strategies seems to be broken
http://code.google.com/p/moose-technology/issues/detail?id=586
When you try to import a smalltalk model and select a another strategy than
the default one, you get some errors
Hi all,
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:
Gofer new
squeaksource: 'PetitSQLParser';
package: 'ConfigurationOfPetitSQLParser';
load.
(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.
Cheers,
Fabrizio
Status: New
Owner: ----
CC: georgega...(a)gmail.com
Labels: Type-Defect Priority-Medium Component-ExternalTools
New issue 533 by tudor.gi...(a)gmail.com: inFusion should export the receiver
of invocation
http://code.google.com/p/moose-technology/issues/detail?id=533
The receiver should point to a named entity.
(FAMIX.Invocation
...
(receiver (ref:12))
)
Hi guys. Since several months, I wanted to create a little browser for
learning VM and related stuff. I never did anything because I was lazy. Last
week, I took Glamour and without knowing almost anything about it, in less
than 3 hours (that includes everything, downloading the image, browsing
examples, searching for something similar to what I need, and code the
browsers I needed) , I come up with what I want to share with you.
Basically, I only have the browsers for the moment. My knowledge is very
limited in the Slang to C translator, or machine code simulation. However,
the "real VM hackers" will try to provide me such functionalities.
Having said that, there are 3 browsers:
1) VMBrowserSlang: shows only packages and classes which are written in
slang. When you select a method, you have 2 panels: smalltalk code and C
translated code.
Screenshot: http://img857.imageshack.us/i/vmbrowserslang.png/
2) VMBrowserMethods: shows all packages and classes of the system and for
every method, you have 3 panels: smalltalk code, bytecodes and machine code
(using the simple mapping)
Screenshot: http://img862.imageshack.us/i/vmbrowsermethods.png/
3) VMBrowserMappings: this is for you Eliot!! Basically, it shows all
packages and classes of the system and for every method, you have 5 panels:
smalltalk code and one panel per strategy to map to machine code (simple
cogit, sista, etc).
Screenshot: http://img4.imageshack.us/f/vmbrowsermappings.png/
As you can see the idea is to see the different stages of our code at the
same time: smalltalk code, bytecodes, machine code, etc. The idea is to
easily learn.
Now...the questions:
1) how can I put a title to the browsers ? In this case, they all are
subclasses from GLMGlobalBrowserTemplate.
2) Is there a way to easily "close" and auto-adjust subpanes? For example,
look this screenshot: http://img4.imageshack.us/f/vmbrowsermappings.png/
there are 5 panes that are rendered when a method is selected. I would love
that somehow (which a little X in the tab title, or a checkbox somewhere
with the available panes), one or more of those panes can be automatically
removed (and if added again even better). And when I remove one of them, the
others auto-adjust to ocupy the full container. It is really difficult to
explain by email..
Thanks in advance
--
Mariano
http://marianopeck.wordpress.com
Status: New
Owner: ----
Labels: Type-Defect Priority-Medium Component-Famix Milestone-4.4
New issue 606 by tudor.gi...(a)gmail.com: FAMIXPackage>>methods is wrong
http://code.google.com/p/moose-technology/issues/detail?id=606
in FAMIXPackage, methods only returns the extended methods defined in the
package:
FAMIXPackage>>methods
^ self privateState
cacheAt: #methods
ifAbsentPut: [
childNamedEntities select: [ :child | child isKindOf:
FAMIXBehaviouralEntity ]]
This has a different semantics from the one defined in Namespace:
FAMIXNamespace>>methods
^ self privateState
cacheAt: #methods
ifAbsentPut: [
self classes flatCollect: #methods ]
So. I propose that FAMIXPackage>>methods is changed to extensionMethods and
methods is computed like in Namespace + extensionMethods.
Hey,
i tried to load a project with verveinej.sh and get a
NullPointerException. I only provided the path to the sources as an
argument:
Exception in thread "main" java.lang.NullPointerException
at org.eclipse.jdt.core.dom.MethodBinding.isAnnotationMember(MethodBinding.java:55)
at fr.inria.verveine.extractor.java.VerveineVisitor.methodInvocation(VerveineVisitor.java:554)
at fr.inria.verveine.extractor.java.VerveineVisitor.visit(VerveineVisitor.java:497)
at org.eclipse.jdt.core.dom.MethodInvocation.accept0(MethodInvocation.java:237)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2480)
at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2551)
at org.eclipse.jdt.core.dom.MethodInvocation.accept0(MethodInvocation.java:245)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2480)
at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:2528)
at org.eclipse.jdt.core.dom.VariableDeclarationFragment.accept0(VariableDeclarationFragment.java:225)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2480)
at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2551)
at org.eclipse.jdt.core.dom.VariableDeclarationStatement.accept0(VariableDeclarationStatement.java:273)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2480)
at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2551)
at org.eclipse.jdt.core.dom.Block.accept0(Block.java:136)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2480)
at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:2528)
at org.eclipse.jdt.core.dom.TryStatement.accept0(TryStatement.java:195)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2480)
at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2551)
at org.eclipse.jdt.core.dom.Block.accept0(Block.java:136)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2480)
at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:2528)
Disconnected from the target VM, address: '127.0.0.1:51367', transport: 'socket'
at org.eclipse.jdt.core.dom.MethodDeclaration.accept0(MethodDeclaration.java:504)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2480)
at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2551)
at org.eclipse.jdt.core.dom.TypeDeclaration.accept0(TypeDeclaration.java:484)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2480)
at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2551)
at org.eclipse.jdt.core.dom.CompilationUnit.accept0(CompilationUnit.java:219)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2480)
at fr.inria.verveine.extractor.java.FamixRequestor.acceptAST(FamixRequestor.java:31)
at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:1016)
at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:628)
at org.eclipse.jdt.core.dom.ASTParser.createASTs(ASTParser.java:982)
at fr.inria.verveine.extractor.java.VerveineJParser.parse(VerveineJParser.java:169)
at fr.inria.verveine.extractor.java.VerveineJParser.main(VerveineJParser.java:153)
This is the MethodBinding where i get the NullPointer:
• this = {org.eclipse.jdt.core.dom.MethodBinding@1077}"public
java.lang.String getName() "
• binding = {org.eclipse.jdt.internal.compiler.lookup.ParameterizedMethodBinding@1808}"public
java.lang.String getName() "
• resolver = {org.eclipse.jdt.core.dom.DefaultBindingResolver@1809}
• parameterTypes = null
• exceptionTypes = null
• name = null
• declaringClass = null
• returnType = null
• key = null
• typeParameters = null
• typeArguments = null
• annotations = null
• parameterAnnotations = null
Did anybody have similar problems?
Cheers
Matt
Hi all,
i try several meta-models available here with the MSE format:
http://www.emn.fr/z-info/atlanmod/index.php/AtlanticFM3
This is very nice to be able to load them in MOOSE!
Some of them like ACME 1.2:
http://gforge.inria.fr/scm/viewvc.php/*checkout*/AtlanticFM3/ACME.mse?root=…
are in fact non-valid MSE files and could not be loaded in MOOSE,
because they used multi-inheritance and FM3 meta-model define only
single inheritance between classes. There is also others problems of
conformance to MSE with some files but i didn't have too much time to
investigate.
Regards,
--
Serge Stinckwich
UMI UMMISCO 209 (IRD/UPMC), Hanoi, Vietnam
Every DSL ends up being Smalltalk
http://doesnotunderstand.org/