#ifndef Parser__H
#define Parser__H
#include "meta/meta_modelica.h"
#include "util/modelica.h"
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>

#ifdef __cplusplus
extern "C" {
#endif

extern struct record_description Absyn_Path_IDENT__desc;

extern struct record_description Absyn_Program_PROGRAM__desc;

extern struct record_description Flags_ConfigFlag_CONFIG__FLAG__desc;

extern struct record_description Flags_FlagData_BOOL__FLAG__desc;

extern struct record_description Flags_FlagData_ENUM__FLAG__desc;

extern struct record_description Flags_FlagVisibility_EXTERNAL__desc;

extern struct record_description Flags_ValidOptions_STRING__OPTION__desc;

extern struct record_description Gettext_TranslatableContent_gettext__desc;

extern struct record_description Parser_ParserResult_PARSERRESULT__desc;


#define boxptr_Parser_expToString omc_Parser_expToString


#define boxptr_Parser_getFeaturesAnnotationList2 omc_Parser_getFeaturesAnnotationList2


#define boxptr_Parser_getFeaturesAnnotationList omc_Parser_getFeaturesAnnotationList


#define boxptr_Parser_getFeaturesAnnotation omc_Parser_getFeaturesAnnotation


#define boxptr_Parser_getLicenseAnnotationLicenseFile omc_Parser_getLicenseAnnotationLicenseFile


#define boxptr_Parser_getLicenseAnnotationLibraryKey omc_Parser_getLicenseAnnotationLibraryKey


#define boxptr_Parser_getLicenseAnnotationTuple omc_Parser_getLicenseAnnotationTuple


#define boxptr_Parser_getLicenseAnnotationWork2 omc_Parser_getLicenseAnnotationWork2


#define boxptr_Parser_getLicenseAnnotationWork1 omc_Parser_getLicenseAnnotationWork1


#define boxptr_Parser_getLicenseAnnotation omc_Parser_getLicenseAnnotation


DLLDirection
modelica_boolean omc_Parser_checkLicenseAndFeatures(threadData_t *threadData, modelica_metatype _c1, modelica_metatype _lveInstance);
DLLDirection
modelica_metatype boxptr_Parser_checkLicenseAndFeatures(threadData_t *threadData, modelica_metatype _c1, modelica_metatype _lveInstance);
static const MMC_DEFSTRUCTLIT(boxvar_lit_Parser_checkLicenseAndFeatures,2,0) {(void*) boxptr_Parser_checkLicenseAndFeatures,0}};
#define boxvar_Parser_checkLicenseAndFeatures MMC_REFSTRUCTLIT(boxvar_lit_Parser_checkLicenseAndFeatures)


#define boxptr_Parser_loadFileThread omc_Parser_loadFileThread


DLLDirection
void omc_Parser_stopLibraryVendorExecutable(threadData_t *threadData, modelica_metatype _lveInstance);
#define boxptr_Parser_stopLibraryVendorExecutable omc_Parser_stopLibraryVendorExecutable
static const MMC_DEFSTRUCTLIT(boxvar_lit_Parser_stopLibraryVendorExecutable,2,0) {(void*) boxptr_Parser_stopLibraryVendorExecutable,0}};
#define boxvar_Parser_stopLibraryVendorExecutable MMC_REFSTRUCTLIT(boxvar_lit_Parser_stopLibraryVendorExecutable)


DLLDirection
modelica_boolean omc_Parser_checkLVEToolFeature(threadData_t *threadData, modelica_metatype _lveInstance, modelica_string _feature);
DLLDirection
modelica_metatype boxptr_Parser_checkLVEToolFeature(threadData_t *threadData, modelica_metatype _lveInstance, modelica_metatype _feature);
static const MMC_DEFSTRUCTLIT(boxvar_lit_Parser_checkLVEToolFeature,2,0) {(void*) boxptr_Parser_checkLVEToolFeature,0}};
#define boxvar_Parser_checkLVEToolFeature MMC_REFSTRUCTLIT(boxvar_lit_Parser_checkLVEToolFeature)


DLLDirection
modelica_boolean omc_Parser_checkLVEToolLicense(threadData_t *threadData, modelica_metatype _lveInstance, modelica_string _packageName);
DLLDirection
modelica_metatype boxptr_Parser_checkLVEToolLicense(threadData_t *threadData, modelica_metatype _lveInstance, modelica_metatype _packageName);
static const MMC_DEFSTRUCTLIT(boxvar_lit_Parser_checkLVEToolLicense,2,0) {(void*) boxptr_Parser_checkLVEToolLicense,0}};
#define boxvar_Parser_checkLVEToolLicense MMC_REFSTRUCTLIT(boxvar_lit_Parser_checkLVEToolLicense)


DLLDirection
modelica_boolean omc_Parser_startLibraryVendorExecutable(threadData_t *threadData, modelica_string _lvePath, modelica_metatype *out_lveInstance);
DLLDirection
modelica_metatype boxptr_Parser_startLibraryVendorExecutable(threadData_t *threadData, modelica_metatype _lvePath, modelica_metatype *out_lveInstance);
static const MMC_DEFSTRUCTLIT(boxvar_lit_Parser_startLibraryVendorExecutable,2,0) {(void*) boxptr_Parser_startLibraryVendorExecutable,0}};
#define boxvar_Parser_startLibraryVendorExecutable MMC_REFSTRUCTLIT(boxvar_lit_Parser_startLibraryVendorExecutable)


