stage1_2/stage1_2.hh
changeset 177 697562a5da7c
child 264 6facabd9c2cd
equal deleted inserted replaced
176:bef3cc16c064 177:697562a5da7c
       
     1 /*
       
     2  * (c) 2009 Mario de Sousa
       
     3  *
       
     4  * Offered to the public under the terms of the GNU General Public License
       
     5  * as published by the Free Software Foundation; either version 2 of the
       
     6  * License, or (at your option) any later version.
       
     7  *
       
     8  * This program is distributed in the hope that it will be useful, but
       
     9  * WITHOUT ANY WARRANTY; without even the implied warranty of
       
    10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
       
    11  * Public License for more details.
       
    12  *
       
    13  * 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.
       
    15  */
       
    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 /*
       
    27  * The public interface to stage1_2.cc 
       
    28  */
       
    29 
       
    30 
       
    31 
       
    32 #ifndef _STAGE1_2_HH
       
    33 #define _STAGE1_2_HH
       
    34 
       
    35 
       
    36 
       
    37 /*
       
    38  * This file includes the interface through which the main function accesses the stage1_2 services 
       
    39  */
       
    40 
       
    41 
       
    42 
       
    43 typedef struct {
       
    44 		/******************************************************/
       
    45 		/* whether we are suporting safe extensions           */
       
    46 		/* as defined in PLCopen - Technical Committee 5      */
       
    47 		/* Safety Software Technical Specification,           */
       
    48 		/* Part 1: Concepts and Function Blocks,              */
       
    49 		/* Version 1.0 – Official Release                     */
       
    50 		/******************************************************/
       
    51 	bool safe_extensions;
       
    52 		/* error messages specify full token location */
       
    53 	bool full_token_loc; 
       
    54 		/* Include directory, where included files will be searched for... */
       
    55 	const char *includedir;
       
    56 } stage1_2_options_t;
       
    57 
       
    58 
       
    59 int stage1_2(const char *filename, symbol_c **tree_root, stage1_2_options_t options);
       
    60 
       
    61 
       
    62 
       
    63 
       
    64 
       
    65 #endif   /* _STAGE1_2_HH */