doctype public "-//IDN etl.sf.net//ETL//Grammar 0.2.1";
grammar samples.Events {
namespace default e = "urn:x-etl:samples:events";
context default TopLevel {
statement Events {
% events;
@ events += block(DefList);
};
statement ResetEvents {
% resetEvents;
@ events += list , {
identifier wrapper .name;
};
};
statement Commands {
% commands;
@ commands += block(DefList);
};
statement State {
% state;
@ name = identifier;
@ contents += block(StateContext);
};
};
context DefList {
statement Def {
@ name = identifier;
@ code = identifier;
};
};
context StateContext {
statement Actions {
% actions;
@ commands += list , { identifier wrapper .name;};
};
statement Transtion {
% on;
@ event = identifier;
% =>;
@ target = identifier;
};
};
};