fix non handled exception if error occurs in scilab.start
[scilab.git] / scilab / modules / core / includes / tasks.hxx
1 /*
2  *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  *  Copyright (C) 2009-2009 - DIGITEO - Bruno JOFRET
4  *
5  *  This file must be used under the terms of the CeCILL.
6  *  This source file is licensed as described in the file COPYING, which
7  *  you should have received as part of this distribution.  The terms
8  *  are also available at
9  *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
10  *
11  */
12
13 #ifndef __TASKS_HXX__
14 #define __TASKS_HXX__
15
16 #include "parser.hxx"
17
18 extern "C"
19 {
20 #include "storeCommand.h" // command_origin_t
21 }
22
23 /*
24 ** Parse
25 **
26 ** Parse the given file and create the AST.
27 */
28 void parseFileTask(Parser *parser, bool timed, const wchar_t* file_name, const wchar_t* prog_name);
29
30 /*
31 ** Parse
32 **
33 ** Parse the given command and create the AST.
34 */
35 void parseCommandTask(Parser *parser, bool timed, char *command);
36
37 /*
38 ** Dump AST
39 **
40 ** Display the AST in human readable format.
41 */
42 void dumpAstTask(ast::Exp *tree, bool timed);
43
44 /*
45 ** Pretty Print
46 **
47 ** Pretty print the Stored AST.
48 */
49 void printAstTask(ast::Exp *tree, bool timed);
50
51 /*
52 ** Exec Tree
53 **
54 ** Execute the stored AST.
55 */
56 void execAstTask(ast::Exp *tree, bool serialize, bool timed, bool ASTtimed, bool execVerbose,
57                  bool _isInterruptibleThread, bool _isPrioritaryThread, command_origin_t _iCommandOrigin);
58
59 /*
60 ** Exec Tree with original visitor ( without template )
61 **
62 ** Execute the stored AST.
63 */
64 void origAstTask(ast::Exp *tree, bool timed);
65
66 /*
67 ** Dump Stack Trace
68 **
69 ** Display what is stored in scilab.
70 */
71 void dumpStackTask(bool timed);
72
73 /*
74 ** Execute scilab.start
75 **
76 */
77 int execScilabStartTask(bool _bSerialize);
78 int execScilabQuitTask(bool _bSerialize);
79
80 #ifdef __cplusplus
81 extern "C"
82 {
83 ast::Exp* parseCommand(std::wstring _command);
84 }
85 #endif
86
87
88 #endif /* !__TASKS_HXX__ */