cli.hpp
上传用户:egreat
上传日期:2007-07-13
资源大小:29k
文件大小:1k
源码类别:

金融证券系统

开发平台:

Visual C++

  1. #ifndef _CLI_HPP_
  2. #define _CLI_HPP_
  3. #include <boost/spirit/core.hpp>
  4. #include <iostream>
  5. #include <string>
  6. #include "stock.h"
  7. ///////////////////////////////////////////////////////////////////////////////
  8. using namespace std;
  9. using namespace boost::spirit;
  10. #if 0
  11. struct cli_action
  12. {
  13. template <typename IteratorT>
  14. void
  15. operator()( IteratorT first, IteratorT last ) const
  16. {
  17. string s( first, last );
  18. cout << "tMy Action got: " << s << endl;
  19. }
  20. };
  21. #endif
  22. ///////////////////////////////////////////////////////////////////////////////
  23. //
  24. //  My grammar
  25. //
  26. ///////////////////////////////////////////////////////////////////////////////
  27. struct cli_grammar : public grammar<cli_grammar>
  28. {
  29. template <typename ScannerT>
  30. struct definition
  31. {
  32. definition( cli_grammar const & self )
  33. {
  34. node1 = str_p("show");
  35. node2 = space_p >> str_p("request");
  36. node3 = str_p("test");
  37. root = node1 >> node2[&show_curr_bid];
  38. }
  39. rule<ScannerT> root;
  40. rule<ScannerT> node1;
  41. rule<ScannerT> node2;
  42. rule<ScannerT> node3;
  43. rule<ScannerT> node4;
  44. rule<ScannerT> const &
  45. start() const
  46. {
  47. return root;
  48. }
  49. };
  50. };
  51. #endif