Added dll import/export scheme for MSVC.
* Added scl_export.h with conditional flags for import/export. * Added SCL_EXPRESS_EXPORT flag for all global variables in headers. * Added SCL_EXPRESS_EXPORT flag for all function prototypes in headers. * Added SCL_EXPRESS_DLL_EXPORTS flag for express CMakeLists.txt
This commit is contained in:
parent
879f5092b7
commit
ba12196a88
21 changed files with 533 additions and 418 deletions
|
|
@ -47,6 +47,7 @@
|
|||
/* packages used */
|
||||
/*****************/
|
||||
|
||||
#include <scl_export.h>
|
||||
#include "expbasic.h" /* get basic definitions */
|
||||
#include "symbol.h"
|
||||
#include "scope.h"
|
||||
|
|
@ -128,11 +129,11 @@ struct Where_ {
|
|||
#include "decstart.h"
|
||||
#endif /* ALGORITHM_C */
|
||||
|
||||
GLOBAL struct freelist_head ALG_fl;
|
||||
GLOBAL struct freelist_head FUNC_fl;
|
||||
GLOBAL struct freelist_head RULE_fl;
|
||||
GLOBAL struct freelist_head PROC_fl;
|
||||
GLOBAL struct freelist_head WHERE_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head ALG_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head FUNC_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head RULE_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head PROC_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head WHERE_fl;
|
||||
|
||||
#include "de_end.h"
|
||||
|
||||
|
|
@ -192,9 +193,9 @@ extern void RULEput_where_clause PROTO( ( Algorithm, Linked_List ) );
|
|||
/* function prototypes */
|
||||
/***********************/
|
||||
|
||||
extern Scope ALGcreate PROTO( ( char ) );
|
||||
extern void ALGinitialize PROTO( ( void ) );
|
||||
extern void ALGput_full_text PROTO( ( Scope, int, int ) );
|
||||
extern SCL_EXPRESS_EXPORT Scope ALGcreate PROTO( ( char ) );
|
||||
extern SCL_EXPRESS_EXPORT void ALGinitialize PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT void ALGput_full_text PROTO( ( Scope, int, int ) );
|
||||
|
||||
/********************/
|
||||
/* inline functions */
|
||||
|
|
|
|||
|
|
@ -43,6 +43,7 @@
|
|||
/* packages used */
|
||||
/*****************/
|
||||
|
||||
#include <scl_export.h>
|
||||
#include "expbasic.h" /* get basic definitions */
|
||||
#include "scope.h"
|
||||
|
||||
|
|
@ -78,7 +79,7 @@ struct Case_Item_ {
|
|||
#include "decstart.h"
|
||||
#endif /*CASE_ITEM_C*/
|
||||
|
||||
GLOBAL struct freelist_head CASE_IT_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head CASE_IT_fl;
|
||||
|
||||
#include "de_end.h"
|
||||
|
||||
|
|
@ -96,8 +97,8 @@ GLOBAL struct freelist_head CASE_IT_fl;
|
|||
#define CASE_IT_new() (struct Case_Item_ *)MEM_new(&CASE_IT_fl)
|
||||
#define CASE_IT_destroy(x) MEM_destroy(&CASE_IT_fl,(Freelist *)(Generic)x)
|
||||
|
||||
extern Case_Item CASE_ITcreate PROTO( ( Linked_List, struct Statement_ * ) );
|
||||
extern void CASE_ITinitialize PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT Case_Item CASE_ITcreate PROTO( ( Linked_List, struct Statement_ * ) );
|
||||
extern SCL_EXPRESS_EXPORT void CASE_ITinitialize PROTO( ( void ) );
|
||||
|
||||
/********************/
|
||||
/* inline functions */
|
||||
|
|
|
|||
|
|
@ -81,7 +81,7 @@ typedef HashEntry DictionaryEntry;
|
|||
#include "decstart.h"
|
||||
#endif /*DICTIONARY_C*/
|
||||
|
||||
GLOBAL char DICT_type; /* set as a side-effect of DICT lookup routines */
|
||||
GLOBAL SCL_EXPRESS_EXPORT char DICT_type; /* set as a side-effect of DICT lookup routines */
|
||||
/* to type of object found */
|
||||
|
||||
#include "de_end.h"
|
||||
|
|
@ -109,14 +109,14 @@ GLOBAL char DICT_type; /* set as a side-effect of DICT lookup routines */
|
|||
/* function prototypes */
|
||||
/***********************/
|
||||
|
||||
extern void DICTinitialize PROTO( ( void ) );
|
||||
extern int DICTdefine PROTO( ( Dictionary, char *, Generic, Symbol *, char ) );
|
||||
extern int DICT_define PROTO( ( Dictionary, char *, Generic, Symbol *, char ) );
|
||||
extern void DICTundefine PROTO( ( Dictionary, char * ) );
|
||||
extern Generic DICTlookup PROTO( ( Dictionary, char * ) );
|
||||
extern Generic DICTlookup_symbol PROTO( ( Dictionary, char *, Symbol ** ) );
|
||||
extern Generic DICTdo PROTO( ( DictionaryEntry * ) );
|
||||
extern void DICTprint PROTO( ( Dictionary ) );
|
||||
extern SCL_EXPRESS_EXPORT void DICTinitialize PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT int DICTdefine PROTO( ( Dictionary, char *, Generic, Symbol *, char ) );
|
||||
extern SCL_EXPRESS_EXPORT int DICT_define PROTO( ( Dictionary, char *, Generic, Symbol *, char ) );
|
||||
extern SCL_EXPRESS_EXPORT void DICTundefine PROTO( ( Dictionary, char * ) );
|
||||
extern SCL_EXPRESS_EXPORT Generic DICTlookup PROTO( ( Dictionary, char * ) );
|
||||
extern SCL_EXPRESS_EXPORT Generic DICTlookup_symbol PROTO( ( Dictionary, char *, Symbol ** ) );
|
||||
extern SCL_EXPRESS_EXPORT Generic DICTdo PROTO( ( DictionaryEntry * ) );
|
||||
extern SCL_EXPRESS_EXPORT void DICTprint PROTO( ( Dictionary ) );
|
||||
|
||||
/********************/
|
||||
/* inline functions */
|
||||
|
|
|
|||
|
|
@ -62,6 +62,7 @@
|
|||
/* packages used */
|
||||
/*****************/
|
||||
|
||||
#include <scl_export.h>
|
||||
#include "expbasic.h" /* get basic definitions */
|
||||
#include "symbol.h"
|
||||
#include "scope.h"
|
||||
|
|
@ -116,9 +117,9 @@ struct Entity_ {
|
|||
#include "decstart.h"
|
||||
#endif /* ENTITY_C */
|
||||
|
||||
GLOBAL struct freelist_head ENTITY_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head ENTITY_fl;
|
||||
|
||||
GLOBAL int ENTITY_MARK INITIALLY( 0 );
|
||||
GLOBAL SCL_EXPRESS_EXPORT int ENTITY_MARK INITIALLY( 0 );
|
||||
|
||||
#include "de_end.h"
|
||||
|
||||
|
|
@ -157,20 +158,20 @@ GLOBAL int ENTITY_MARK INITIALLY( 0 );
|
|||
/* function prototypes */
|
||||
/***********************/
|
||||
|
||||
extern struct Scope_ * ENTITYcreate PROTO( ( struct Symbol_ * ) );
|
||||
extern void ENTITYinitialize PROTO( ( void ) );
|
||||
extern void ENTITYadd_attribute PROTO( ( struct Scope_ *, struct Variable_ * ) );
|
||||
extern struct Scope_ * ENTITYcopy PROTO( ( struct Scope_ * ) );
|
||||
extern Entity ENTITYfind_inherited_entity PROTO( ( struct Scope_ *, char *, int ) );
|
||||
extern Variable ENTITYfind_inherited_attribute PROTO( ( struct Scope_ *, char *, struct Symbol_ ** ) );
|
||||
extern Variable ENTITYresolve_attr_ref PROTO( ( Entity, Symbol *, Symbol * ) );
|
||||
extern bool ENTITYhas_immediate_supertype PROTO( ( Entity, Entity ) );
|
||||
extern Variable ENTITYget_named_attribute PROTO( ( Entity, char * ) );
|
||||
extern Linked_List ENTITYget_all_attributes PROTO( ( Entity ) );
|
||||
extern bool ENTITYhas_supertype PROTO( ( Entity, Entity ) );
|
||||
extern void ENTITYadd_instance PROTO( ( Entity, Generic ) );
|
||||
extern int ENTITYget_initial_offset PROTO( ( Entity ) );
|
||||
extern bool ENTITYdeclares_variable PROTO( ( Entity, struct Variable_ * ) );
|
||||
extern SCL_EXPRESS_EXPORT struct Scope_ * ENTITYcreate PROTO( ( struct Symbol_ * ) );
|
||||
extern SCL_EXPRESS_EXPORT void ENTITYinitialize PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT void ENTITYadd_attribute PROTO( ( struct Scope_ *, struct Variable_ * ) );
|
||||
extern SCL_EXPRESS_EXPORT struct Scope_ * ENTITYcopy PROTO( ( struct Scope_ * ) );
|
||||
extern SCL_EXPRESS_EXPORT Entity ENTITYfind_inherited_entity PROTO( ( struct Scope_ *, char *, int ) );
|
||||
extern SCL_EXPRESS_EXPORT Variable ENTITYfind_inherited_attribute PROTO( ( struct Scope_ *, char *, struct Symbol_ ** ) );
|
||||
extern SCL_EXPRESS_EXPORT Variable ENTITYresolve_attr_ref PROTO( ( Entity, Symbol *, Symbol * ) );
|
||||
extern SCL_EXPRESS_EXPORT bool ENTITYhas_immediate_supertype PROTO( ( Entity, Entity ) );
|
||||
extern SCL_EXPRESS_EXPORT Variable ENTITYget_named_attribute PROTO( ( Entity, char * ) );
|
||||
extern SCL_EXPRESS_EXPORT Linked_List ENTITYget_all_attributes PROTO( ( Entity ) );
|
||||
extern SCL_EXPRESS_EXPORT bool ENTITYhas_supertype PROTO( ( Entity, Entity ) );
|
||||
extern SCL_EXPRESS_EXPORT void ENTITYadd_instance PROTO( ( Entity, Generic ) );
|
||||
extern SCL_EXPRESS_EXPORT int ENTITYget_initial_offset PROTO( ( Entity ) );
|
||||
extern SCL_EXPRESS_EXPORT bool ENTITYdeclares_variable PROTO( ( Entity, struct Variable_ * ) );
|
||||
|
||||
#if 0
|
||||
extern void ENTITYdelete_instance PROTO( ( Entity, Generic ) );
|
||||
|
|
|
|||
|
|
@ -88,29 +88,29 @@ typedef struct Error_Warning_ {
|
|||
#include "decstart.h"
|
||||
#endif /* ERROR_C */
|
||||
|
||||
GLOBAL bool __ERROR_buffer_errors INITIALLY( false );
|
||||
GLOBAL char * current_filename INITIALLY( "stdin" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT bool __ERROR_buffer_errors INITIALLY( false );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * current_filename INITIALLY( "stdin" );
|
||||
|
||||
/* flag to remember whether non-warning errors have occurred */
|
||||
GLOBAL bool ERRORoccurred INITIALLY( false );
|
||||
GLOBAL SCL_EXPRESS_EXPORT bool ERRORoccurred INITIALLY( false );
|
||||
|
||||
|
||||
GLOBAL Error experrc INITIALLY( ERROR_none );
|
||||
GLOBAL Error ERROR_subordinate_failed INITIALLY( ERROR_none );
|
||||
GLOBAL Error ERROR_syntax_expecting INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error experrc INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_subordinate_failed INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_syntax_expecting INITIALLY( ERROR_none );
|
||||
|
||||
/* all of these are 1 if true, 0 if false switches */
|
||||
/* for debugging fedex */
|
||||
GLOBAL int ERRORdebugging INITIALLY( 0 );
|
||||
GLOBAL SCL_EXPRESS_EXPORT int ERRORdebugging INITIALLY( 0 );
|
||||
/* for debugging malloc during resolution */
|
||||
GLOBAL int malloc_debug_resolve INITIALLY( 0 );
|
||||
GLOBAL SCL_EXPRESS_EXPORT int malloc_debug_resolve INITIALLY( 0 );
|
||||
/* for debugging yacc/lex */
|
||||
GLOBAL int debug INITIALLY( 0 );
|
||||
GLOBAL SCL_EXPRESS_EXPORT int debug INITIALLY( 0 );
|
||||
|
||||
GLOBAL struct Linked_List_ * ERRORwarnings;
|
||||
GLOBAL struct freelist_head ERROR_OPT_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct Linked_List_ * ERRORwarnings;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head ERROR_OPT_fl;
|
||||
|
||||
GLOBAL void ( *ERRORusage_function ) PROTO( ( void ) );
|
||||
GLOBAL SCL_EXPRESS_EXPORT void ( *ERRORusage_function ) PROTO( ( void ) );
|
||||
|
||||
#include "de_end.h"
|
||||
|
||||
|
|
@ -121,6 +121,14 @@ GLOBAL void ( *ERRORusage_function ) PROTO( ( void ) );
|
|||
#define ERROR_OPT_new() (struct Error_Warning_ *)MEM_new(&ERROR_OPT_fl)
|
||||
#define ERROR_OPT_destroy(x) MEM_destroy(&ERROR_OPT_fl,(Freelist *)(Generic)x)
|
||||
|
||||
/***********************/
|
||||
/* function prototypes */
|
||||
/***********************/
|
||||
|
||||
#ifdef __MSVC__
|
||||
extern SCL_EXPRESS_EXPORT void ERROR_start_message_buffer PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT void ERROR_flush_message_buffer PROTO( ( void ) );
|
||||
#endif
|
||||
|
||||
/********************/
|
||||
/* Inline functions */
|
||||
|
|
@ -153,9 +161,10 @@ ERRORis_enabled( Error error ) {
|
|||
static_inline
|
||||
void
|
||||
ERRORbuffer_messages( bool flag ) {
|
||||
extern void ERROR_start_message_buffer( void ),
|
||||
#ifndef __MSVC__
|
||||
extern void ERROR_start_message_buffer( void ),
|
||||
ERROR_flush_message_buffer( void );
|
||||
|
||||
#endif
|
||||
__ERROR_buffer_errors = flag;
|
||||
if( __ERROR_buffer_errors ) {
|
||||
ERROR_start_message_buffer();
|
||||
|
|
@ -167,8 +176,10 @@ ERRORbuffer_messages( bool flag ) {
|
|||
static_inline
|
||||
void
|
||||
ERRORflush_messages( void ) {
|
||||
#ifndef __MSVC__
|
||||
extern void ERROR_start_message_buffer( void ),
|
||||
ERROR_flush_message_buffer( void );
|
||||
#endif
|
||||
|
||||
if( __ERROR_buffer_errors ) {
|
||||
ERROR_flush_message_buffer();
|
||||
|
|
@ -182,28 +193,32 @@ ERRORflush_messages( void ) {
|
|||
/* function prototypes */
|
||||
/***********************/
|
||||
|
||||
extern void ERRORinitialize PROTO( ( void ) );
|
||||
extern void ERRORinitialize_after_LIST PROTO( ( void ) );
|
||||
extern void ERRORnospace PROTO( ( void ) );
|
||||
extern void ERRORabort PROTO( ( int ) );
|
||||
extern Error ERRORcreate PROTO( ( char *, Severity ) );
|
||||
extern void ERRORreport PROTO( ( Error, ... ) );
|
||||
extern SCL_EXPRESS_EXPORT void ERRORinitialize PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT void ERRORinitialize_after_LIST PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT void ERRORnospace PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT void ERRORabort PROTO( ( int ) );
|
||||
extern SCL_EXPRESS_EXPORT Error ERRORcreate PROTO( ( char *, Severity ) );
|
||||
extern SCL_EXPRESS_EXPORT void ERRORreport PROTO( ( Error, ... ) );
|
||||
/*SUPPRESS 652*/ /* 1.? */
|
||||
/*SUPPRESS 842*/ /* 4.0.2 */
|
||||
struct Symbol_; /* mention Symbol to avoid warning on following line */
|
||||
extern void ERRORreport_with_symbol PROTO( ( Error, struct Symbol_ *, ... ) );
|
||||
extern void ERRORreport_with_line PROTO( ( Error, int, ... ) );
|
||||
extern void ERRORbuffer_messages PROTO( ( bool ) );
|
||||
extern void ERRORflush_messages PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT void ERRORreport_with_symbol PROTO( ( Error, struct Symbol_ *, ... ) );
|
||||
extern SCL_EXPRESS_EXPORT void ERRORreport_with_line PROTO( ( Error, int, ... ) );
|
||||
#if !supports_inline_functions
|
||||
extern SCL_EXPRESS_EXPORT void ERRORbuffer_messages PROTO( ( bool ) );
|
||||
extern SCL_EXPRESS_EXPORT void ERRORflush_messages PROTO( ( void ) );
|
||||
#endif
|
||||
|
||||
extern void ERROR_start_message_buffer PROTO( ( void ) );
|
||||
extern void ERROR_flush_message_buffer PROTO( ( void ) );
|
||||
#ifndef __MSVC__
|
||||
extern SCL_EXPRESS_EXPORT void ERROR_start_message_buffer PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT void ERROR_flush_message_buffer PROTO( ( void ) );
|
||||
#endif
|
||||
|
||||
extern void ERRORcreate_warning PROTO( ( char *, Error ) );
|
||||
extern void ERRORset_warning PROTO( ( char *, int ) );
|
||||
extern void ERRORset_all_warnings PROTO( ( int ) );
|
||||
extern void ERRORsafe PROTO( ( jmp_buf env ) );
|
||||
extern void ERRORunsafe PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT void ERRORcreate_warning PROTO( ( char *, Error ) );
|
||||
extern SCL_EXPRESS_EXPORT void ERRORset_warning PROTO( ( char *, int ) );
|
||||
extern SCL_EXPRESS_EXPORT void ERRORset_all_warnings PROTO( ( int ) );
|
||||
extern SCL_EXPRESS_EXPORT void ERRORsafe PROTO( ( jmp_buf env ) );
|
||||
extern SCL_EXPRESS_EXPORT void ERRORunsafe PROTO( ( void ) );
|
||||
|
||||
#if deprecated
|
||||
extern void ERRORdisable PROTO( ( Error ) );
|
||||
|
|
|
|||
|
|
@ -62,6 +62,7 @@
|
|||
/* packages used */
|
||||
/*****************/
|
||||
|
||||
#include <scl_export.h>
|
||||
#include <math.h>
|
||||
#include "expbasic.h" /* get basic definitions */
|
||||
|
||||
|
|
@ -198,23 +199,23 @@ struct EXPop_entry {
|
|||
#include "decstart.h"
|
||||
#endif /*EXPRESSION_C*/
|
||||
|
||||
GLOBAL struct EXPop_entry EXPop_table[OP_LAST];
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct EXPop_entry EXPop_table[OP_LAST];
|
||||
|
||||
GLOBAL Expression LITERAL_E INITIALLY( EXPRESSION_NULL );
|
||||
GLOBAL Expression LITERAL_INFINITY INITIALLY( EXPRESSION_NULL );
|
||||
GLOBAL Expression LITERAL_PI INITIALLY( EXPRESSION_NULL );
|
||||
GLOBAL Expression LITERAL_ZERO INITIALLY( EXPRESSION_NULL );
|
||||
GLOBAL Expression LITERAL_ONE;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Expression LITERAL_E INITIALLY( EXPRESSION_NULL );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Expression LITERAL_INFINITY INITIALLY( EXPRESSION_NULL );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Expression LITERAL_PI INITIALLY( EXPRESSION_NULL );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Expression LITERAL_ZERO INITIALLY( EXPRESSION_NULL );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Expression LITERAL_ONE;
|
||||
|
||||
GLOBAL Error ERROR_bad_qualification INITIALLY( ERROR_none );
|
||||
GLOBAL Error ERROR_integer_expression_expected INITIALLY( ERROR_none );
|
||||
GLOBAL Error ERROR_implicit_downcast INITIALLY( ERROR_none );
|
||||
GLOBAL Error ERROR_ambig_implicit_downcast INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_bad_qualification INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_integer_expression_expected INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_implicit_downcast INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_ambig_implicit_downcast INITIALLY( ERROR_none );
|
||||
|
||||
GLOBAL struct freelist_head EXP_fl;
|
||||
GLOBAL struct freelist_head OP_fl;
|
||||
GLOBAL struct freelist_head QUERY_fl;
|
||||
GLOBAL struct freelist_head QUAL_ATTR_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head EXP_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head OP_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head QUERY_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head QUAL_ATTR_fl;
|
||||
|
||||
#include "de_end.h"
|
||||
|
||||
|
|
@ -269,16 +270,16 @@ GLOBAL struct freelist_head QUAL_ATTR_fl;
|
|||
/* function prototypes */
|
||||
/***********************/
|
||||
|
||||
extern Expression EXPcreate PROTO( ( Type ) );
|
||||
extern Expression EXPcreate_simple PROTO( ( Type ) );
|
||||
extern Expression EXPcreate_from_symbol PROTO( ( Type, Symbol * ) );
|
||||
extern Expression UN_EXPcreate PROTO( ( Op_Code, Expression ) );
|
||||
extern Expression BIN_EXPcreate PROTO( ( Op_Code, Expression, Expression ) );
|
||||
extern Expression TERN_EXPcreate PROTO( ( Op_Code, Expression, Expression, Expression ) );
|
||||
extern Expression QUERYcreate PROTO( ( Symbol *, Expression ) );
|
||||
extern void EXPinitialize PROTO( ( void ) );
|
||||
extern Type EXPtype PROTO( ( Expression, struct Scope_ * ) );
|
||||
extern int EXPget_integer_value PROTO( ( Expression ) );
|
||||
extern SCL_EXPRESS_EXPORT Expression EXPcreate PROTO( ( Type ) );
|
||||
extern SCL_EXPRESS_EXPORT Expression EXPcreate_simple PROTO( ( Type ) );
|
||||
extern SCL_EXPRESS_EXPORT Expression EXPcreate_from_symbol PROTO( ( Type, Symbol * ) );
|
||||
extern SCL_EXPRESS_EXPORT Expression UN_EXPcreate PROTO( ( Op_Code, Expression ) );
|
||||
extern SCL_EXPRESS_EXPORT Expression BIN_EXPcreate PROTO( ( Op_Code, Expression, Expression ) );
|
||||
extern SCL_EXPRESS_EXPORT Expression TERN_EXPcreate PROTO( ( Op_Code, Expression, Expression, Expression ) );
|
||||
extern SCL_EXPRESS_EXPORT Expression QUERYcreate PROTO( ( Symbol *, Expression ) );
|
||||
extern SCL_EXPRESS_EXPORT void EXPinitialize PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT Type EXPtype PROTO( ( Expression, struct Scope_ * ) );
|
||||
extern SCL_EXPRESS_EXPORT int EXPget_integer_value PROTO( ( Expression ) );
|
||||
|
||||
/********************/
|
||||
/* inline functions */
|
||||
|
|
|
|||
|
|
@ -52,6 +52,7 @@
|
|||
/* packages used */
|
||||
/*****************/
|
||||
|
||||
#include <scl_export.h>
|
||||
#include "expbasic.h" /* get basic definitions */
|
||||
#include <string.h>
|
||||
#include "scope.h"
|
||||
|
|
@ -98,150 +99,150 @@ struct Express_ {
|
|||
# define INITIALLY(value)
|
||||
#endif /*EXPRESS_C*/
|
||||
|
||||
GLOBAL Linked_List EXPRESS_path;
|
||||
GLOBAL int EXPRESSpass;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Linked_List EXPRESS_path;
|
||||
GLOBAL SCL_EXPRESS_EXPORT int EXPRESSpass;
|
||||
|
||||
GLOBAL void ( *EXPRESSinit_args ) PROTO( ( int, char ** ) ) INITIALLY( 0 );
|
||||
GLOBAL void ( *EXPRESSinit_parse ) PROTO( ( void ) ) INITIALLY( 0 );
|
||||
GLOBAL int ( *EXPRESSfail ) PROTO( ( Express ) ) INITIALLY( 0 );
|
||||
GLOBAL int ( *EXPRESSsucceed ) PROTO( ( Express ) ) INITIALLY( 0 );
|
||||
GLOBAL void ( *EXPRESSbackend ) PROTO( ( Express ) ) INITIALLY( 0 );
|
||||
GLOBAL char * EXPRESSprogram_name;
|
||||
extern char EXPRESSgetopt_options[]; /* initialized elsewhere */
|
||||
GLOBAL int ( *EXPRESSgetopt ) PROTO( ( int, char * ) ) INITIALLY( 0 );
|
||||
GLOBAL bool EXPRESSignore_duplicate_schemas INITIALLY( false );
|
||||
GLOBAL SCL_EXPRESS_EXPORT void ( *EXPRESSinit_args ) PROTO( ( int, char ** ) ) INITIALLY( 0 );
|
||||
GLOBAL SCL_EXPRESS_EXPORT void ( *EXPRESSinit_parse ) PROTO( ( void ) ) INITIALLY( 0 );
|
||||
GLOBAL SCL_EXPRESS_EXPORT int ( *EXPRESSfail ) PROTO( ( Express ) ) INITIALLY( 0 );
|
||||
GLOBAL SCL_EXPRESS_EXPORT int ( *EXPRESSsucceed ) PROTO( ( Express ) ) INITIALLY( 0 );
|
||||
GLOBAL SCL_EXPRESS_EXPORT void ( *EXPRESSbackend ) PROTO( ( Express ) ) INITIALLY( 0 );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * EXPRESSprogram_name;
|
||||
extern SCL_EXPRESS_EXPORT char EXPRESSgetopt_options[]; /* initialized elsewhere */
|
||||
GLOBAL SCL_EXPRESS_EXPORT int ( *EXPRESSgetopt ) PROTO( ( int, char * ) ) INITIALLY( 0 );
|
||||
GLOBAL SCL_EXPRESS_EXPORT bool EXPRESSignore_duplicate_schemas INITIALLY( false );
|
||||
|
||||
GLOBAL Dictionary EXPRESSbuiltins; /* procedures/functions */
|
||||
GLOBAL SCL_EXPRESS_EXPORT Dictionary EXPRESSbuiltins; /* procedures/functions */
|
||||
|
||||
GLOBAL Error ERROR_bail_out INITIALLY( ERROR_none );
|
||||
GLOBAL Error ERROR_syntax INITIALLY( ERROR_none );
|
||||
GLOBAL Error ERROR_unlabelled_param_type INITIALLY( ERROR_none );
|
||||
GLOBAL Error ERROR_file_unreadable;
|
||||
GLOBAL Error ERROR_file_unwriteable;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_bail_out INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_syntax INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_unlabelled_param_type INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_file_unreadable;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_file_unwriteable;
|
||||
|
||||
GLOBAL struct Scope_ * FUNC_NVL;
|
||||
GLOBAL struct Scope_ * FUNC_USEDIN;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct Scope_ * FUNC_NVL;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct Scope_ * FUNC_USEDIN;
|
||||
|
||||
GLOBAL char * KW_ABS INITIALLY( "ABS" );
|
||||
GLOBAL char * KW_ABSTRACT INITIALLY( "ABSTRACT" );
|
||||
GLOBAL char * KW_ACOS INITIALLY( "ACOS" );
|
||||
GLOBAL char * KW_AGGREGATE INITIALLY( "AGGREGATE" );
|
||||
GLOBAL char * KW_ALIAS INITIALLY( "ALIAS" );
|
||||
GLOBAL char * KW_AND INITIALLY( "AND" );
|
||||
GLOBAL char * KW_ANDOR INITIALLY( "ANDOR" );
|
||||
GLOBAL char * KW_ARRAY INITIALLY( "ARRAY" );
|
||||
GLOBAL char * KW_AS INITIALLY( "AS" );
|
||||
GLOBAL char * KW_ASIN INITIALLY( "ASIN" );
|
||||
GLOBAL char * KW_ATAN INITIALLY( "ATAN" );
|
||||
GLOBAL char * KW_BAG INITIALLY( "BAG" );
|
||||
GLOBAL char * KW_BEGIN INITIALLY( "BEGIN" );
|
||||
GLOBAL char * KW_BINARY INITIALLY( "BINARY" );
|
||||
GLOBAL char * KW_BLENGTH INITIALLY( "BLENGTH" );
|
||||
GLOBAL char * KW_BOOLEAN INITIALLY( "BOOLEAN" );
|
||||
GLOBAL char * KW_BY INITIALLY( "BY" );
|
||||
GLOBAL char * KW_CASE INITIALLY( "CASE" );
|
||||
GLOBAL char * KW_CONST_E INITIALLY( "CONST_E" );
|
||||
GLOBAL char * KW_CONSTANT INITIALLY( "CONSTANT" );
|
||||
GLOBAL char * KW_CONTEXT INITIALLY( "CONTEXT" );
|
||||
GLOBAL char * KW_COS INITIALLY( "COS" );
|
||||
GLOBAL char * KW_DERIVE INITIALLY( "DERIVE" );
|
||||
GLOBAL char * KW_DIV INITIALLY( "DIV" );
|
||||
GLOBAL char * KW_ELSE INITIALLY( "ELSE" );
|
||||
GLOBAL char * KW_END INITIALLY( "END" );
|
||||
GLOBAL char * KW_END_ALIAS INITIALLY( "END_ALIAS" );
|
||||
GLOBAL char * KW_END_CASE INITIALLY( "END_CASE" );
|
||||
GLOBAL char * KW_END_CONSTANT INITIALLY( "END_CONSTANT" );
|
||||
GLOBAL char * KW_END_CONTEXT INITIALLY( "END_CONTEXT" );
|
||||
GLOBAL char * KW_END_ENTITY INITIALLY( "END_ENTITY" );
|
||||
GLOBAL char * KW_END_FUNCTION INITIALLY( "END_FUNCTION" );
|
||||
GLOBAL char * KW_END_IF INITIALLY( "END_IF" );
|
||||
GLOBAL char * KW_END_LOCAL INITIALLY( "END_LOCAL" );
|
||||
GLOBAL char * KW_END_MODEL INITIALLY( "END_MODEL" );
|
||||
GLOBAL char * KW_END_PROCEDURE INITIALLY( "END_PROCEDURE" );
|
||||
GLOBAL char * KW_END_REPEAT INITIALLY( "END_REPEAT" );
|
||||
GLOBAL char * KW_END_RULE INITIALLY( "END_RULE" );
|
||||
GLOBAL char * KW_END_SCHEMA INITIALLY( "END_SCHEMA" );
|
||||
GLOBAL char * KW_END_TYPE INITIALLY( "END_TYPE" );
|
||||
GLOBAL char * KW_ENTITY INITIALLY( "ENTITY" );
|
||||
GLOBAL char * KW_ENUMERATION INITIALLY( "ENUMERATION" );
|
||||
GLOBAL char * KW_ESCAPE INITIALLY( "ESCAPE" );
|
||||
GLOBAL char * KW_EXISTS INITIALLY( "EXISTS" );
|
||||
GLOBAL char * KW_EXP INITIALLY( "EXP" );
|
||||
GLOBAL char * KW_FALSE INITIALLY( "FALSE" );
|
||||
GLOBAL char * KW_FIXED INITIALLY( "FIXED" );
|
||||
GLOBAL char * KW_FOR INITIALLY( "FOR" );
|
||||
GLOBAL char * KW_FORMAT INITIALLY( "FORMAT" );
|
||||
GLOBAL char * KW_FROM INITIALLY( "FROM" );
|
||||
GLOBAL char * KW_FUNCTION INITIALLY( "FUNCTION" );
|
||||
GLOBAL char * KW_GENERIC INITIALLY( "GENERIC" );
|
||||
GLOBAL char * KW_HIBOUND INITIALLY( "HIBOUND" );
|
||||
GLOBAL char * KW_HIINDEX INITIALLY( "HIINDEX" );
|
||||
GLOBAL char * KW_IF INITIALLY( "IF" );
|
||||
GLOBAL char * KW_IN INITIALLY( "IN" );
|
||||
GLOBAL char * KW_INCLUDE INITIALLY( "INCLUDE" );
|
||||
GLOBAL char * KW_INSERT INITIALLY( "INSERT" );
|
||||
GLOBAL char * KW_INTEGER INITIALLY( "INTEGER" );
|
||||
GLOBAL char * KW_INVERSE INITIALLY( "INVERSE" );
|
||||
GLOBAL char * KW_LENGTH INITIALLY( "LENGTH" );
|
||||
GLOBAL char * KW_LIKE INITIALLY( "LIKE" );
|
||||
GLOBAL char * KW_LIST INITIALLY( "LIST" );
|
||||
GLOBAL char * KW_LOBOUND INITIALLY( "LOBOUND" );
|
||||
GLOBAL char * KW_LOCAL INITIALLY( "LOCAL" );
|
||||
GLOBAL char * KW_LOG INITIALLY( "LOG" );
|
||||
GLOBAL char * KW_LOG10 INITIALLY( "LOG10" );
|
||||
GLOBAL char * KW_LOG2 INITIALLY( "LOG2" );
|
||||
GLOBAL char * KW_LOGICAL INITIALLY( "LOGICAL" );
|
||||
GLOBAL char * KW_LOINDEX INITIALLY( "LOINDEX" );
|
||||
GLOBAL char * KW_MOD INITIALLY( "MOD" );
|
||||
GLOBAL char * KW_MODEL INITIALLY( "MODEL" );
|
||||
GLOBAL char * KW_NOT INITIALLY( "NOT" );
|
||||
GLOBAL char * KW_NUMBER INITIALLY( "NUMBER" );
|
||||
GLOBAL char * KW_NVL INITIALLY( "NVL" );
|
||||
GLOBAL char * KW_ODD INITIALLY( "ODD" );
|
||||
GLOBAL char * KW_OF INITIALLY( "OF" );
|
||||
GLOBAL char * KW_ONEOF INITIALLY( "ONEOF" );
|
||||
GLOBAL char * KW_OPTIONAL INITIALLY( "OPTIONAL" );
|
||||
GLOBAL char * KW_OR INITIALLY( "OR" );
|
||||
GLOBAL char * KW_OTHERWISE INITIALLY( "OTHERWISE" );
|
||||
GLOBAL char * KW_PI INITIALLY( "PI" );
|
||||
GLOBAL char * KW_PROCEDURE INITIALLY( "PROCEDURE" );
|
||||
GLOBAL char * KW_QUERY INITIALLY( "QUERY" );
|
||||
GLOBAL char * KW_REAL INITIALLY( "REAL" );
|
||||
GLOBAL char * KW_REFERENCE INITIALLY( "REFERENCE" );
|
||||
GLOBAL char * KW_REMOVE INITIALLY( "REMOVE" );
|
||||
GLOBAL char * KW_REPEAT INITIALLY( "REPEAT" );
|
||||
GLOBAL char * KW_RETURN INITIALLY( "RETURN" );
|
||||
GLOBAL char * KW_ROLESOF INITIALLY( "ROLESOF" );
|
||||
GLOBAL char * KW_RULE INITIALLY( "RULE" );
|
||||
GLOBAL char * KW_SCHEMA INITIALLY( "SCHEMA" );
|
||||
GLOBAL char * KW_SELECT INITIALLY( "SELECT" );
|
||||
GLOBAL char * KW_SELF INITIALLY( "SELF" );
|
||||
GLOBAL char * KW_SET INITIALLY( "SET" );
|
||||
GLOBAL char * KW_SIN INITIALLY( "SIN" );
|
||||
GLOBAL char * KW_SIZEOF INITIALLY( "SIZEOF" );
|
||||
GLOBAL char * KW_SKIP INITIALLY( "SKIP" );
|
||||
GLOBAL char * KW_SQRT INITIALLY( "SQRT" );
|
||||
GLOBAL char * KW_STRING INITIALLY( "STRING" );
|
||||
GLOBAL char * KW_SUBTYPE INITIALLY( "SUBTYPE" );
|
||||
GLOBAL char * KW_SUPERTYPE INITIALLY( "SUPERTYPE" );
|
||||
GLOBAL char * KW_TAN INITIALLY( "TAN" );
|
||||
GLOBAL char * KW_THEN INITIALLY( "THEN" );
|
||||
GLOBAL char * KW_TO INITIALLY( "TO" );
|
||||
GLOBAL char * KW_TRUE INITIALLY( "TRUE" );
|
||||
GLOBAL char * KW_TYPE INITIALLY( "TYPE" );
|
||||
GLOBAL char * KW_TYPEOF INITIALLY( "TYPEOF" );
|
||||
GLOBAL char * KW_UNIQUE INITIALLY( "UNIQUE" );
|
||||
GLOBAL char * KW_UNKNOWN INITIALLY( "UNKNOWN" );
|
||||
GLOBAL char * KW_UNTIL INITIALLY( "UNTIL" );
|
||||
GLOBAL char * KW_USE INITIALLY( "USE" );
|
||||
GLOBAL char * KW_USEDIN INITIALLY( "USEDIN" );
|
||||
GLOBAL char * KW_VALUE INITIALLY( "VALUE" );
|
||||
GLOBAL char * KW_VALUE_IN INITIALLY( "VALUE_IN" );
|
||||
GLOBAL char * KW_VALUE_UNIQUE INITIALLY( "VALUE_UNIQUE" );
|
||||
GLOBAL char * KW_VAR INITIALLY( "VAR" );
|
||||
GLOBAL char * KW_WHERE INITIALLY( "WHERE" );
|
||||
GLOBAL char * KW_WHILE INITIALLY( "WHILE" );
|
||||
GLOBAL char * KW_XOR INITIALLY( "XOR" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_ABS INITIALLY( "ABS" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_ABSTRACT INITIALLY( "ABSTRACT" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_ACOS INITIALLY( "ACOS" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_AGGREGATE INITIALLY( "AGGREGATE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_ALIAS INITIALLY( "ALIAS" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_AND INITIALLY( "AND" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_ANDOR INITIALLY( "ANDOR" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_ARRAY INITIALLY( "ARRAY" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_AS INITIALLY( "AS" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_ASIN INITIALLY( "ASIN" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_ATAN INITIALLY( "ATAN" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_BAG INITIALLY( "BAG" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_BEGIN INITIALLY( "BEGIN" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_BINARY INITIALLY( "BINARY" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_BLENGTH INITIALLY( "BLENGTH" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_BOOLEAN INITIALLY( "BOOLEAN" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_BY INITIALLY( "BY" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_CASE INITIALLY( "CASE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_CONST_E INITIALLY( "CONST_E" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_CONSTANT INITIALLY( "CONSTANT" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_CONTEXT INITIALLY( "CONTEXT" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_COS INITIALLY( "COS" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_DERIVE INITIALLY( "DERIVE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_DIV INITIALLY( "DIV" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_ELSE INITIALLY( "ELSE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_END INITIALLY( "END" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_ALIAS INITIALLY( "END_ALIAS" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_CASE INITIALLY( "END_CASE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_CONSTANT INITIALLY( "END_CONSTANT" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_CONTEXT INITIALLY( "END_CONTEXT" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_ENTITY INITIALLY( "END_ENTITY" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_FUNCTION INITIALLY( "END_FUNCTION" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_IF INITIALLY( "END_IF" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_LOCAL INITIALLY( "END_LOCAL" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_MODEL INITIALLY( "END_MODEL" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_PROCEDURE INITIALLY( "END_PROCEDURE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_REPEAT INITIALLY( "END_REPEAT" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_RULE INITIALLY( "END_RULE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_SCHEMA INITIALLY( "END_SCHEMA" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_TYPE INITIALLY( "END_TYPE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_ENTITY INITIALLY( "ENTITY" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_ENUMERATION INITIALLY( "ENUMERATION" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_ESCAPE INITIALLY( "ESCAPE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_EXISTS INITIALLY( "EXISTS" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_EXP INITIALLY( "EXP" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_FALSE INITIALLY( "FALSE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_FIXED INITIALLY( "FIXED" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_FOR INITIALLY( "FOR" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_FORMAT INITIALLY( "FORMAT" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_FROM INITIALLY( "FROM" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_FUNCTION INITIALLY( "FUNCTION" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_GENERIC INITIALLY( "GENERIC" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_HIBOUND INITIALLY( "HIBOUND" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_HIINDEX INITIALLY( "HIINDEX" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_IF INITIALLY( "IF" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_IN INITIALLY( "IN" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_INCLUDE INITIALLY( "INCLUDE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_INSERT INITIALLY( "INSERT" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_INTEGER INITIALLY( "INTEGER" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_INVERSE INITIALLY( "INVERSE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_LENGTH INITIALLY( "LENGTH" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_LIKE INITIALLY( "LIKE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_LIST INITIALLY( "LIST" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_LOBOUND INITIALLY( "LOBOUND" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_LOCAL INITIALLY( "LOCAL" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_LOG INITIALLY( "LOG" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_LOG10 INITIALLY( "LOG10" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_LOG2 INITIALLY( "LOG2" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_LOGICAL INITIALLY( "LOGICAL" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_LOINDEX INITIALLY( "LOINDEX" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_MOD INITIALLY( "MOD" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_MODEL INITIALLY( "MODEL" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_NOT INITIALLY( "NOT" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_NUMBER INITIALLY( "NUMBER" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_NVL INITIALLY( "NVL" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_ODD INITIALLY( "ODD" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_OF INITIALLY( "OF" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_ONEOF INITIALLY( "ONEOF" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_OPTIONAL INITIALLY( "OPTIONAL" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_OR INITIALLY( "OR" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_OTHERWISE INITIALLY( "OTHERWISE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_PI INITIALLY( "PI" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_PROCEDURE INITIALLY( "PROCEDURE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_QUERY INITIALLY( "QUERY" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_REAL INITIALLY( "REAL" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_REFERENCE INITIALLY( "REFERENCE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_REMOVE INITIALLY( "REMOVE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_REPEAT INITIALLY( "REPEAT" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_RETURN INITIALLY( "RETURN" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_ROLESOF INITIALLY( "ROLESOF" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_RULE INITIALLY( "RULE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_SCHEMA INITIALLY( "SCHEMA" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_SELECT INITIALLY( "SELECT" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_SELF INITIALLY( "SELF" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_SET INITIALLY( "SET" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_SIN INITIALLY( "SIN" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_SIZEOF INITIALLY( "SIZEOF" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_SKIP INITIALLY( "SKIP" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_SQRT INITIALLY( "SQRT" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_STRING INITIALLY( "STRING" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_SUBTYPE INITIALLY( "SUBTYPE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_SUPERTYPE INITIALLY( "SUPERTYPE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_TAN INITIALLY( "TAN" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_THEN INITIALLY( "THEN" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_TO INITIALLY( "TO" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_TRUE INITIALLY( "TRUE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_TYPE INITIALLY( "TYPE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_TYPEOF INITIALLY( "TYPEOF" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_UNIQUE INITIALLY( "UNIQUE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_UNKNOWN INITIALLY( "UNKNOWN" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_UNTIL INITIALLY( "UNTIL" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_USE INITIALLY( "USE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_USEDIN INITIALLY( "USEDIN" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_VALUE INITIALLY( "VALUE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_VALUE_IN INITIALLY( "VALUE_IN" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_VALUE_UNIQUE INITIALLY( "VALUE_UNIQUE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_VAR INITIALLY( "VAR" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_WHERE INITIALLY( "WHERE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_WHILE INITIALLY( "WHILE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_XOR INITIALLY( "XOR" );
|
||||
|
||||
#undef GLOBAL
|
||||
#undef INITIALLY
|
||||
|
|
@ -267,17 +268,17 @@ GLOBAL char * KW_XOR INITIALLY( "XOR" );
|
|||
/* function prototypes */
|
||||
/***********************/
|
||||
|
||||
extern Express EXPRESScreate PROTO( ( void ) );
|
||||
extern void EXPRESSparse PROTO( ( Express, FILE *, char * ) );
|
||||
extern void EXPRESSinitialize PROTO( ( void ) );
|
||||
extern void EXPRESSresolve PROTO( ( Express ) );
|
||||
extern char * EXPRESSversion PROTO( ( void ) );
|
||||
extern int EXPRESS_fail PROTO( ( Express ) );
|
||||
extern int EXPRESS_succeed PROTO( ( Express ) );
|
||||
extern void EXPRESSinit_init PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT Express EXPRESScreate PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT void EXPRESSparse PROTO( ( Express, FILE *, char * ) );
|
||||
extern SCL_EXPRESS_EXPORT void EXPRESSinitialize PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT void EXPRESSresolve PROTO( ( Express ) );
|
||||
extern SCL_EXPRESS_EXPORT char *EXPRESSversion PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT int EXPRESS_fail PROTO( ( Express ) );
|
||||
extern SCL_EXPRESS_EXPORT int EXPRESS_succeed PROTO( ( Express ) );
|
||||
extern SCL_EXPRESS_EXPORT void EXPRESSinit_init PROTO( ( void ) );
|
||||
#if 0
|
||||
extern void EXPRESSdump_model PROTO( ( Express ) );
|
||||
#endif /*0*/
|
||||
extern void build_complex( Express );
|
||||
extern SCL_EXPRESS_EXPORT void build_complex( Express );
|
||||
|
||||
#endif /*EXPRESS_H*/
|
||||
|
|
|
|||
|
|
@ -101,6 +101,7 @@
|
|||
/* packages used */
|
||||
/*****************/
|
||||
|
||||
#include <scl_export.h>
|
||||
#ifdef HASH_C
|
||||
#include <assert.h>
|
||||
#endif /*HASH_C*/
|
||||
|
|
@ -171,8 +172,8 @@ typedef struct {
|
|||
# define INITIALLY(value)
|
||||
#endif /*HASH_C*/
|
||||
|
||||
GLOBAL struct freelist_head HASH_Table_fl;
|
||||
GLOBAL struct freelist_head HASH_Element_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head HASH_Table_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head HASH_Element_fl;
|
||||
|
||||
#undef GLOBAL
|
||||
#undef INITIALLY
|
||||
|
|
@ -211,14 +212,14 @@ This change only seems to have affected hash.h and hash.c
|
|||
/* function prototypes */
|
||||
/***********************/
|
||||
|
||||
extern void HASHinitialize PROTO( ( void ) );
|
||||
extern Hash_Table HASHcreate PROTO( ( unsigned ) );
|
||||
extern Hash_Table HASHcopy PROTO( ( Hash_Table ) );
|
||||
extern void HASHdestroy PROTO( ( Hash_Table ) );
|
||||
extern Element HASHsearch PROTO( ( Hash_Table, Element, Action ) );
|
||||
extern void HASHlistinit PROTO( ( Hash_Table, HashEntry * ) );
|
||||
extern void HASHlistinit_by_type PROTO( ( Hash_Table, HashEntry *, char ) );
|
||||
extern Element HASHlist PROTO( ( HashEntry * ) );
|
||||
extern SCL_EXPRESS_EXPORT void HASHinitialize PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT Hash_Table HASHcreate PROTO( ( unsigned ) );
|
||||
extern SCL_EXPRESS_EXPORT Hash_Table HASHcopy PROTO( ( Hash_Table ) );
|
||||
extern SCL_EXPRESS_EXPORT void HASHdestroy PROTO( ( Hash_Table ) );
|
||||
extern SCL_EXPRESS_EXPORT Element HASHsearch PROTO( ( Hash_Table, Element, Action ) );
|
||||
extern SCL_EXPRESS_EXPORT void HASHlistinit PROTO( ( Hash_Table, HashEntry * ) );
|
||||
extern SCL_EXPRESS_EXPORT void HASHlistinit_by_type PROTO( ( Hash_Table, HashEntry *, char ) );
|
||||
extern SCL_EXPRESS_EXPORT Element HASHlist PROTO( ( HashEntry * ) );
|
||||
#if 0
|
||||
extern void HASHlistend PROTO( ( HashEntry * ) );
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@
|
|||
/* packages used */
|
||||
/*****************/
|
||||
|
||||
#include <scl_export.h>
|
||||
#include <ctype.h>
|
||||
#include "basic.h"
|
||||
#include "error.h"
|
||||
|
|
@ -77,19 +78,19 @@ typedef struct Scan_Buffer {
|
|||
# define INITIALLY(value)
|
||||
#endif /* LEX_ACTIONS_C */
|
||||
|
||||
GLOBAL Scan_Buffer SCAN_buffers[SCAN_NESTING_DEPTH];
|
||||
GLOBAL int SCAN_current_buffer INITIALLY( 0 );
|
||||
GLOBAL char * SCANcurrent;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Scan_Buffer SCAN_buffers[SCAN_NESTING_DEPTH];
|
||||
GLOBAL SCL_EXPRESS_EXPORT int SCAN_current_buffer INITIALLY( 0 );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * SCANcurrent;
|
||||
|
||||
GLOBAL Error ERROR_include_file INITIALLY( ERROR_none );
|
||||
GLOBAL Error ERROR_unmatched_close_comment INITIALLY( ERROR_none );
|
||||
GLOBAL Error ERROR_unmatched_open_comment INITIALLY( ERROR_none );
|
||||
GLOBAL Error ERROR_unterminated_string INITIALLY( ERROR_none );
|
||||
GLOBAL Error ERROR_encoded_string_bad_digit INITIALLY( ERROR_none );
|
||||
GLOBAL Error ERROR_encoded_string_bad_count INITIALLY( ERROR_none );
|
||||
GLOBAL Error ERROR_bad_identifier INITIALLY( ERROR_none );
|
||||
GLOBAL Error ERROR_unexpected_character INITIALLY( ERROR_none );
|
||||
GLOBAL Error ERROR_nonascii_char;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_include_file INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_unmatched_close_comment INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_unmatched_open_comment INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_unterminated_string INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_encoded_string_bad_digit INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_encoded_string_bad_count INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_bad_identifier INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_unexpected_character INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_nonascii_char;
|
||||
|
||||
|
||||
#undef GLOBAL
|
||||
|
|
@ -112,27 +113,27 @@ GLOBAL Error ERROR_nonascii_char;
|
|||
/* function prototypes */
|
||||
/***********************/
|
||||
|
||||
extern int yylex PROTO( ( void ) ); /* the scanner */
|
||||
extern SCL_EXPRESS_EXPORT int yylex PROTO( ( void ) ); /* the scanner */
|
||||
|
||||
extern void SCANinitialize PROTO( ( void ) );
|
||||
extern int SCANprocess_real_literal PROTO( ( void ) );
|
||||
extern int SCANprocess_integer_literal PROTO( ( void ) );
|
||||
extern int SCANprocess_binary_literal PROTO( ( void ) );
|
||||
extern int SCANprocess_logical_literal PROTO( ( char * ) );
|
||||
extern int SCANprocess_identifier_or_keyword PROTO( ( void ) );
|
||||
extern int SCANprocess_string PROTO( ( void ) );
|
||||
extern int SCANprocess_encoded_string PROTO( ( void ) );
|
||||
extern int SCANprocess_semicolon PROTO( ( int ) );
|
||||
extern void SCANsave_comment PROTO( ( void ) );
|
||||
extern bool SCANread PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT void SCANinitialize PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT int SCANprocess_real_literal PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT int SCANprocess_integer_literal PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT int SCANprocess_binary_literal PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT int SCANprocess_logical_literal PROTO( ( char * ) );
|
||||
extern SCL_EXPRESS_EXPORT int SCANprocess_identifier_or_keyword PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT int SCANprocess_string PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT int SCANprocess_encoded_string PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT int SCANprocess_semicolon PROTO( ( int ) );
|
||||
extern SCL_EXPRESS_EXPORT void SCANsave_comment PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT bool SCANread PROTO( ( void ) );
|
||||
#if macros_bit_the_dust
|
||||
extern void SCANdefine_macro PROTO( ( char *, char * ) );
|
||||
extern SCL_EXPRESS_EXPORT void SCANdefine_macro PROTO( ( char *, char * ) );
|
||||
#endif
|
||||
extern void SCANinclude_file PROTO( ( char * ) );
|
||||
void SCANlowerize PROTO( ( char * ) );
|
||||
void SCANupperize PROTO( ( char * ) );
|
||||
extern char * SCANstrdup PROTO( ( char * ) );
|
||||
extern long SCANtell PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT void SCANinclude_file PROTO( ( char * ) );
|
||||
SCL_EXPRESS_EXPORT void SCANlowerize PROTO( ( char * ) );
|
||||
SCL_EXPRESS_EXPORT void SCANupperize PROTO( ( char * ) );
|
||||
extern SCL_EXPRESS_EXPORT char * SCANstrdup PROTO( ( char * ) );
|
||||
extern SCL_EXPRESS_EXPORT long SCANtell PROTO( ( void ) );
|
||||
|
||||
/*******************************/
|
||||
/* inline function definitions */
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@
|
|||
/* packages used */
|
||||
/*****************/
|
||||
|
||||
#include <scl_export.h>
|
||||
#include "basic.h"
|
||||
#include "memory.h"
|
||||
|
||||
|
|
@ -81,10 +82,10 @@ struct Linked_List_ {
|
|||
#include "decstart.h"
|
||||
#endif /*LINKED_LIST_C*/
|
||||
|
||||
GLOBAL Error ERROR_empty_list INITIALLY( ERROR_none );
|
||||
GLOBAL struct freelist_head LINK_fl;
|
||||
GLOBAL struct freelist_head LIST_fl;
|
||||
GLOBAL Linked_List LINK__l; /* for LISTcreate_with macro - ugh */
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_empty_list INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head LINK_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head LIST_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Linked_List LINK__l; /* for LISTcreate_with macro - ugh */
|
||||
|
||||
#include "de_end.h"
|
||||
|
||||
|
|
@ -138,21 +139,21 @@ GLOBAL Linked_List LINK__l; /* for LISTcreate_with macro - ugh */
|
|||
/* function prototypes */
|
||||
/***********************/
|
||||
|
||||
extern void LISTinitialize PROTO( ( void ) );
|
||||
extern Linked_List LISTcreate PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT void LISTinitialize PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT Linked_List LISTcreate PROTO( ( void ) );
|
||||
/*extern Linked_List LISTcreate_with PROTO((Generic));*/
|
||||
extern Linked_List LISTcopy PROTO( ( Linked_List ) );
|
||||
extern Generic LISTadd_first PROTO( ( Linked_List, Generic ) );
|
||||
extern Generic LISTadd_last PROTO( ( Linked_List, Generic ) );
|
||||
extern Generic LISTadd_after PROTO( ( Linked_List, Link, Generic ) );
|
||||
extern Generic LISTadd_before PROTO( ( Linked_List, Link, Generic ) );
|
||||
extern Generic LISTremove_first PROTO( ( Linked_List ) );
|
||||
extern Generic LISTremove PROTO( ( Linked_List, Link ) );
|
||||
extern Generic LISTget_first PROTO( ( Linked_List ) );
|
||||
extern Generic LISTget_second PROTO( ( Linked_List ) );
|
||||
extern Generic LISTget_nth PROTO( ( Linked_List, int ) );
|
||||
extern void LISTfree PROTO( ( Linked_List ) );
|
||||
extern int LISTget_length PROTO( ( Linked_List ) );
|
||||
extern SCL_EXPRESS_EXPORT Linked_List LISTcopy PROTO( ( Linked_List ) );
|
||||
extern SCL_EXPRESS_EXPORT Generic LISTadd_first PROTO( ( Linked_List, Generic ) );
|
||||
extern SCL_EXPRESS_EXPORT Generic LISTadd_last PROTO( ( Linked_List, Generic ) );
|
||||
extern SCL_EXPRESS_EXPORT Generic LISTadd_after PROTO( ( Linked_List, Link, Generic ) );
|
||||
extern SCL_EXPRESS_EXPORT Generic LISTadd_before PROTO( ( Linked_List, Link, Generic ) );
|
||||
extern SCL_EXPRESS_EXPORT Generic LISTremove_first PROTO( ( Linked_List ) );
|
||||
extern SCL_EXPRESS_EXPORT Generic LISTremove PROTO( ( Linked_List, Link ) );
|
||||
extern SCL_EXPRESS_EXPORT Generic LISTget_first PROTO( ( Linked_List ) );
|
||||
extern SCL_EXPRESS_EXPORT Generic LISTget_second PROTO( ( Linked_List ) );
|
||||
extern SCL_EXPRESS_EXPORT Generic LISTget_nth PROTO( ( Linked_List, int ) );
|
||||
extern SCL_EXPRESS_EXPORT void LISTfree PROTO( ( Linked_List ) );
|
||||
extern SCL_EXPRESS_EXPORT int LISTget_length PROTO( ( Linked_List ) );
|
||||
|
||||
/*******************************/
|
||||
/* inline function definitions */
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@
|
|||
/* packages used */
|
||||
/*****************/
|
||||
|
||||
#include <scl_export.h>
|
||||
/* mem.h - defs for fixed size block memory allocator */
|
||||
|
||||
typedef long Align;
|
||||
|
|
@ -83,10 +84,10 @@ extern int yylineno;
|
|||
fprintf(stderr,"fedex: out of space");\
|
||||
} else {}
|
||||
|
||||
void _MEMinitialize PROTO( ( void ) );
|
||||
void MEMinitialize PROTO( ( struct freelist_head *, int, int, int ) );
|
||||
void MEM_destroy PROTO( ( struct freelist_head *, Freelist * ) );
|
||||
Generic MEM_new PROTO( ( struct freelist_head * ) );
|
||||
SCL_EXPRESS_EXPORT void _MEMinitialize PROTO( ( void ) );
|
||||
SCL_EXPRESS_EXPORT void MEMinitialize PROTO( ( struct freelist_head *, int, int, int ) );
|
||||
SCL_EXPRESS_EXPORT void MEM_destroy PROTO( ( struct freelist_head *, Freelist * ) );
|
||||
SCL_EXPRESS_EXPORT Generic MEM_new PROTO( ( struct freelist_head * ) );
|
||||
|
||||
#include "de_end.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -57,6 +57,7 @@
|
|||
/* packages used */
|
||||
/*****************/
|
||||
|
||||
#include <scl_export.h>
|
||||
#include "basic.h" /* get basic definitions */
|
||||
#include "symbol.h"
|
||||
|
||||
|
|
@ -89,7 +90,7 @@ struct Object {
|
|||
#include "decstart.h"
|
||||
#endif /*OBJECT_C */
|
||||
|
||||
GLOBAL struct Object * OBJ;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct Object * OBJ;
|
||||
|
||||
#include "de_end.h"
|
||||
|
||||
|
|
@ -113,9 +114,9 @@ GLOBAL struct Object * OBJ;
|
|||
/* function prototypes */
|
||||
/***********************/
|
||||
|
||||
extern void OBJinitialize PROTO( ( void ) );
|
||||
extern void OBJcreate PROTO( ( char, struct Symbol_ * ( * )( Generic ), char *, int ) );
|
||||
extern Symbol * UNK_get_symbol PROTO( ( Generic x ) );
|
||||
extern SCL_EXPRESS_EXPORT void OBJinitialize PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT void OBJcreate PROTO( ( char, struct Symbol_ * ( * )( Generic ), char *, int ) );
|
||||
extern SCL_EXPRESS_EXPORT Symbol * UNK_get_symbol PROTO( ( Generic x ) );
|
||||
#if 0
|
||||
extern void OBJcreate( char, struct Symbol * ( * )( Generic ), char *, int );
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@
|
|||
* Initial revision
|
||||
*/
|
||||
|
||||
#include <scl_export.h>
|
||||
#include "expbasic.h" /* get basic definitions */
|
||||
#include "type.h"
|
||||
#include "variable.h"
|
||||
|
|
@ -54,17 +55,17 @@
|
|||
# define INITIALLY(value)
|
||||
#endif /*RESOLVE_C*/
|
||||
|
||||
GLOBAL int print_objects_while_running INITIALLY( 0 );
|
||||
GLOBAL SCL_EXPRESS_EXPORT int print_objects_while_running INITIALLY( 0 );
|
||||
|
||||
GLOBAL Error ERROR_undefined_attribute INITIALLY( ERROR_none );
|
||||
GLOBAL Error ERROR_undefined_type INITIALLY( ERROR_none );
|
||||
GLOBAL Error ERROR_undefined_schema INITIALLY( ERROR_none );
|
||||
GLOBAL Error ERROR_unknown_attr_in_entity INITIALLY( ERROR_none );
|
||||
GLOBAL Error ERROR_unknown_subtype INITIALLY( ERROR_none );
|
||||
GLOBAL Error ERROR_unknown_supertype INITIALLY( ERROR_none );
|
||||
GLOBAL Error ERROR_circular_reference INITIALLY( ERROR_none );
|
||||
GLOBAL Error ERROR_ambiguous_attribute INITIALLY( ERROR_none );
|
||||
GLOBAL Error ERROR_ambiguous_group INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_undefined_attribute INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_undefined_type INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_undefined_schema INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_unknown_attr_in_entity INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_unknown_subtype INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_unknown_supertype INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_circular_reference INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_ambiguous_attribute INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_ambiguous_group INITIALLY( ERROR_none );
|
||||
|
||||
#undef GLOBAL
|
||||
#undef INITIALLY
|
||||
|
|
@ -83,14 +84,14 @@ GLOBAL Error ERROR_ambiguous_group INITIALLY( ERROR_none );
|
|||
/* function prototypes */
|
||||
/***********************/
|
||||
|
||||
extern void RESOLVEinitialize PROTO( ( void ) );
|
||||
extern void SCOPEresolve_expressions_statements PROTO( ( Scope ) );
|
||||
extern void SCOPEresolve_subsupers PROTO( ( Scope ) );
|
||||
extern void SCOPEresolve_types PROTO( ( Scope ) );
|
||||
extern SCL_EXPRESS_EXPORT void RESOLVEinitialize PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT void SCOPEresolve_expressions_statements PROTO( ( Scope ) );
|
||||
extern SCL_EXPRESS_EXPORT void SCOPEresolve_subsupers PROTO( ( Scope ) );
|
||||
extern SCL_EXPRESS_EXPORT void SCOPEresolve_types PROTO( ( Scope ) );
|
||||
/*extern void TYPE_resolve PROTO((Type *,Scope));*/
|
||||
extern void TYPE_resolve PROTO( ( Type * ) );
|
||||
extern void EXP_resolve PROTO( ( Expression, Scope, Type ) );
|
||||
extern void ALGresolve PROTO( ( Scope ) );
|
||||
extern void SCHEMAresolve PROTO( ( Scope ) );
|
||||
extern SCL_EXPRESS_EXPORT void TYPE_resolve PROTO( ( Type * ) );
|
||||
extern SCL_EXPRESS_EXPORT void EXP_resolve PROTO( ( Expression, Scope, Type ) );
|
||||
extern SCL_EXPRESS_EXPORT void ALGresolve PROTO( ( Scope ) );
|
||||
extern SCL_EXPRESS_EXPORT void SCHEMAresolve PROTO( ( Scope ) );
|
||||
|
||||
#endif /*RESOLVE_H*/
|
||||
|
|
|
|||
|
|
@ -56,6 +56,7 @@
|
|||
/* packages used */
|
||||
/*****************/
|
||||
|
||||
#include <scl_export.h>
|
||||
#include "expbasic.h" /* get basic definitions */
|
||||
#include "symbol.h"
|
||||
#include "scope.h"
|
||||
|
|
@ -124,11 +125,11 @@ struct Schema_ {
|
|||
# define INITIALLY(value)
|
||||
#endif /* SCHEMA_C */
|
||||
|
||||
GLOBAL struct freelist_head REN_fl;
|
||||
GLOBAL struct freelist_head SCOPE_fl;
|
||||
GLOBAL struct freelist_head SCHEMA_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head REN_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head SCOPE_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head SCHEMA_fl;
|
||||
|
||||
GLOBAL int __SCOPE_search_id INITIALLY( 0 );
|
||||
GLOBAL SCL_EXPRESS_EXPORT int __SCOPE_search_id INITIALLY( 0 );
|
||||
|
||||
#undef GLOBAL
|
||||
#undef INITIALLY
|
||||
|
|
@ -156,19 +157,19 @@ GLOBAL int __SCOPE_search_id INITIALLY( 0 );
|
|||
/* function prototypes */
|
||||
/***********************/
|
||||
|
||||
extern Variable VARfind PROTO( ( Scope, char *, int ) );
|
||||
extern Schema SCHEMAcreate PROTO( ( void ) );
|
||||
extern void SCHEMAinitialize PROTO( ( void ) );
|
||||
extern void SCHEMAadd_use PROTO( ( Schema, Symbol *, Symbol *, Symbol * ) );
|
||||
extern void SCHEMAadd_reference PROTO( ( Schema, Symbol *, Symbol *, Symbol * ) );
|
||||
extern void SCHEMAdefine_use PROTO( ( Schema, Rename * ) );
|
||||
extern void SCHEMAdefine_reference PROTO( ( Schema, Rename * ) );
|
||||
extern Generic SCHEMAfind PROTO( ( Schema, char * name, int search_refs ) );
|
||||
extern Scope SCOPEcreate PROTO( ( char ) );
|
||||
extern Scope SCOPEcreate_tiny PROTO( ( char ) );
|
||||
extern Scope SCOPEcreate_nostab PROTO( ( char ) );
|
||||
extern Linked_List SCHEMAget_entities_use PROTO( ( Scope ) );
|
||||
extern Linked_List SCHEMAget_entities_ref PROTO( ( Scope ) );
|
||||
extern SCL_EXPRESS_EXPORT Variable VARfind PROTO( ( Scope, char *, int ) );
|
||||
extern SCL_EXPRESS_EXPORT Schema SCHEMAcreate PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT void SCHEMAinitialize PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT void SCHEMAadd_use PROTO( ( Schema, Symbol *, Symbol *, Symbol * ) );
|
||||
extern SCL_EXPRESS_EXPORT void SCHEMAadd_reference PROTO( ( Schema, Symbol *, Symbol *, Symbol * ) );
|
||||
extern SCL_EXPRESS_EXPORT void SCHEMAdefine_use PROTO( ( Schema, Rename * ) );
|
||||
extern SCL_EXPRESS_EXPORT void SCHEMAdefine_reference PROTO( ( Schema, Rename * ) );
|
||||
extern SCL_EXPRESS_EXPORT Generic SCHEMAfind PROTO( ( Schema, char * name, int search_refs ) );
|
||||
extern SCL_EXPRESS_EXPORT Scope SCOPEcreate PROTO( ( char ) );
|
||||
extern SCL_EXPRESS_EXPORT Scope SCOPEcreate_tiny PROTO( ( char ) );
|
||||
extern SCL_EXPRESS_EXPORT Scope SCOPEcreate_nostab PROTO( ( char ) );
|
||||
extern SCL_EXPRESS_EXPORT Linked_List SCHEMAget_entities_use PROTO( ( Scope ) );
|
||||
extern SCL_EXPRESS_EXPORT Linked_List SCHEMAget_entities_ref PROTO( ( Scope ) );
|
||||
|
||||
/********************/
|
||||
/* inline functions */
|
||||
|
|
|
|||
|
|
@ -57,6 +57,7 @@
|
|||
/* modules used */
|
||||
/****************/
|
||||
|
||||
#include <scl_export.h>
|
||||
#include "type.h"
|
||||
#include "variable.h"
|
||||
#include "entity.h"
|
||||
|
|
@ -149,12 +150,12 @@ struct Scope_ {
|
|||
/* function prototypes */
|
||||
/***********************/
|
||||
|
||||
extern struct Symbol_ * SCOPE_get_symbol PROTO( ( Generic ) );
|
||||
extern SCL_EXPRESS_EXPORT struct Symbol_ * SCOPE_get_symbol PROTO( ( Generic ) );
|
||||
/*extern struct Scope * SCOPEget_nearest_enclosing_entity PROTO((Scope));*/
|
||||
extern void SCOPE_get_entities PROTO( ( Scope, Linked_List ) );
|
||||
extern Linked_List SCOPEget_entities PROTO( ( Scope ) );
|
||||
extern Linked_List SCOPEget_entities_superclass_order PROTO( ( Scope ) );
|
||||
extern Generic SCOPEfind PROTO( ( Scope, char *, int ) );
|
||||
extern SCL_EXPRESS_EXPORT void SCOPE_get_entities PROTO( ( Scope, Linked_List ) );
|
||||
extern SCL_EXPRESS_EXPORT Linked_List SCOPEget_entities PROTO( ( Scope ) );
|
||||
extern SCL_EXPRESS_EXPORT Linked_List SCOPEget_entities_superclass_order PROTO( ( Scope ) );
|
||||
extern SCL_EXPRESS_EXPORT Generic SCOPEfind PROTO( ( Scope, char *, int ) );
|
||||
|
||||
#if 0
|
||||
extern Linked_List SCOPEget_types PROTO( ( Scope ) );
|
||||
|
|
|
|||
|
|
@ -50,6 +50,7 @@
|
|||
/* packages used */
|
||||
/*****************/
|
||||
|
||||
#include <scl_export.h>
|
||||
#include "expbasic.h" /* get basic definitions */
|
||||
#include "scope.h"
|
||||
|
||||
|
|
@ -172,20 +173,20 @@ struct Return_Statement_ {
|
|||
#include "decstart.h"
|
||||
#endif /*STATEMENT_C*/
|
||||
|
||||
GLOBAL struct freelist_head STMT_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head STMT_fl;
|
||||
|
||||
GLOBAL struct freelist_head ALIAS_fl;
|
||||
GLOBAL struct freelist_head ASSIGN_fl;
|
||||
GLOBAL struct freelist_head CASE_fl;
|
||||
GLOBAL struct freelist_head COMP_STMT_fl;
|
||||
GLOBAL struct freelist_head COND_fl;
|
||||
GLOBAL struct freelist_head LOOP_fl;
|
||||
GLOBAL struct freelist_head PCALL_fl;
|
||||
GLOBAL struct freelist_head RET_fl;
|
||||
GLOBAL struct freelist_head INCR_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head ALIAS_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head ASSIGN_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head CASE_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head COMP_STMT_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head COND_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head LOOP_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head PCALL_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head RET_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head INCR_fl;
|
||||
|
||||
GLOBAL Statement STATEMENT_ESCAPE INITIALLY( STATEMENT_NULL );
|
||||
GLOBAL Statement STATEMENT_SKIP INITIALLY( STATEMENT_NULL );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Statement STATEMENT_ESCAPE INITIALLY( STATEMENT_NULL );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Statement STATEMENT_SKIP INITIALLY( STATEMENT_NULL );
|
||||
|
||||
#include "de_end.h"
|
||||
|
||||
|
|
@ -235,18 +236,18 @@ GLOBAL Statement STATEMENT_SKIP INITIALLY( STATEMENT_NULL );
|
|||
/* function prototypes */
|
||||
/***********************/
|
||||
|
||||
extern Statement STMTcreate PROTO( ( int ) );
|
||||
extern Statement ALIAScreate PROTO( ( struct Scope_ *, Variable, Linked_List ) );
|
||||
extern Statement CASEcreate PROTO( ( Expression , Linked_List ) );
|
||||
extern Statement ASSIGNcreate PROTO( ( Expression , Expression ) );
|
||||
extern Statement COMP_STMTcreate PROTO( ( Linked_List ) );
|
||||
extern Statement CONDcreate PROTO( ( Expression, Linked_List, Linked_List ) );
|
||||
extern Statement LOOPcreate PROTO( ( struct Scope_ *, Expression, Expression, Linked_List ) );
|
||||
extern Statement PCALLcreate PROTO( ( Linked_List ) );
|
||||
extern Statement RETcreate PROTO( ( Expression ) );
|
||||
extern void STMTinitialize PROTO( ( void ) );
|
||||
extern struct Scope_ * INCR_CTLcreate PROTO( ( Symbol *, Expression start,
|
||||
Expression end, Expression increment ) );
|
||||
extern SCL_EXPRESS_EXPORT Statement STMTcreate PROTO( ( int ) );
|
||||
extern SCL_EXPRESS_EXPORT Statement ALIAScreate PROTO( ( struct Scope_ *, Variable, Linked_List ) );
|
||||
extern SCL_EXPRESS_EXPORT Statement CASEcreate PROTO( ( Expression , Linked_List ) );
|
||||
extern SCL_EXPRESS_EXPORT Statement ASSIGNcreate PROTO( ( Expression , Expression ) );
|
||||
extern SCL_EXPRESS_EXPORT Statement COMP_STMTcreate PROTO( ( Linked_List ) );
|
||||
extern SCL_EXPRESS_EXPORT Statement CONDcreate PROTO( ( Expression, Linked_List, Linked_List ) );
|
||||
extern SCL_EXPRESS_EXPORT Statement LOOPcreate PROTO( ( struct Scope_ *, Expression, Expression, Linked_List ) );
|
||||
extern SCL_EXPRESS_EXPORT Statement PCALLcreate PROTO( ( Linked_List ) );
|
||||
extern SCL_EXPRESS_EXPORT Statement RETcreate PROTO( ( Expression ) );
|
||||
extern SCL_EXPRESS_EXPORT void STMTinitialize PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT struct Scope_ * INCR_CTLcreate PROTO( ( Symbol *, Expression start,
|
||||
Expression end, Expression increment ) );
|
||||
|
||||
/********************/
|
||||
/* inline functions */
|
||||
|
|
|
|||
|
|
@ -48,6 +48,7 @@
|
|||
#ifdef SYMBOL_C
|
||||
#endif /* SYMBOL_C */
|
||||
|
||||
#include <scl_export.h>
|
||||
#include "basic.h" /* get basic definitions */
|
||||
#include "memory.h"
|
||||
|
||||
|
|
@ -82,7 +83,7 @@ struct Symbol_ {
|
|||
#include "decstart.h"
|
||||
#endif /* SYMBOL_C */
|
||||
|
||||
GLOBAL struct freelist_head SYMBOL_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head SYMBOL_fl;
|
||||
|
||||
#include "de_end.h"
|
||||
|
||||
|
|
@ -102,8 +103,8 @@ GLOBAL struct freelist_head SYMBOL_fl;
|
|||
/* function prototypes */
|
||||
/***********************/
|
||||
|
||||
extern void SYMBOLinitialize PROTO( ( void ) );
|
||||
Symbol * SYMBOLcreate PROTO( ( char *, int, char * ) );
|
||||
extern SCL_EXPRESS_EXPORT void SYMBOLinitialize PROTO( ( void ) );
|
||||
SCL_EXPRESS_EXPORT Symbol * SYMBOLcreate PROTO( ( char *, int, char * ) );
|
||||
|
||||
/********************/
|
||||
/* inline functions */
|
||||
|
|
|
|||
|
|
@ -111,6 +111,7 @@ enum type_enum {
|
|||
/* packages used */
|
||||
/*****************/
|
||||
|
||||
#include <scl_export.h>
|
||||
#include "expbasic.h" /* get basic definitions */
|
||||
#include "symbol.h"
|
||||
#include "object.h"
|
||||
|
|
@ -223,41 +224,41 @@ struct TypeBody_ {
|
|||
|
||||
/* Very commonly-used read-only types */
|
||||
/* non-constant versions probably aren't necessary? */
|
||||
GLOBAL Type Type_Bad;
|
||||
GLOBAL Type Type_Unknown;
|
||||
GLOBAL Type Type_Dont_Care;
|
||||
GLOBAL Type Type_Runtime; /* indicates that this object can't be */
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Bad;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Unknown;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Dont_Care;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Runtime; /* indicates that this object can't be */
|
||||
/* calculated now but must be deferred */
|
||||
/* til (the mythical) runtime */
|
||||
GLOBAL Type Type_Binary;
|
||||
GLOBAL Type Type_Boolean;
|
||||
GLOBAL Type Type_Enumeration;
|
||||
GLOBAL Type Type_Expression;
|
||||
GLOBAL Type Type_Aggregate;
|
||||
GLOBAL Type Type_Integer;
|
||||
GLOBAL Type Type_Integer;
|
||||
GLOBAL Type Type_Number;
|
||||
GLOBAL Type Type_Real;
|
||||
GLOBAL Type Type_String;
|
||||
GLOBAL Type Type_String_Encoded;
|
||||
GLOBAL Type Type_Logical;
|
||||
GLOBAL Type Type_Set;
|
||||
GLOBAL Type Type_Attribute;
|
||||
GLOBAL Type Type_Entity;
|
||||
GLOBAL Type Type_Funcall;
|
||||
GLOBAL Type Type_Generic;
|
||||
GLOBAL Type Type_Identifier;
|
||||
GLOBAL Type Type_Oneof;
|
||||
GLOBAL Type Type_Query;
|
||||
GLOBAL Type Type_Self;
|
||||
GLOBAL Type Type_Set_Of_String;
|
||||
GLOBAL Type Type_Set_Of_Generic;
|
||||
GLOBAL Type Type_Bag_Of_Generic;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Binary;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Boolean;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Enumeration;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Expression;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Aggregate;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Integer;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Integer;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Number;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Real;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_String;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_String_Encoded;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Logical;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Set;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Attribute;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Entity;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Funcall;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Generic;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Identifier;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Oneof;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Query;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Self;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Set_Of_String;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Set_Of_Generic;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Bag_Of_Generic;
|
||||
|
||||
GLOBAL struct freelist_head TYPEHEAD_fl;
|
||||
GLOBAL struct freelist_head TYPEBODY_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head TYPEHEAD_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head TYPEBODY_fl;
|
||||
|
||||
GLOBAL Error ERROR_corrupted_type INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_corrupted_type INITIALLY( ERROR_none );
|
||||
|
||||
#include "de_end.h"
|
||||
|
||||
|
|
@ -338,26 +339,26 @@ GLOBAL Error ERROR_corrupted_type INITIALLY( ERROR_none );
|
|||
/* function prototypes */
|
||||
/***********************/
|
||||
|
||||
extern Type TYPEcreate_partial PROTO( ( struct Symbol_ *, Scope ) );
|
||||
extern SCL_EXPRESS_EXPORT Type TYPEcreate_partial PROTO( ( struct Symbol_ *, Scope ) );
|
||||
|
||||
extern Type TYPEcreate PROTO( ( enum type_enum ) );
|
||||
extern Type TYPEcreate_from_body_anonymously PROTO( ( TypeBody ) );
|
||||
extern Type TYPEcreate_name PROTO( ( struct Symbol_ * ) );
|
||||
extern Type TYPEcreate_nostab PROTO( ( struct Symbol_ *, Scope, char ) );
|
||||
extern SCL_EXPRESS_EXPORT Type TYPEcreate PROTO( ( enum type_enum ) );
|
||||
extern SCL_EXPRESS_EXPORT Type TYPEcreate_from_body_anonymously PROTO( ( TypeBody ) );
|
||||
extern SCL_EXPRESS_EXPORT Type TYPEcreate_name PROTO( ( struct Symbol_ * ) );
|
||||
extern SCL_EXPRESS_EXPORT Type TYPEcreate_nostab PROTO( ( struct Symbol_ *, Scope, char ) );
|
||||
/*extern Type TYPEcreate_typedef PROTO((Type, TypeBody,
|
||||
Scope,struct Symbol *));*/
|
||||
extern TypeBody TYPEBODYcreate PROTO( ( enum type_enum ) );
|
||||
extern SCL_EXPRESS_EXPORT TypeBody TYPEBODYcreate PROTO( ( enum type_enum ) );
|
||||
/*extern Type TYPEcopy_shallow PROTO((Type));*/
|
||||
extern void TYPEinitialize PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT void TYPEinitialize PROTO( ( void ) );
|
||||
|
||||
#if 0
|
||||
extern Dictionary TYPEget_enum_tags PROTO( ( Type ) );
|
||||
#endif
|
||||
extern bool TYPEinherits_from PROTO( ( Type, enum type_enum ) );
|
||||
extern Type TYPEget_nonaggregate_base_type PROTO( ( Type ) );
|
||||
extern SCL_EXPRESS_EXPORT bool TYPEinherits_from PROTO( ( Type, enum type_enum ) );
|
||||
extern SCL_EXPRESS_EXPORT Type TYPEget_nonaggregate_base_type PROTO( ( Type ) );
|
||||
|
||||
extern Type TYPEcreate_user_defined_type PROTO( ( Type, Scope, struct Symbol_ * ) );
|
||||
extern Type TYPEcreate_user_defined_tag PROTO( ( Type, Scope, struct Symbol_ * ) );
|
||||
extern SCL_EXPRESS_EXPORT Type TYPEcreate_user_defined_type PROTO( ( Type, Scope, struct Symbol_ * ) );
|
||||
extern SCL_EXPRESS_EXPORT Type TYPEcreate_user_defined_tag PROTO( ( Type, Scope, struct Symbol_ * ) );
|
||||
|
||||
#if 0
|
||||
extern int TYPEget_size PROTO( ( Type ) );
|
||||
|
|
|
|||
|
|
@ -57,6 +57,7 @@
|
|||
/* packages used */
|
||||
/*****************/
|
||||
|
||||
#include <scl_export.h>
|
||||
#include "expbasic.h" /* get basic definitions */
|
||||
#include "symbol.h"
|
||||
|
||||
|
|
@ -110,7 +111,7 @@ struct Variable_ {
|
|||
#include "decstart.h"
|
||||
#endif /* VARIABLE_C */
|
||||
|
||||
GLOBAL struct freelist_head VAR_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head VAR_fl;
|
||||
|
||||
#include "de_end.h"
|
||||
|
||||
|
|
@ -140,9 +141,9 @@ GLOBAL struct freelist_head VAR_fl;
|
|||
/* function prototypes */
|
||||
/***********************/
|
||||
|
||||
extern Variable VARcreate PROTO( ( Expression, Type ) );
|
||||
extern void VARinitialize PROTO( ( void ) );
|
||||
extern char * VARget_simple_name PROTO( ( Variable ) );
|
||||
extern SCL_EXPRESS_EXPORT Variable VARcreate PROTO( ( Expression, Type ) );
|
||||
extern SCL_EXPRESS_EXPORT void VARinitialize PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT char * VARget_simple_name PROTO( ( Variable ) );
|
||||
|
||||
#if 0
|
||||
extern void VARput_type PROTO( ( Variable *, Type ) );
|
||||
|
|
|
|||
82
include/scl_export.h
Normal file
82
include/scl_export.h
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
#ifndef SCL_EXPORT_H
|
||||
#define SCL_EXPORT_H
|
||||
|
||||
/* Import/Export flags for express. */
|
||||
#ifndef SCL_EXPRESS_EXPORT
|
||||
# if defined(SCL_EXPRESS_DLL_EXPORTS) && defined(SCL_EXPRESS_DLL_IMPORTS)
|
||||
# error "Only SCL_EXPRESS_DLL_EXPORTS or SCL_EXPRESS_DLL_IMPORTS can be defined, not both."
|
||||
# elif defined(SCL_EXPRESS_DLL_EXPORTS)
|
||||
# define SCL_EXPRESS_EXPORT __declspec(dllexport)
|
||||
# elif defined(SCL_EXPRESS_DLL_IMPORTS)
|
||||
# define SCL_EXPRESS_EXPORT __declspec(dllimport)
|
||||
# else
|
||||
# define SCL_EXPRESS_EXPORT
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Import/Export flags for exppp. */
|
||||
#ifndef SCL_EXPPP_EXPORT
|
||||
# if defined(SCL_EXPPP_DLL_EXPORTS) && defined(SCL_EXPPP_DLL_IMPORTS)
|
||||
# error "Only SCL_EXPPP_DLL_EXPORTS or SCL_EXPPP_DLL_IMPORTS can be defined, not both."
|
||||
# elif defined(SCL_EXPPP_DLL_EXPORTS)
|
||||
# define SCL_EXPPP_EXPORT __declspec(dllexport)
|
||||
# elif defined(SCL_EXPPP_DLL_IMPORTS)
|
||||
# define SCL_EXPPP_EXPORT __declspec(dllimport)
|
||||
# else
|
||||
# define SCL_EXPPP_EXPORT
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Import/Export flags for utils. */
|
||||
#ifndef SCL_UTILS_EXPORT
|
||||
# if defined(SCL_UTILS_DLL_EXPORTS) && defined(SCL_UTILS_DLL_IMPORTS)
|
||||
# error "Only SCL_UTILS_DLL_EXPORTS or SCL_UTILS_DLL_IMPORTS can be defined, not both."
|
||||
# elif defined(SCL_UTILS_DLL_EXPORTS)
|
||||
# define SCL_UTILS_EXPORT __declspec(dllexport)
|
||||
# elif defined(SCL_UTILS_DLL_IMPORTS)
|
||||
# define SCL_UTILS_EXPORT __declspec(dllimport)
|
||||
# else
|
||||
# define SCL_UTILS_EXPORT
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Import/Export flags for dai. */
|
||||
#ifndef SCL_DAI_EXPORT
|
||||
# if defined(SCL_DAI_DLL_EXPORTS) && defined(SCL_DAI_DLL_IMPORTS)
|
||||
# error "Only SCL_DAI_DLL_EXPORTS or SCL_DAI_DLL_IMPORTS can be defined, not both."
|
||||
# elif defined(SCL_DAI_DLL_EXPORTS)
|
||||
# define SCL_DAI_EXPORT __declspec(dllexport)
|
||||
# elif defined(SCL_DAI_DLL_IMPORTS)
|
||||
# define SCL_DAI_EXPORT __declspec(dllimport)
|
||||
# else
|
||||
# define SCL_DAI_EXPORT
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Import/Export flags for core. */
|
||||
#ifndef SCL_CORE_EXPORT
|
||||
# if defined(SCL_CORE_DLL_EXPORTS) && defined(SCL_CORE_DLL_IMPORTS)
|
||||
# error "Only SCL_CORE_DLL_EXPORTS or SCL_CORE_DLL_IMPORTS can be defined, not both."
|
||||
# elif defined(SCL_CORE_DLL_EXPORTS)
|
||||
# define SCL_CORE_EXPORT __declspec(dllexport)
|
||||
# elif defined(SCL_CORE_DLL_IMPORTS)
|
||||
# define SCL_CORE_EXPORT __declspec(dllimport)
|
||||
# else
|
||||
# define SCL_CORE_EXPORT
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Import/Export flags for editor. */
|
||||
#ifndef SCL_EDITOR_EXPORT
|
||||
# if defined(SCL_EDITOR_DLL_EXPORTS) && defined(SCL_EDITOR_DLL_IMPORTS)
|
||||
# error "Only SCL_EDITOR_DLL_EXPORTS or SCL_EDITOR_DLL_IMPORTS can be defined, not both."
|
||||
# elif defined(SCL_EDITOR_DLL_EXPORTS)
|
||||
# define SCL_EDITOR_EXPORT __declspec(dllexport)
|
||||
# elif defined(SCL_EDITOR_DLL_IMPORTS)
|
||||
# define SCL_EDITOR_EXPORT __declspec(dllimport)
|
||||
# else
|
||||
# define SCL_EDITOR_EXPORT
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#endif /* SCL_EXPORT_H */
|
||||
|
|
@ -66,6 +66,7 @@ add_definitions( -DFLEX )
|
|||
|
||||
if(MSVC)
|
||||
add_definitions( -DYY_NO_UNISTD_H )
|
||||
add_definitions( -DSCL_EXPRESS_DLL_EXPORTS )
|
||||
endif(MSVC)
|
||||
|
||||
SCL_ADDLIB(express "${EXPRESS_SOURCES}" "")
|
||||
|
|
|
|||
Loading…
Reference in a new issue