1 /* |
1 /* |
2 * (c) 2007 Mario de Sousa and Laurent Bessard |
2 * matiec - a compiler for the programming languages defined in IEC 61131-3 |
3 * |
3 * |
4 * Offered to the public under the terms of the GNU General Public License |
4 * Copyright (C) 2003-2011 Mario de Sousa (msousa@fe.up.pt) |
5 * as published by the Free Software Foundation; either version 2 of the |
5 * Copyright (C) 2007-2011 Laurent Bessard and Edouard Tisserant |
6 * License, or (at your option) any later version. |
|
7 * |
6 * |
8 * This program is distributed in the hope that it will be useful, but |
7 * This program is free software: you can redistribute it and/or modify |
9 * WITHOUT ANY WARRANTY; without even the implied warranty of |
8 * it under the terms of the GNU General Public License as published by |
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
9 * the Free Software Foundation, either version 3 of the License, or |
11 * Public License for more details. |
10 * (at your option) any later version. |
|
11 * |
|
12 * This program is distributed in the hope that it will be useful, |
|
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
15 * GNU General Public License for more details. |
|
16 * |
|
17 * You should have received a copy of the GNU General Public License |
|
18 * along with this program. If not, see <http://www.gnu.org/licenses/>. |
|
19 * |
12 * |
20 * |
13 * This code is made available on the understanding that it will not be |
21 * This code is made available on the understanding that it will not be |
14 * used in safety-critical situations without a full and competent review. |
22 * used in safety-critical situations without a full and competent review. |
15 */ |
23 */ |
16 |
|
17 /* |
|
18 * An IEC 61131-3 IL and ST compiler. |
|
19 * |
|
20 * Based on the |
|
21 * FINAL DRAFT - IEC 61131-3, 2nd Ed. (2001-12-10) |
|
22 * |
|
23 */ |
|
24 |
|
25 /* |
|
26 * This is one of the versions available for the 4th stage. |
|
27 * |
|
28 * This 4th stage generates a c++ source program equivalent |
|
29 * to the IL and ST code. |
|
30 */ |
|
31 |
|
32 //#include <stdio.h> /* required for NULL */ |
|
33 //#include <string> |
|
34 //#include <iostream> |
|
35 |
|
36 //#include "../../util/symtable.hh" |
|
37 |
|
38 |
|
39 |
|
40 |
|
41 |
|
42 |
|
43 |
|
44 |
|
45 |
|
46 /***********************************************************************/ |
|
47 /***********************************************************************/ |
|
48 /***********************************************************************/ |
|
49 /***********************************************************************/ |
|
50 /***********************************************************************/ |
|
51 /***********************************************************************/ |
|
52 /***********************************************************************/ |
|
53 /***********************************************************************/ |
|
54 |
24 |
55 class generate_location_list_c: public iterator_visitor_c { |
25 class generate_location_list_c: public iterator_visitor_c { |
56 |
26 |
57 protected: |
27 protected: |
58 stage4out_c &s4o; |
28 stage4out_c &s4o; |