1 /******************************************************************************
2 * Copyright (c) 2000-2016 Ericsson Telecom AB
3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the Eclipse Public License v1.0
5 * which accompanies this distribution, and is available at
6 * http://www.eclipse.org/legal/epl-v10.html
17 * Szabo, Janos Zoltan – initial implementation
19 * Zalanyi, Balazs Andor
21 ******************************************************************************/
27 #include "../../common/memory.h"
28 #include "../datatypes.h"
34 /* for generating output files */
36 typedef struct output_struct_t
{
42 char *function_prototypes
;
44 char *testport_includes
;
48 char *static_function_prototypes
;
49 char *static_conversion_function_prototypes
;
50 char *string_literals
;
54 char *function_bodies
;
55 char *static_function_bodies
;
56 char *static_conversion_function_bodies
;
59 char *pre_init
; /**< Code for pre_init_module() */
60 char *post_init
; /**< Code for post_init_module() */
61 char *set_param
; /**< Code for set_module_param() */
62 char *get_param
; /**< Code for get_module_param() */
63 char *log_param
; /**< Code for log_module_param() */
64 char *init_comp
; /**< Code for init_comp_type() */
65 char *start
; /**< Code for start_ptc_function() */
66 char *control
; /**< Code for module_control_part() */
70 typedef struct expression_struct_t
{
76 /* for global and local constant definitions */
78 typedef struct const_def_t
{
85 /* Commonly used functions and variables */
87 extern const char *infile
;
89 extern void write_output(output_struct
*output
, const char *module_name
,
90 const char *module_dispname
, const char *filename_suffix
, boolean is_ttcn
,
91 boolean has_circular_import
, boolean is_module
);
92 extern void report_nof_updated_files(void);
94 extern FILE *open_output_file(const char *file_name
, boolean
*is_temporary
);
95 extern void close_output_file(const char *file_name
, FILE *fp
,
96 boolean is_temporary
, size_t skip_lines
);
102 extern int ttcn3_parse_file(const char* filename
, boolean generate_code
);