On 20 Sep 2017, at 16:22, Nicolas Anquetil
<nicolas.anquetil(a)inria.fr> wrote:
great job gustavo
not directly related but couldn't we switch to ston/json as a serialization format ?
that would allow us to interact more easily with other languages/platforms
nicolas
On 19/09/2017 21:18, Stéphane Ducasse wrote:
This is cool we should submit it also to the
Smaccers
On 19 Sep 2017, at 15:37, Gustavo Santos
<gugajansen(a)gmail.com <mailto:gugajansen@gmail.com>> wrote:
Hi all,
I don't know if someone already did this but I was working with SmaCC from scratch
so I did a very simple parser for MSE files. It parses all right with a Java model
although I need to check and specialize the grammar for what I intend to do.
Cheers,
----
%start Model ;
%left <close>;
%glr;
<whitespace> : \s+ ;
<eol> : \r | \n | \r\n ;
<letter> : [a-zA-Z_] ;
<digit> : [0-9] ;
<integer> : \-? <digit>+ ;
<number> : \-? <digit>+ ( \. <digit>+ ) ? ( [eE] ( \- | \+ ) ?
<digit>+ ) ? ;
<string> : \' [^\']* \' (\' [^\']* \')* ;
<boolean> : true | false ;
<open> : \( ;
<close> : \) ;
<simpleName> : <letter> ( <letter> | <digit> ) * ;
<qualifiedName> : <letter> ( <letter> | <digit> ) * ( \.
<letter> ( <letter> | <digit> ) * ) * ;
Model : <open> ElementNodes <close> ;
ElementNodes : ElementNode | ElementNode ElementNodes ;
ElementNode : <open> Name Identifier AttributeNodes <close> ;
Identifier : <open> IdentifierToken Integer <close> ;
IdentifierToken : "id:" 'refToken';
AttributeNodes : | AttributeNode AttributeNodes ;
AttributeNode : <open> SimpleName ValueNodes <close> ;
ValueNodes : ValueNode | ValueNode ValueNodes ;
ValueNode : Primitive | Reference ;
Primitive : String | Integer | Number | Boolean ;
Reference : IntegerReference | NameReference ;
IntegerReference : <open> ReferenceToken Integer <close>;
NameReference : <open> ReferenceToken QualifiedName <close>;
ReferenceToken : "ref:" 'refToken';
Integer : <integer> 'integer';
Number : <number> 'number' ;
String: <string> 'string';
Boolean: <boolean> 'boolean';
Name : SimpleName | QualifiedName ;
SimpleName : <simpleName> 'simpleName';
QualifiedName : <qualifiedName> 'qualifiedName';
--
Gustavo Santos
http://gustavojss.github.io/ <http://gustavojss.github.io/>
_______________________________________________
Moose-dev mailing list
Moose-dev(a)list.inf.unibe.ch <mailto:Moose-dev@list.inf.unibe.ch>
https://www.list.inf.unibe.ch/listinfo/moose-dev
<https://www.list.inf.unibe.ch/listinfo/moose-dev>
--------------------------------------------
Stéphane Ducasse
http://stephane.ducasse.free.fr <http://stephane.ducasse.free.fr/>
http://www.synectique.eu <http://www.synectique.eu/> /
http://www.pharo.org
<http://www.pharo.org/>
03 59 35 87 52
Assistant: Julie Jonas
FAX 03 59 57 78 50
TEL 03 59 35 86 16
S. Ducasse - Inria
40, avenue Halley,
Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
Villeneuve d'Ascq 59650
France
_______________________________________________
Moose-dev mailing list
Moose-dev(a)list.inf.unibe.ch <mailto:Moose-dev@list.inf.unibe.ch>
https://www.list.inf.unibe.ch/listinfo/moose-dev
<https://www.list.inf.unibe.ch/listinfo/moose-dev>
--
Nicolas Anquetil -- MCF (HDR)
Project-Team RMod
_______________________________________________
Moose-dev mailing list
Moose-dev(a)list.inf.unibe.ch