/[svn]/linuxsampler/trunk/src/scriptvm/ScriptVM.h
ViewVC logotype

Diff of /linuxsampler/trunk/src/scriptvm/ScriptVM.h

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

revision 2879 by schoenebeck, Tue Apr 19 14:07:53 2016 UTC revision 2889 by schoenebeck, Mon Apr 25 17:28:23 2016 UTC
# Line 15  Line 15 
15    
16  #include "../common/global.h"  #include "../common/global.h"
17  #include "common.h"  #include "common.h"
 #include "CoreVMFunctions.h"  
18    
19  namespace LinuxSampler {  namespace LinuxSampler {
20    
21      class ParserContext;      class ParserContext;
22      class ExecContext;      class ExecContext;
23        class CoreVMFunction_message;
24        class CoreVMFunction_exit;
25        class CoreVMFunction_wait;
26        class CoreVMFunction_abs;
27        class CoreVMFunction_random;
28        class CoreVMFunction_num_elements;
29    
30      /** @brief Core virtual machine for real-time instrument scripts.      /** @brief Core virtual machine for real-time instrument scripts.
31       *       *
# Line 67  namespace LinuxSampler { Line 72  namespace LinuxSampler {
72           * parser errors, you may pass the VMParserContext object to method           * parser errors, you may pass the VMParserContext object to method
73           * exec() for actually executing the script.           * exec() for actually executing the script.
74           *           *
75             * It is your responsibility to free the returned VMParserContext
76             * object once you don't need it anymore.
77             *
78           * @param s - entire source code of the script to be loaded           * @param s - entire source code of the script to be loaded
79           * @returns parsed representation of the script           * @returns parsed representation of the script
80           */           */
# Line 83  namespace LinuxSampler { Line 91  namespace LinuxSampler {
91          VMParserContext* loadScript(std::istream* is);          VMParserContext* loadScript(std::istream* is);
92    
93          /**          /**
94             * Parses a script's source code (passed as argument @a s to this
95             * method), splits that input up in its individual tokens (i.e.
96             * keyword, variable name, event name, etc.) and returns all those
97             * tokens, for the purpose that the caller can provide syntax syntax
98             * highlighting for the passed script.
99             *
100             * This method is actually not used by the sampler at all, it is rather
101             * provided for external script editor applications, to provide them a
102             * convenient backend for parsing scripts and providing syntax
103             * highlighting.
104             *
105             * @returns recognized tokens of passed script's source code
106             */
107            std::vector<VMSourceToken> syntaxHighlighting(const String& s);
108    
109            /**
110             * Same as above's syntaxHighlighting() method, but this one reads the
111             * script's source code from an input stream object (i.e. stdin or a
112             * file).
113             *
114             * @param is - input stream from which the entire source code of the
115             *             script is to be read and loaded from
116             * @returns recognized tokens of passed script's source code
117             */
118            std::vector<VMSourceToken> syntaxHighlighting(std::istream* is);
119    
120            /**
121           * Dumps the translated tree of the already parsed script, given by           * Dumps the translated tree of the already parsed script, given by
122           * argument @a context, to stdout. This method is for debugging purposes           * argument @a context, to stdout. This method is for debugging purposes
123           * only.           * only.
# Line 188  namespace LinuxSampler { Line 223  namespace LinuxSampler {
223      protected:      protected:
224          VMEventHandler* m_eventHandler;          VMEventHandler* m_eventHandler;
225          ParserContext* m_parserContext;          ParserContext* m_parserContext;
226          CoreVMFunction_message fnMessage;          CoreVMFunction_message* m_fnMessage;
227          CoreVMFunction_exit fnExit;          CoreVMFunction_exit* m_fnExit;
228          CoreVMFunction_wait fnWait;          CoreVMFunction_wait* m_fnWait;
229          CoreVMFunction_abs fnAbs;          CoreVMFunction_abs* m_fnAbs;
230          CoreVMFunction_random fnRandom;          CoreVMFunction_random* m_fnRandom;
231          CoreVMFunction_num_elements fnNumElements;          CoreVMFunction_num_elements* m_fnNumElements;
232      };      };
233    
234  } // namespace LinuxSampler  } // namespace LinuxSampler

Legend:
Removed from v.2879  
changed lines
  Added in v.2889

  ViewVC Help
Powered by ViewVC