/tutorial/backtracking/expand_expression/abstract/expand_sequence.e

http://github.com/tybor/Liberty · Specman e · 46 lines · 23 code · 5 blank · 18 comment · 1 complexity · a14c58f93da0e463ba75162dd935c847 MD5 · raw file

  1. -- See the Copyright notice at the end of this file.
  2. --
  3. class EXPAND_SEQUENCE
  4. inherit
  5. ABSTRACT_BACKTRACKING_SEQUENCE
  6. EXPRESSION_ITEM_GLOBALS
  7. feature {ABSTRACT_BACKTRACKING}
  8. next_sequence (explorer: EXPAND_EXPRESSION) is
  9. do
  10. if Iterate and then item.type = And_item then
  11. explorer.goto_item(item.first)
  12. item := item.second
  13. else
  14. explorer.goto_item(item)
  15. explorer.pop_sequence
  16. end
  17. end
  18. feature {}
  19. item: EXPRESSION_ITEM
  20. feature {EXPAND_EXPRESSION}
  21. make (itm: EXPRESSION_ITEM) is
  22. do
  23. item := itm
  24. end
  25. end -- class EXPAND_SEQUENCE
  26. --
  27. -- ------------------------------------------------------------------------------------------------------------------------------
  28. -- Copyright notice below. Please read.
  29. --
  30. -- This file is free software, which comes along with SmartEiffel. This software is distributed in the hope that it will be
  31. -- useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  32. -- You can modify it as you want, provided this footer is kept unaltered, and a notification of the changes is added.
  33. -- You are allowed to redistribute it and sell it, alone or as a part of another product.
  34. --
  35. -- Copyright(C) 1994-2002: INRIA - LORIA (INRIA Lorraine) - ESIAL U.H.P. - University of Nancy 1 - FRANCE
  36. -- Copyright(C) 2003-2005: INRIA - LORIA (INRIA Lorraine) - I.U.T. Charlemagne - University of Nancy 2 - FRANCE
  37. --
  38. -- Authors: Dominique COLNET, Philippe RIBET, Cyril ADRIAN, Vincent CROIZIER, Frederic MERIZEN
  39. --
  40. -- http://SmartEiffel.loria.fr - SmartEiffel@loria.fr
  41. -- ------------------------------------------------------------------------------------------------------------------------------