From 95cde5c181b5fd1d9ee3f13db749799c4e8ac9d3 Mon Sep 17 00:00:00 2001 From: salaaad2 Date: Mon, 13 Jun 2022 22:15:48 +0200 Subject: add raylib to the build chain with -O3 and -march=native --- raylib/parser/README.md | 63 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 raylib/parser/README.md (limited to 'raylib/parser/README.md') diff --git a/raylib/parser/README.md b/raylib/parser/README.md new file mode 100644 index 0000000..f8c0abe --- /dev/null +++ b/raylib/parser/README.md @@ -0,0 +1,63 @@ +# raylib parser + +This parser scans [`raylib.h`](../src/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. + +## Command Line Arguments + +The parser can take a few options... + +- `--help` Displays help information about the parser +- `--json` Outputs the header information in JSON format + +## Constraints + +This parser is specifically designed to work with raylib.h, so, it has some constraints: + + - Functions are expected as a single line with the following structure: +``` + ( , ); +``` + Be careful with functions broken into several lines, it breaks the process! + + - Structures are expected as several lines with the following form: +``` + + typedef struct { + ; + ; + ; + } ; +``` + - Enums are expected as several lines with the following form: +``` + + typedef enum { + = , + , + , + + } ; +``` + +_NOTE: For enums, multiple options are supported:_ + + - If value is not provided, ( + 1) is assigned + - Value description can be provided or not + +## Additional notes + +This parser _could_ work with other C header files if mentioned constraints are followed. + +This parser **does not require `` library**, all data is parsed directly from char buffers. + +### LICENSE: zlib/libpng + +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. Check [LICENSE](LICENSE) for further details. + -- cgit v1.2.3