2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-15 13:02:11 +00:00
Files
build/v2/engine/frames.h
2011-02-01 08:16:47 +00:00

38 lines
1.0 KiB
C

/*
* Copyright 2001-2004 David Abrahams.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
*/
#ifndef FRAMES_DWA20011021_H
#define FRAMES_DWA20011021_H
#include "lists.h"
#include "modules.h"
typedef struct _PARSE PARSE;
typedef struct frame FRAME;
struct frame
{
FRAME * prev;
/* The nearest enclosing frame for which module->user_module is true. */
FRAME * prev_user;
LOL args[ 1 ];
module_t * module;
PARSE * procedure;
char * rulename;
};
/* When call into Python is in progress, this variable points to the bjam frame
* that was current at the moment of call. When the call completes, the variable
* is not defined. Further, if Jam calls Python which calls Jam and so on, this
* variable only keeps the most recent Jam frame.
*/
extern struct frame * frame_before_python_call;
void frame_init( FRAME * ); /* implemented in compile.c */
void frame_free( FRAME * ); /* implemented in compile.c */
#endif