17db96d56Sopenharmony_ci#include "Python.h"
27db96d56Sopenharmony_ci
37db96d56Sopenharmony_ci#include "tokenizer.h"
47db96d56Sopenharmony_ci#include "pegen.h"
57db96d56Sopenharmony_ci
67db96d56Sopenharmony_cimod_ty
77db96d56Sopenharmony_ci_PyParser_ASTFromString(const char *str, PyObject* filename, int mode,
87db96d56Sopenharmony_ci                        PyCompilerFlags *flags, PyArena *arena)
97db96d56Sopenharmony_ci{
107db96d56Sopenharmony_ci    if (PySys_Audit("compile", "yO", str, filename) < 0) {
117db96d56Sopenharmony_ci        return NULL;
127db96d56Sopenharmony_ci    }
137db96d56Sopenharmony_ci
147db96d56Sopenharmony_ci    mod_ty result = _PyPegen_run_parser_from_string(str, mode, filename, flags, arena);
157db96d56Sopenharmony_ci    return result;
167db96d56Sopenharmony_ci}
177db96d56Sopenharmony_ci
187db96d56Sopenharmony_cimod_ty
197db96d56Sopenharmony_ci_PyParser_ASTFromFile(FILE *fp, PyObject *filename_ob, const char *enc,
207db96d56Sopenharmony_ci                      int mode, const char *ps1, const char* ps2,
217db96d56Sopenharmony_ci                      PyCompilerFlags *flags, int *errcode, PyArena *arena)
227db96d56Sopenharmony_ci{
237db96d56Sopenharmony_ci    if (PySys_Audit("compile", "OO", Py_None, filename_ob) < 0) {
247db96d56Sopenharmony_ci        return NULL;
257db96d56Sopenharmony_ci    }
267db96d56Sopenharmony_ci    return _PyPegen_run_parser_from_file_pointer(fp, mode, filename_ob, enc, ps1, ps2,
277db96d56Sopenharmony_ci                                        flags, errcode, arena);
287db96d56Sopenharmony_ci}
29