1 /********************************************************************/
2 /*                                                                  */
3 /*  s7   Seed7 interpreter                                          */
4 /*  Copyright (C) 1990 - 2013  Thomas Mertes                        */
5 /*                                                                  */
6 /*  This program is free software; you can redistribute it and/or   */
7 /*  modify it under the terms of the GNU General Public License as  */
8 /*  published by the Free Software Foundation; either version 2 of  */
9 /*  the License, or (at your option) any later version.             */
10 /*                                                                  */
11 /*  This program is distributed in the hope that it will be useful, */
12 /*  but WITHOUT ANY WARRANTY; without even the implied warranty of  */
13 /*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the   */
14 /*  GNU General Public License for more details.                    */
15 /*                                                                  */
16 /*  You should have received a copy of the GNU General Public       */
17 /*  License along with this program; if not, write to the           */
18 /*  Free Software Foundation, Inc., 51 Franklin Street,             */
19 /*  Fifth Floor, Boston, MA  02110-1301, USA.                       */
20 /*                                                                  */
21 /*  Module: Seed7 compiler library                                  */
22 /*  File: seed7/src/prg_comp.h                                      */
23 /*  Changes: 1991 - 1994, 2008, 2013  Thomas Mertes                 */
24 /*  Content: Primitive actions for the program type.                */
25 /*                                                                  */
26 /********************************************************************/
27 
28 void interpret (const const_progType currentProg, const const_rtlArrayType argv,
29     memSizeType argvStart, uintType options, const const_striType protFileName);
30 void prgCpy (progType *const dest, const progType source);
31 progType prgCreate (const progType source);
32 void prgDestr (progType old_prog);
33 intType prgErrorCount (const const_progType aProg);
34 objectType prgEval (progType aProgram, objectType anExpression);
35 void prgExec (const const_progType aProgram, const const_rtlArrayType parameters,
36     const const_setType options, const const_striType protFileName);
37 progType prgFilParse (const const_striType fileName, const const_setType options,
38     const const_rtlArrayType libraryDirs, const const_striType protFileName);
39 listType prgGlobalObjects (const const_progType aProg);
40 objectType prgMatch (const const_progType aProg, listType curr_expr);
41 objectType prgMatchExpr (const const_progType aProg, listType curr_expr);
42 const_striType prgName (const const_progType aProg);
43 const_striType prgPath (const const_progType aProg);
44 progType prgStrParse (const const_striType stri, const const_setType options,
45     const const_rtlArrayType libraryDirs, const const_striType protFileName);
46 objectType prgSyobject (const progType aProg, const const_striType syobjectName);
47 objectType prgSysvar (const const_progType aProg, const const_striType sysvarName);
48