/[svn]/linuxsampler/trunk/src/network/lscpparser.h
ViewVC logotype

Diff of /linuxsampler/trunk/src/network/lscpparser.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 947 by schoenebeck, Mon Nov 27 21:34:55 2006 UTC revision 2516 by schoenebeck, Thu Feb 6 21:11:23 2014 UTC
# Line 3  Line 3 
3   *   LinuxSampler - modular, streaming capable sampler                     *   *   LinuxSampler - modular, streaming capable sampler                     *
4   *                                                                         *   *                                                                         *
5   *   Copyright (C) 2003, 2004 by Benno Senoner and Christian Schoenebeck   *   *   Copyright (C) 2003, 2004 by Benno Senoner and Christian Schoenebeck   *
6   *   Copyright (C) 2005, 2006 Christian Schoenebeck                        *   *   Copyright (C) 2005 - 2014 Christian Schoenebeck                       *
7   *                                                                         *   *                                                                         *
8   *   This program is free software; you can redistribute it and/or modify  *   *   This program is free software; you can redistribute it and/or modify  *
9   *   it under the terms of the GNU General Public License as published by  *   *   it under the terms of the GNU General Public License as published by  *
# Line 25  Line 25 
25  #define __LSCPPARSER_H__  #define __LSCPPARSER_H__
26    
27  #include <sys/types.h>  #include <sys/types.h>
28    #if defined(WIN32)
29    #include <windows.h>
30    #else
31  #include <sys/socket.h>  #include <sys/socket.h>
32    #endif
33    
34  #include <stdlib.h>  #include <stdlib.h>
35  #include <iostream>  #include <iostream>
36  #include <sstream>  #include <sstream>
37  #include <string>  #include <string>
38    #include <stdint.h>
39    #include <set>
40    
41  #include "../common/global.h"  #include "../common/global_private.h"
42    #include "../common/Path.h"
43  #include "lscpevent.h"  #include "lscpevent.h"
44  #include "../Sampler.h"  #include "../Sampler.h"
45  #include "../drivers/midi/MidiInstrumentMapper.h"  #include "../drivers/midi/MidiInstrumentMapper.h"
46    
47    namespace LinuxSampler {
48    
49  /// Will be returned by the parser in case of syntax errors.  /// Will be returned by the parser in case of syntax errors.
50  #define LSCP_SYNTAX_ERROR       -69  #define LSCP_SYNTAX_ERROR       -69
51  #define LSCP_QUIT               -1  #define LSCP_QUIT               -1
52  #define LSCP_DONE               0  #define LSCP_DONE               0
53    
 using namespace LinuxSampler;  
   
54  // just symbol prototyping  // just symbol prototyping
55  class LSCPServer;  class LSCPServer;
56    
# Line 63  enum fill_response_t { Line 70  enum fill_response_t {
70   * recognized number strings in the input text and the parser might return a   * recognized number strings in the input text and the parser might return a
71   * value for each of it's rules.   * value for each of it's rules.
72   */   */
73  struct YYSTYPE {  struct _YYSTYPE {
74      union {      union {
75          char                         Char;          char                         Char;
76          unsigned int                 Number;          unsigned int                 Number;
77            bool                         Bool;
78          double                       Dotnum;          double                       Dotnum;
79          fill_response_t              FillResponse;          fill_response_t              FillResponse;
80          LSCPEvent::event_t           Event;          LSCPEvent::event_t           Event;
# Line 74  struct YYSTYPE { Line 82  struct YYSTYPE {
82      };      };
83      std::string                       String;      std::string                       String;
84      std::map<std::string,std::string> KeyValList;      std::map<std::string,std::string> KeyValList;
85        Path                              UniversalPath;
86  };  };
87    #define YYSTYPE _YYSTYPE
88  #define yystype YYSTYPE         ///< For backward compatibility.  #define yystype YYSTYPE         ///< For backward compatibility.
89  #define YYSTYPE_IS_DECLARED     ///< We tell the lexer / parser that we use our own data structure as defined above.  #define YYSTYPE_IS_DECLARED     ///< We tell the lexer / parser that we use our own data structure as defined above.
90    #define YYTYPE_INT16 int16_t
91    #define YYDEBUG 1
92    
93  /**  /**
94   * Parameters given to the parser on every yyparse() call.   * Parameters given to the parser on every yyparse() call.
# Line 85  struct yyparse_param_t { Line 97  struct yyparse_param_t {
97      LSCPServer* pServer;      LSCPServer* pServer;
98      int         hSession;      int         hSession;
99      bool        bVerbose; ///< if true then all commands will immediately sent back (echo)      bool        bVerbose; ///< if true then all commands will immediately sent back (echo)
100        bool        bShellInteract; ///< if true: then client is the LSCP shell
101        bool        bShellAutoCorrect; ///< if true: try to automatically correct obvious syntax mistakes
102        int         iLine;    ///< Current line (just for verbosity / messages)
103        int         iColumn;  ///< Current column (just for verbosity / messages)
104        YYTYPE_INT16** ppStackBottom; ///< Bottom end of the Bison parser's state stack.
105        YYTYPE_INT16** ppStackTop;    ///< Current position (heap) of the Bison parser's state stack.
106    
107      yyparse_param_t() {      yyparse_param_t() {
108          pServer  = NULL;          pServer  = NULL;
109          hSession = -1;          hSession = -1;
110          bVerbose = false;          bVerbose = false;
111            bShellInteract = bShellAutoCorrect = false;
112            iLine = iColumn = 0;
113            ppStackBottom = ppStackTop = NULL;
114      }      }
115  };  };
116  #define YYPARSE_PARAM yyparse_param  #define YYPARSE_PARAM yyparse_param
# Line 99  struct yyparse_param_t { Line 120  struct yyparse_param_t {
120   */   */
121  #define YY_DECL int yylex(YYSTYPE* yylval)  #define YY_DECL int yylex(YYSTYPE* yylval)
122    
123    }
124    
125  #endif // __LSCPPARSER_H__  #endif // __LSCPPARSER_H__

Legend:
Removed from v.947  
changed lines
  Added in v.2516

  ViewVC Help
Powered by ViewVC