#ifndef _DPAS_INTERNAL_H
#define _DPAS_INTERNAL_H
#include <jit/jit.h>
#include <stdio.h>
#include "dpas-scope.h"
#include "dpas-types.h"
#include "dpas-semantics.h"
#ifdef __cplusplus
extern "C" {
#endif
extern char *dpas_filename;
extern long dpas_linenum;
extern int dpas_dump_functions;
typedef struct
{
char **names;
jit_type_t *types;
int len;
jit_abi_t abi;
} dpas_params;
extern int dpas_error_reported;
void dpas_out_of_memory(void);
void dpas_import(const char *name);
void dpas_load_file(char *filename, FILE *file);
void dpas_error(const char *format, ...);
void dpas_warning(const char *format, ...);
void dpas_error_on_line(const char *filename, long linenum,
const char *format, ...);
jit_context_t dpas_current_context(void);
jit_function_t dpas_current_function(void);
jit_function_t dpas_new_function(jit_type_t signature);
void dpas_pop_function(void);
int dpas_function_is_nested(void);
int dpas_is_builtin(const char *name);
dpas_semvalue dpas_expand_builtin
(int identifier, dpas_semvalue *args, int num_args);
void dpas_add_main_function(jit_function_t func);
int dpas_run_main_functions(void);
#ifdef __cplusplus
};
#endif
#endif