Skip to content
Snippets Groups Projects
Commit 87387170 authored by Sophie Coudert's avatar Sophie Coudert
Browse files

Lexeme inventory...

parent 54d7c022
No related branches found
No related tags found
4 merge requests!504merge first stable version of Avatar-SysML V2,!503merge the first stable version of the Avatar-SysML parser/generator,!501Avatar sys ml 04 2024,!498Avatar sys ml 04 2024 (first merge request, only for verification)
......@@ -209,10 +209,10 @@ public class AvatarFromSysMLSyntax {
public int getNbMethods() { return methods.size(); }
public int getNbSignals() { return signals.size(); }
public int getNbTimerss() { return timers.size(); }
public StxAttribute getNbAttribute(int i) { return attributes.get(i); }
public StxMethod getNbMethod(int i) { return methods.get(i); }
public StxSignal getNbSignal(int i) { return signals.get(i); }
public StxTimer getNbTimers(int i) { return timers.get(i); }
public StxAttribute getAttribute(int i) { return attributes.get(i); }
public StxMethod getMethod(int i) { return methods.get(i); }
public StxSignal getSignal(int i) { return signals.get(i); }
public StxTimer getTimers(int i) { return timers.get(i); }
}
public class StxRelation extends StxElement {
ArrayList<StxChannel> channels;
......@@ -246,7 +246,6 @@ public class AvatarFromSysMLSyntax {
public boolean getAsynchronous(boolean _b) { return asynchronous = _b; }
public int getSize() { return channels.size(); }
public StxChannel getChannel(int i) { return channels.get(i); }
}
public class StxChannel extends StxElement {
private String relation;
......
......@@ -3,54 +3,54 @@ package avatartranslator.fromsml;
import java_cup.runtime.*;
parser code {:
interface Ident {
public String getSysMLname();
public String getAvatarName();
}
class UniIdent implements Ident {
private String sysMLname;
public UniIdent(String _sysMLname){ sysMLname = _sysMLname; }
public String getSysMLname(){ return sysMLname; }
public String getAvatarName(){ return sysMLname; }
}
class BiIdent implements Ident {
private String avatarName;
private String sysMLname;
public BiIdent(String _sysMLname, String _avatarName){
sysMLname = _sysMLname;
avatarName = _avatarName;
}
public String getSysMLname(){ return sysMLname; }
public String getAvatarName(){ return avatarName; }
}
public BiIdent identFromDATATYPENAME(String _ident){
return new BiIdent(_ident.substring(1,_ident.length - 2), _ident.substring(5,_ident.length - 2));
}
public BiIdent identFromATTRIBUTENAME(String _ident){
return new BiIdent(_ident.substring(1,_ident.length - 2), _ident.substring(2,_ident.length - 2));
}
public BiIdent identFromSIGNALNAMENAME(String _ident){
return new BiIdent(_ident.substring(1,_ident.length - 2), _ident.substring(6,_ident.length - 2));
}
public BiIdent identFromSTANDARDSTATENAME(String _ident){
return new BiIdent(_ident.substring(1,_ident.length - 2), _ident.substring(14,_ident.length - 2));
}
public BiIdent identFromBLOCKNAME(String _ident){
return new BiIdent(_ident.substring(1,_ident.length - 2), _ident.substring(6,_ident.length - 2));
}
public UniIdent identFromString(String _ident){
return new UniIdent(_ident.substring(1,_ident.length - 2));
}
:}
/* Terminals (tokens returned by the scanner). */
terminal LB, RB;
terminal Ident DATATYPENAME, BLOCKNAME, ATTRIBUTENAME, RELATIONNAME, CHANNELPRENAME, SIGNALNAMENAME, CHANNELNAME, MESSAGENAME, STANDARDSTATENAME, STARTSTATENAME, STOPSTATENAME, RANDOMSTATENAME, COUNTSTATENAME, SENDSTATENAME, RECEIVESTATENAME, PRESENDSTATENAME, PRERECEIVESTATENAME, SETTIMERSTATENAME, RESETTIMERSTATENAME, EXPIRETIMERSTATENAME, PRESETTIMERSTATENAME, PRERESETTIMERSTATENAME, PREEXPIRETIMERSTATENAME, TIMERBLOCKNAME, TIMERRELATIONNAME, SETTIMERCHANNELNAME, RESETTIMERCHANNELNAME, EXPIRETIMERCHANNELNAME, AVATARNAME;
terminal Int INT;
terminal EQ, TRUE, FALSE, LPAR, RPAR, LBRAC, RBRAC, COMMA, SEMICOLON, COLON, POINT, EQUAL, GETS;
// Field names
terminal LOSSY_F, MAXSIZE_F, PRIVATE_F, RELATION_F, BLOCK1_F, BLOCK2_F, POOL_F, REQUEST_F, STATEACTION_F), INDEX_F,
PAYLOAD_F, CHANNEL_F;
// Communications
terminal RELATION_T, SYNCREL_T, BFIFOREL_T, NBFIFOREL_T, INMESSAGE_T, OUTMESSAGE_T, CHANNEL_T, FIFO_T, BFIFO_T,
NBFIFO_T, SYNC_T;
// Transition server
terminal NOKREQUEST_U, TRIVIALREQUEST_T, IMMEDIATEREQUEST_U, SENDREQUEST_T, RECEIVEREQUEST_T;
// general
terminal ASSIGNMENT_T, BOUNDRANDOM_U, BOOLEAN_T, INTEGER_T;
// Blocks
terminal AVDATATYPE_T, AVBLOCK_T, AVVOIDMETHOD_T, AVCALCMETHOD_T, AVSTANDARDSTATE_T, AVSTOPSTATE_T, AVSTARTSTATE_T,
AVSENDSTATE_T, AVRECEIVESTATE_T, AVRANDOMSTATE_T, AVCOUNTSTATE_T, AVPRESENDSTATE_T, AVPRERECEIVESTATE_T,
AVTRANSITION_T, AVSTATEMACHINE_T, RECEIVEACTION_T, TRANSITIONACTION_T;
// Timers
terminal AVSETTIMERSTATE_T, AVRESETTIMERSTATE_T, AVEXPIRETIMERSTATE_T, AVSETTIMERREQUEST_T, AVRESETTIMERREQUEST_T,
AVEXPIRETIMEREQUEST_T, TIMERSETMSG_T, TIMERRESETMSG_T, TIMEREXPIREMSG_T, AVTIMER_T;
// Typed and untyped identifiers
terminal Ident DATATYPENAME, BLOCKNAME, ATTRIBUTENAME, RELATIONNAME, CHANNELPRENAME, SIGNALNAMENAME, CHANNELNAME,
MESSAGENAME, STANDARDSTATENAME, STARTSTATENAME, STOPSTATENAME, RANDOMSTATENAME, COUNTSTATENAME, SENDSTATENAME,
RECEIVESTATENAME, PRESENDSTATENAME, PRERECEIVESTATENAME, SETTIMERSTATENAME, RESETTIMERSTATENAME, EXPIRETIMERSTATENAME,
PRESETTIMERSTATENAME, PRERESETTIMERSTATENAME, PREEXPIRETIMERSTATENAME, TIMERBLOCKNAME, TIMERRELATIONNAME,
SETTIMERCHANNELNAME, RESETTIMERCHANNELNAME, EXPIRETIMERCHANNELNAME, AVATARNAME;
terminal ABOUT, ABSTRACT, ACCEPT, ACTION, ACTOR, AFTER, ALIAS, ALL, ALLOCATE, ALLOCATION, ANALYSIS, AND, AS, ASSERT, ASSIGN, ASSOC, ASSUME, AT, ATTRIBUTE, BIND, BINDING, BLOCK, BY, CALC, CASE, COMMENT, CONCERN, CONNECT, CONNECTION, CONSTRAINT, DECIDE, DEF, DEFAULT, DEFINED, DEPENDENCY, DERIVED, DO, DOC, ELSE, END, ENTRY, ENUM, EVENT, EXHIBIT, EXIT, EXPOSE, FILTER, FIRST, FLOW, FOR, FORK, FRAME, FROM, HASTYPE, IF, IMPLIES, IMPORT, IN, INCLUDE, INDIVIDUAL, INOUT, INTERFACE, ISTYPE, ITEM, JOIN, LANGUAGE, LOOP, MERGE, MESSAGE, METADATA, NONUNIQUE, NOT, OBJECTIVE, OCCURRENCE, OF, OR, ORDERED, OUT, PACKAGE, PARALLEL, PART, PERFORM, PORT, PRIVATE, PROTECTED, PUBLIC, READONLY, REDEFINES, REF, REFERENCES, RENDER, RENDERING, REP, REQUIRE, REQUIREMENT, RETURN, SATISFY, SEND, SNAPSHOT, SPECIALIZES, STAKEHOLDER, STATE, SUBJECT, SUBSETS, SUCCESSION, THEN, TIMESLICE, TO, TRANSITION, UNTIL, USE, VARIANT, VARIATION, VERIFICATION, VERIFY, VIA, VIEW, VIEWPOINT, WHEN, WHILE, XOR
// Sysml reserved keywords
terminal ABOUT, ABSTRACT, ACCEPT, ACTION, ACTOR, AFTER, ALIAS, ALL, ALLOCATE, ALLOCATION, ANALYSIS, AND, AS, ASSERT,
ASSIGN, ASSOC, ASSUME, AT, ATTRIBUTE, BIND, BINDING, BLOCK, BY, CALC, CASE, COMMENT, CONCERN, CONNECT, CONNECTION,
CONSTRAINT, DECIDE, DEF, DEFAULT, DEFINED, DEPENDENCY, DERIVED, DO, DOC, ELSE, END, ENTRY, ENUM, EVENT, EXHIBIT,
EXIT, EXPOSE, FILTER, FIRST, FLOW, FOR, FORK, FRAME, FROM, HASTYPE, IF, IMPLIES, IMPORT, IN, INCLUDE, INDIVIDUAL,
INOUT, INTERFACE, ISTYPE, ITEM, JOIN, LANGUAGE, LOOP, MERGE, MESSAGE, METADATA, NONUNIQUE, NOT, OBJECTIVE, OCCURRENCE,
OF, OR, ORDERED, OUT, PACKAGE, PARALLEL, PART, PERFORM, PORT, PRIVATE, PROTECTED, PUBLIC, READONLY, REDEFINES, REF,
REFERENCES, RENDER, RENDERING, REP, REQUIRE, REQUIREMENT, RETURN, SATISFY, SEND, SNAPSHOT, SPECIALIZES, STAKEHOLDER,
STATE, SUBJECT, SUBSETS, SUCCESSION, THEN, TIMESLICE, TO, TRANSITION, UNTIL, USE, VARIANT, VARIATION, VERIFICATION,
VERIFY, VIA, VIEW, VIEWPOINT, WHEN, WHILE, XOR;
/* Non terminals */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment