2 * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 * Copyright (C) 2014 - Scilab Enterpprises - Cedric Delamarre
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
13 #ifndef __EXPHISTORY_HXX__
14 #define __EXPHISTORY_HXX__
20 #include "simplevar.hxx"
26 ExpHistory(ExpHistory*, ast::SimpleVar*);
27 ExpHistory(ExpHistory*, types::typed_list*);
28 ExpHistory(ExpHistory*, ast::SimpleVar*, types::typed_list*, int, bool, types::InternalType*);
33 void setExp(ast::SimpleVar*);
34 ast::SimpleVar* getExp();
35 std::wstring getExpAsString();
37 // arguments x of a(x)
38 void setArgs(types::typed_list*);
39 types::typed_list* getArgs();
40 int getSizeFromArgs();
42 int* getArgsDimsArray();
45 void setArgsOwner(bool);
47 // current InternalType a
48 bool setCurrent(types::InternalType*);
49 types::InternalType* getCurrent();
52 ExpHistory* getParent();
54 // use to know if we have to reinsert current in there parent and where
55 void setReinsertion();
56 void resetReinsertion();
58 int getWhereReinsert();
59 void setWhereReinsert(int);
61 // use to know where we are in expression
65 // management of expression a(x) or a{x}
73 types::typed_list* m_pArgs;
74 int* m_piArgsDimsArray;
77 ast::SimpleVar* m_pExp;
78 ExpHistory* m_pParent;
79 types::InternalType* m_pITCurrent;
89 #endif /* __EXPHISTORY_HXX__ */