License Header change: Removed the LICENSE_END before beta
[scilab.git] / scilab / modules / ast / includes / exps / decls.hxx
1 /*
2  *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  *  Copyright (C) 2007-2008 - DIGITEO - Bruno JOFRET
4  *
5  * Copyright (C) 2012 - 2016 - Scilab Enterprises
6  *
7  * This file is hereby licensed under the terms of the GNU GPL v2.0,
8  * pursuant to article 5.3.4 of the CeCILL v.2.1.
9  * This file was originally licensed under the terms of the CeCILL v2.1,
10  * and continues to be available under such terms.
11  * For more information, see the COPYING file which you should have received
12  * along with this program.
13  *
14  */
15
16 /**
17  ** \file decls.hxx
18  ** \brief Forward declarations of all node-classes of AST
19  ** (needed by the visitors)
20  */
21 #ifndef AST_DECLS_HXX
22 #define AST_DECLS_HXX
23
24 #include <list>
25
26 namespace ast
27 {
28 class Ast;
29
30 class Exp;
31 // Low Level Expressions.
32
33 // Const Exp
34 class StringExp;
35 class DoubleExp;
36 class BoolExp;
37 class CommentExp;
38 class NilExp;
39
40 // Var Exp
41 class SimpleVar;
42 class ArrayListVar;
43 class DollarVar;
44 class ColonVar;
45
46 // Intructions Exp
47 class CallExp;
48 class CellCallExp;
49 class MathExp;
50 class OpExp;
51 class LogicalOpExp;
52 class AssignExp;
53 class IfExp;
54 class WhileExp;
55 class ForExp;
56 class BreakExp;
57 class ContinueExp;
58 class FieldExp;
59 class TryCatchExp;
60 class ReturnExp;
61 class SelectExp;
62 class CaseExp;
63
64 // Single operations expressions
65 class NotExp;
66 class TransposeExp;
67
68 // List of expressions
69 class SeqExp;
70 class ArrayListExp;
71 class AssignListExp;
72
73 // Matrix expression
74 class MatrixExp;
75 class MatrixLineExp;
76
77 // Cell expression
78 class CellExp;
79
80 // Decs
81 class VarDec;
82 class FunctionDec;
83
84 // Type dedicated Exp
85 class ListExp;
86
87 class OptimizedExp;
88 class MemfillExp;
89 class DAXPYExp;
90 class FastSelectExp;
91 class IntSelectExp;
92 class MapIntSelectExp;
93 class SmallIntSelectExp;
94 class StringSelectExp;
95 class TableIntSelectExp;
96
97 } // namespace ast
98
99 #endif // !AST_DECLS_HXX