DLLDirection
modelica_metatype omc_Parser_parallelParseFilesToProgramList(threadData_t *threadData, modelica_metatype _filenames, modelica_string _encoding, modelica_integer _numThreads);
DLLDirection
modelica_metatype boxptr_Parser_parallelParseFilesToProgramList(threadData_t *threadData, modelica_metatype _filenames, modelica_metatype _encoding, modelica_metatype _numThreads);
static const MMC_DEFSTRUCTLIT(boxvar_lit_Parser_parallelParseFilesToProgramList,2,0) {(void*) boxptr_Parser_parallelParseFilesToProgramList,0}};
#define boxvar_Parser_parallelParseFilesToProgramList MMC_REFSTRUCTLIT(boxvar_lit_Parser_parallelParseFilesToProgramList)


DLLDirection
modelica_metatype omc_Parser_parallelParseFiles(threadData_t *threadData, modelica_metatype _filenames, modelica_string _encoding, modelica_integer _numThreads, modelica_string _libraryPath, modelica_metatype _lveInstance);
DLLDirection
modelica_metatype boxptr_Parser_parallelParseFiles(threadData_t *threadData, modelica_metatype _filenames, modelica_metatype _encoding, modelica_metatype _numThreads, modelica_metatype _libraryPath, modelica_metatype _lveInstance);
static const MMC_DEFSTRUCTLIT(boxvar_lit_Parser_parallelParseFiles,2,0) {(void*) boxptr_Parser_parallelParseFiles,0}};
#define boxvar_Parser_parallelParseFiles MMC_REFSTRUCTLIT(boxvar_lit_Parser_parallelParseFiles)


DLLDirection
modelica_metatype omc_Parser_stringMod(threadData_t *threadData, modelica_string _str, modelica_string _filename);
#define boxptr_Parser_stringMod omc_Parser_stringMod
static const MMC_DEFSTRUCTLIT(boxvar_lit_Parser_stringMod,2,0) {(void*) boxptr_Parser_stringMod,0}};
#define boxvar_Parser_stringMod MMC_REFSTRUCTLIT(boxvar_lit_Parser_stringMod)


DLLDirection
modelica_metatype omc_Parser_stringCref(threadData_t *threadData, modelica_string _str);
#define boxptr_Parser_stringCref omc_Parser_stringCref
static const MMC_DEFSTRUCTLIT(boxvar_lit_Parser_stringCref,2,0) {(void*) boxptr_Parser_stringCref,0}};
#define boxvar_Parser_stringCref MMC_REFSTRUCTLIT(boxvar_lit_Parser_stringCref)


DLLDirection
modelica_metatype omc_Parser_stringPath(threadData_t *threadData, modelica_string _str);
#define boxptr_Parser_stringPath omc_Parser_stringPath
static const MMC_DEFSTRUCTLIT(boxvar_lit_Parser_stringPath,2,0) {(void*) boxptr_Parser_stringPath,0}};
#define boxvar_Parser_stringPath MMC_REFSTRUCTLIT(boxvar_lit_Parser_stringPath)


DLLDirection
modelica_metatype omc_Parser_parsestringexp(threadData_t *threadData, modelica_string _str, modelica_string _infoFilename);
#define boxptr_Parser_parsestringexp omc_Parser_parsestringexp
static const MMC_DEFSTRUCTLIT(boxvar_lit_Parser_parsestringexp,2,0) {(void*) boxptr_Parser_parsestringexp,0}};
#define boxvar_Parser_parsestringexp MMC_REFSTRUCTLIT(boxvar_lit_Parser_parsestringexp)


DLLDirection
modelica_metatype omc_Parser_parsestring(threadData_t *threadData, modelica_string _str, modelica_string _infoFilename, modelica_integer _grammar, modelica_integer _languageStd, modelica_boolean _strict);
DLLDirection
modelica_metatype boxptr_Parser_parsestring(threadData_t *threadData, modelica_metatype _str, modelica_metatype _infoFilename, modelica_metatype _grammar, modelica_metatype _languageStd, modelica_metatype _strict);
static const MMC_DEFSTRUCTLIT(boxvar_lit_Parser_parsestring,2,0) {(void*) boxptr_Parser_parsestring,0}};
#define boxvar_Parser_parsestring MMC_REFSTRUCTLIT(boxvar_lit_Parser_parsestring)


DLLDirection
modelica_metatype omc_Parser_parseexp(threadData_t *threadData, modelica_string _filename);
#define boxptr_Parser_parseexp omc_Parser_parseexp
static const MMC_DEFSTRUCTLIT(boxvar_lit_Parser_parseexp,2,0) {(void*) boxptr_Parser_parseexp,0}};
#define boxvar_Parser_parseexp MMC_REFSTRUCTLIT(boxvar_lit_Parser_parseexp)


DLLDirection
modelica_metatype omc_Parser_parse(threadData_t *threadData, modelica_string _filename, modelica_string _encoding, modelica_string _libraryPath, modelica_metatype _lveInstance, modelica_integer _acceptedGram, modelica_integer _languageStandardInt, modelica_boolean _strict);
DLLDirection
modelica_metatype boxptr_Parser_parse(threadData_t *threadData, modelica_metatype _filename, modelica_metatype _encoding, modelica_metatype _libraryPath, modelica_metatype _lveInstance, modelica_metatype _acceptedGram, modelica_metatype _languageStandardInt, modelica_metatype _strict);
static const MMC_DEFSTRUCTLIT(boxvar_lit_Parser_parse,2,0) {(void*) boxptr_Parser_parse,0}};
#define boxvar_Parser_parse MMC_REFSTRUCTLIT(boxvar_lit_Parser_parse)

#ifdef __cplusplus
}
#endif
#endif
