mirror of
https://github.com/boostorg/build.git
synced 2026-02-14 12:42:11 +00:00
40 lines
1.0 KiB
C
40 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
|
|
|