mirror of
https://github.com/moses-smt/mosesdecoder.git
synced 2024-12-28 14:32:38 +03:00
47 lines
1.4 KiB
C
47 lines
1.4 KiB
C
/*
|
|
* Copyright 2011 Steven Watanabe
|
|
* 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 FUNCTION_SW20111123_H
|
|
#define FUNCTION_SW20111123_H
|
|
|
|
#include "object.h"
|
|
#include "frames.h"
|
|
#include "lists.h"
|
|
#include "parse.h"
|
|
#include "strings.h"
|
|
|
|
typedef struct _function FUNCTION;
|
|
typedef struct _stack STACK;
|
|
|
|
STACK * stack_global( void );
|
|
void stack_push( STACK * s, LIST * l );
|
|
LIST * stack_pop( STACK * s );
|
|
|
|
FUNCTION * function_compile( PARSE * parse );
|
|
FUNCTION * function_builtin( LIST * ( * func )( FRAME * frame, int flags ), int flags, const char * * args );
|
|
void function_refer( FUNCTION * );
|
|
void function_free( FUNCTION * );
|
|
OBJECT * function_rulename( FUNCTION * );
|
|
void function_set_rulename( FUNCTION *, OBJECT * );
|
|
void function_location( FUNCTION *, OBJECT * *, int * );
|
|
LIST * function_run( FUNCTION * function, FRAME * frame, STACK * s );
|
|
|
|
FUNCTION * function_compile_actions( const char * actions, OBJECT * file, int line );
|
|
void function_run_actions( FUNCTION * function, FRAME * frame, STACK * s, string * out );
|
|
|
|
FUNCTION * function_bind_variables( FUNCTION * f, module_t * module, int * counter );
|
|
FUNCTION * function_unbind_variables( FUNCTION * f );
|
|
|
|
void function_done( void );
|
|
|
|
#ifdef HAVE_PYTHON
|
|
|
|
FUNCTION * function_python( PyObject * function, PyObject * bjam_signature );
|
|
|
|
#endif
|
|
|
|
#endif
|