Chris 9882796df0 | 3 years ago | |
---|---|---|
.. | ||
README.md | 3 years ago | |
raylib_api.json | 3 years ago | |
raylib_api.txt | 3 years ago | |
raylib_api.xml | 3 years ago | |
raylib_parser.c | 3 years ago |
This parser scans raylib.h
to get information about structs
, enums
and functions
.
All data is separated into parts, usually as strings. The following types are used for data:
struct FunctionInfo
struct StructInfo
struct EnumInfo
Check raylib_parser.c
for details about those structs.
The parser can take a few options...
--help
Displays help information about the parser--json
Outputs the header information in JSON formatThis parser is specifically designed to work with raylib.h, so, it has some constraints:
<retType> <name>(<paramType[0]> <paramName[0]>, <paramType[1]> <paramName[1]>); <desc>
Be careful with functions broken into several lines, it breaks the process!
<desc>
typedef struct <name> {
<fieldType[0]> <fieldName[0]>; <fieldDesc[0]>
<fieldType[1]> <fieldName[1]>; <fieldDesc[1]>
<fieldType[2]> <fieldName[2]>; <fieldDesc[2]>
} <name>;
<desc>
typedef enum {
<valueName[0]> = <valueInteger[0]>, <valueDesc[0]>
<valueName[1]>,
<valueName[2]>, <valueDesc[2]>
<valueName[3]> <valueDesc[3]>
} <name>;
NOTE: For enums, multiple options are supported:
This parser could work with other C header files if mentioned constraints are followed.
This parser does not require <string.h>
library, all data is parsed directly from char buffers.
raylib-parser is licensed under an unmodified zlib/libpng license, which is an OSI-certified, BSD-like license that allows static linking with closed source software:
Copyright (c) 2021 Ramon Santamaria (@raysan5)