node *
PyParser_ParseFile(FILE *fp, const char *filename, grammar *g, int start,
                   char *ps1, char *ps2, perrdetail *err_ret)
{
    return PyParser_ParseFileFlags(fp, filename, g, start, ps1, ps2,
                                   err_ret, 0);
}
Beispiel #2
0
node *
PyParser_SimpleParseFileFlags(FILE *fp, const char *filename, int start, int flags)
{
	perrdetail err;
	node *n = PyParser_ParseFileFlags(fp, filename, &_PyParser_Grammar,
					  start, NULL, NULL, &err, flags);
	if (n == NULL)
		err_input(&err);

	return n;
}
Beispiel #3
0
mod_ty
PyParser_ASTFromFile(FILE *fp, const char *filename, int start, char *ps1,
		     char *ps2, PyCompilerFlags *flags, int *errcode,
		     PyArena *arena)
{
	mod_ty mod;
	perrdetail err;
	node *n = PyParser_ParseFileFlags(fp, filename, &_PyParser_Grammar,
				start, ps1, ps2, &err, PARSER_FLAGS(flags));
	if (n) {
		mod = PyAST_FromNode(n, flags, filename, arena);
		PyNode_Free(n);
		return mod;
	}
	else {
		err_input(&err);
		if (errcode)
			*errcode = err.error;
		return NULL;
	}
}