ARB
|
#include <arbdb.h>
#include <arb_strbuf.h>
#include <BufferedFileReader.h>
#include <string>
#include <vector>
#include <set>
#include <cctype>
#include <unistd.h>
#include <arb_str.h>
#include <arb_diff.h>
Go to the source code of this file.
Classes | |
struct | Error |
class | ProgramError |
class | InputFileError |
class | CommentSkippingFileBuffer |
class | TypeMap |
class | Type |
class | Parameter |
class | Prototype |
class | Package |
class | xsubGenerator |
Macros | |
#define | CHAR_PTR "char *" |
#define | CONST_CHAR_PTR "const char *" |
Typedefs | |
typedef vector< Parameter > | Arguments |
typedef Arguments::const_iterator | ArgumentIter |
Enumerations | |
enum | TypeClass { INVALID_TYPE, VOID, SIMPLE_TYPE, CONST_CHAR, HEAP_COPY, CONVERSION_FUNCTION, TYPEMAPPED, CANT_HANDLE, FORBIDDEN } |
Functions | |
bool | is_empty_code (const char *code) |
bool | contains_preprozessorCode (const char *code) |
bool | contains_braces (const char *code) |
bool | is_typedef (const char *code) |
bool | is_forward_decl (const char *code) |
bool | is_prototype (const char *code) |
void | trace_over_braces (const char *code, int &brace_counter) |
char * | get_token_and_incr_lineno (const char *&code, const char *separator, size_t *lineno) |
char * | get_token (const char *&code, const char *separator) |
bool | is_ID_char (char c) |
const char * | next_closing_paren (const char *code) |
const char * | next_comma_outside_parens (const char *code) |
bool | find_open_close_paren (const char *code, size_t &opening_paren_pos, size_t &closing_paren_pos) |
string | concat_type_and_name (const string &type, const string &name) |
string | type2id (const string &type) |
string | conversion_function_name (const string &fromType, const string &toType) |
string | constCastTo (const string &expr, const string &targetType) |
void | trim (string &text) |
string | prefix_before (const string &name, char separator) |
static void | print_prototype_parse_error (LineReader &prototype_reader, const char *err, const char *prototype) |
static void | print_xs_default (BufferedFileReader &xs_default, const char *proto_filename, FILE *out) |
static BufferedFileReader * | createFileBuffer (const char *filename) |
static BufferedFileReader * | createCommentSkippingFileBuffer (const char *filename) |
static void | loadTypemap (const char *typemap_filename) |
int | ARB_main (int argc, char **argv) |
#define CHAR_PTR "char *" |
Definition at line 35 of file arb_proto_2_xsub.cxx.
Referenced by Type::convert_argument_for_C(), Type::convert_result_for_PERL(), and Type::Type().
#define CONST_CHAR_PTR "const char *" |
Definition at line 36 of file arb_proto_2_xsub.cxx.
Referenced by Type::convert_argument_for_C(), Type::convert_result_for_PERL(), and Type::Type().
Definition at line 523 of file arb_proto_2_xsub.cxx.
typedef Arguments::const_iterator ArgumentIter |
Definition at line 524 of file arb_proto_2_xsub.cxx.
enum TypeClass |
Enumerator | |
---|---|
INVALID_TYPE | |
VOID | |
SIMPLE_TYPE | |
CONST_CHAR | |
HEAP_COPY | |
CONVERSION_FUNCTION | |
TYPEMAPPED | |
CANT_HANDLE | |
FORBIDDEN |
Definition at line 270 of file arb_proto_2_xsub.cxx.
|
inline |
Definition at line 138 of file arb_proto_2_xsub.cxx.
Referenced by is_prototype().
|
inline |
Definition at line 139 of file arb_proto_2_xsub.cxx.
Referenced by is_prototype().
|
inline |
Definition at line 140 of file arb_proto_2_xsub.cxx.
Referenced by is_prototype().
|
inline |
Definition at line 141 of file arb_proto_2_xsub.cxx.
References ARB_strBeginsWith().
Referenced by is_prototype().
|
inline |
Definition at line 142 of file arb_proto_2_xsub.cxx.
References ARB_strBeginsWith().
Referenced by is_prototype().
|
inline |
Definition at line 144 of file arb_proto_2_xsub.cxx.
References contains_braces(), contains_preprozessorCode(), is_empty_code(), is_forward_decl(), and is_typedef().
Referenced by xsubGenerator::generate_all_xsubs().
Definition at line 153 of file arb_proto_2_xsub.cxx.
References arb_assert.
Referenced by xsubGenerator::generate_all_xsubs().
|
inline |
Definition at line 171 of file arb_proto_2_xsub.cxx.
References ARB_strdup(), ARB_strpartdup(), and NULp.
Referenced by get_token().
Definition at line 204 of file arb_proto_2_xsub.cxx.
References get_token_and_incr_lineno(), and NULp.
|
inline |
Definition at line 208 of file arb_proto_2_xsub.cxx.
Referenced by Parameter::Parameter().
Definition at line 210 of file arb_proto_2_xsub.cxx.
Referenced by find_open_close_paren(), and next_comma_outside_parens().
Definition at line 220 of file arb_proto_2_xsub.cxx.
References next_closing_paren().
|
inline |
Definition at line 233 of file arb_proto_2_xsub.cxx.
References next_closing_paren().
Referenced by Prototype::Prototype().
Definition at line 246 of file arb_proto_2_xsub.cxx.
Referenced by Parameter::c_typed_param(), and Parameter::perl_typed_param().
Definition at line 303 of file arb_proto_2_xsub.cxx.
References GBS_string_eval(), id, and s.
Referenced by conversion_function_name().
Definition at line 313 of file arb_proto_2_xsub.cxx.
Definition at line 318 of file arb_proto_2_xsub.cxx.
References string().
Referenced by Type::convert_argument_for_C(), and Type::convert_result_for_PERL().
|
inline |
Definition at line 621 of file arb_proto_2_xsub.cxx.
Referenced by TypeMap::load().
Definition at line 732 of file arb_proto_2_xsub.cxx.
|
static |
Definition at line 837 of file arb_proto_2_xsub.cxx.
References GBS_global_string(), and InputFileError::print().
Referenced by xsubGenerator::generate_all_xsubs().
|
static |
Definition at line 885 of file arb_proto_2_xsub.cxx.
References LineReader::copyTo(), BufferedFileReader::getFilename(), and BufferedFileReader::rewind().
Referenced by ARB_main().
|
static |
Definition at line 898 of file arb_proto_2_xsub.cxx.
References GB_await_error(), and GB_export_IO_error().
Referenced by ARB_main(), and loadTypemap().
|
static |
Definition at line 906 of file arb_proto_2_xsub.cxx.
References GB_await_error(), and GB_export_IO_error().
Referenced by ARB_main().
|
static |
Definition at line 917 of file arb_proto_2_xsub.cxx.
References createFileBuffer(), and TypeMap::load().
Referenced by ARB_main().
Definition at line 922 of file arb_proto_2_xsub.cxx.
References createCommentSkippingFileBuffer(), createFileBuffer(), EXIT_FAILURE, EXIT_SUCCESS, fputs(), xsubGenerator::generate_all_xsubs(), loadTypemap(), xsubGenerator::mark_handcoded_functions(), Error::print(), ProgramError::print(), print_xs_default(), and xsubGenerator::print_xsubs().