"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "ragel/fsmgraph.h" between
ragel-6.9.tar.gz and ragel-6.10.tar.gz

About: Ragel compiles executable finite state machines from regular languages (C, C++, Obj-C, C#, D, Java, Go and Ruby).

fsmgraph.h  (ragel-6.9):fsmgraph.h  (ragel-6.10)
skipping to change at line 858 skipping to change at line 858
itState(Begin) itState(Begin)
{ {
findNext(); findNext();
} }
/* Return and re-entry for the co-routine iterators. This should ALWAYS be /* Return and re-entry for the co-routine iterators. This should ALWAYS be
* used inside of a block. */ * used inside of a block. */
#define CO_RETURN(label) \ #define CO_RETURN(label) \
itState = label; \ itState = label; \
return; \ return; \
entry##label: backIn = true entry##label: {}
/* Return and re-entry for the co-routine iterators. This should ALWAYS be /* Return and re-entry for the co-routine iterators. This should ALWAYS be
* used inside of a block. */ * used inside of a block. */
#define CO_RETURN2(label, uState) \ #define CO_RETURN2(label, uState) \
itState = label; \ itState = label; \
userState = uState; \ userState = uState; \
return; \ return; \
entry##label: backIn = true entry##label: {}
/* Advance to the next transition. When returns, trans points to the next /* Advance to the next transition. When returns, trans points to the next
* transition, unless there are no more, in which case end() returns true. */ * transition, unless there are no more, in which case end() returns true. */
template <class ListItem1, class ListItem2> void PairIter<ListItem1, ListItem2>: :findNext() template <class ListItem1, class ListItem2> void PairIter<ListItem1, ListItem2>: :findNext()
{ {
/* This variable is used in dummy statements that follow the entry
* goto labels. The compiler needs some statement to follow the label. */
bool backIn;
/* Jump into the iterator routine base on the iterator state. */ /* Jump into the iterator routine base on the iterator state. */
switch ( itState ) { switch ( itState ) {
case Begin: goto entryBegin; case Begin: goto entryBegin;
case ConsumeS1Range: goto entryConsumeS1Range; case ConsumeS1Range: goto entryConsumeS1Range;
case ConsumeS2Range: goto entryConsumeS2Range; case ConsumeS2Range: goto entryConsumeS2Range;
case OnlyInS1Range: goto entryOnlyInS1Range; case OnlyInS1Range: goto entryOnlyInS1Range;
case OnlyInS2Range: goto entryOnlyInS2Range; case OnlyInS2Range: goto entryOnlyInS2Range;
case S1SticksOut: goto entryS1SticksOut; case S1SticksOut: goto entryS1SticksOut;
case S1SticksOutBreak: goto entryS1SticksOutBreak; case S1SticksOutBreak: goto entryS1SticksOutBreak;
case S2SticksOut: goto entryS2SticksOut; case S2SticksOut: goto entryS2SticksOut;
 End of changes. 3 change blocks. 
6 lines changed or deleted 2 lines changed or added

Home  |  About  |  All  |  Newest  |  Fossies Dox  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTPS