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
This is cool we should submit it also to the Smaccers
On 19 Sep 2017, at 15:37, Gustavo Santos <gugajansen@gmail.com> wrote:
Hi all,_______________________________________________
I don't know if someone already did this but I was working with SmaCC from scratchso I did a very simple parser for MSE files. It parses all right with a Java modelalthough 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
Moose-dev mailing list
Moose-dev@list.inf.unibe.ch
https://www.list.inf.unibe.ch/listinfo/moose-dev
--------------------------------------------Stéphane Ducasse03 59 35 87 52Assistant: Julie JonasFAX 03 59 57 78 50TEL 03 59 35 86 16S. Ducasse - Inria40, avenue Halley,Parc Scientifique de la Haute Borne, Bât.A, Park PlazaVilleneuve d'Ascq 59650France
_______________________________________________ Moose-dev mailing list Moose-dev@list.inf.unibe.ch https://www.list.inf.unibe.ch/listinfo/moose-dev
-- Nicolas Anquetil -- MCF (HDR) Project-Team RMod