GPL + CeCILL Header change
[scilab.git] / scilab / modules / ast / includes / parse / parse.hxx
1 /*
2  *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  *  Copyright (C) 2007-2008 - INRIA - 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  * === LICENSE_END ===
14  *
15  */
16
17 /**
18  ** \file parse.hh
19  ** Declaration shared between the scanner and the parser but private
20  ** to the parse module.
21  */
22
23 #ifndef PARSE_HH_
24 #define PARSE_HH_
25
26 #include <string>
27 #include <iostream>
28 #include <errno.h>
29 #include "exit_status.hxx"
30 #include "all.hxx"
31
32
33 typedef struct __EXPRESSIONLINEBREAK__
34 {
35     bool bVerbose;
36     int iNbBreaker;
37 } LineBreakStr;
38
39
40 /**
41 define YYLTYPE to override Bison Default Location
42 */
43 #define YYLTYPE Location
44 #include "parsescilab.hxx"
45
46 /** \brief Parsing entry . */
47 //int yylex(YYSTYPE *yylval, YYLTYPE *yylloc);
48 int yylex(void);
49
50 /** \brief Parsing error . */
51 void yyerror(std::string msg);
52
53
54 /** \brief FIXME . */
55 int scan_throw(int);
56
57 int get_last_token();
58
59 /** \brief For scanner just step . */
60 void scan_step(void);
61
62 /** \brief Error from the scanner (from scanscilab) . */
63 void scan_error(std::string msg);
64
65 /** \brief Open the scanner step (from scanscilab) . */
66 void scan_open(const std::string &name);
67
68 /** \brief Close the scanner step (from scanscilab) . */
69 void scan_close(void);
70
71 /** \brief Convert exponent numbers to C standard . */
72 void scan_exponent_convert(char *in);
73
74 /** \brief Parse/Scan error message displat . */
75 void PrintError(std::string msg);
76
77 #endif /* !PARSE_HH_ */