Skip to content

cullvox/noodlec

Folders and files

NameName
Last commit message
Last commit date

Latest commit

fad2989 · Sep 16, 2023

History

21 Commits
Sep 16, 2023
May 20, 2023
May 22, 2023
Aug 20, 2023
May 22, 2023
May 22, 2023
May 22, 2023
May 14, 2023
May 12, 2023
Aug 20, 2023
May 22, 2023

Repository files navigation

noodlec

CMake Workflow

Noodle Logo

Welcome to the Noodle C99 Parser project! This repository contains a C99 parser designed for the Noodle data language. Noodle is a lightweight language for data representation. This parser lets you seamlessly integrate Noodle data structures into C applications.

Features

  • Parse Noodle data files into C99 data structures.
  • Intuitive API for navigating and manipulating parsed Noodle data.
  • Lightweight and minimal dependencies.

Getting Started

  1. Clone this repository: git clone https://github.com/cadenmiller/noodlec.git
  2. Navigate to the project directory: cd noodlec
  3. Build the parser library using CMake.
  4. Link with your C project.

Usage

  1. Include "noodle.h" in your code.
  2. Initialize by creating a root Noodle_t using noodleParse().
  3. Work with the parsed data using the functions noodleFrom() and noodleAt().
  4. Free resources with noodleFree().

Example

#include <stdio.h>
#include "noodle.h"

int main() {
    NoodleGroup_t* settings = noodleParseFromFile("settings.noodle");
    if (!parser) return EXIT_FAILURE;

    bool valid = false;
    float volume = noodleFloatFrom(settings, "volume", &valid);
    int vulkanDeviceId = noodleIntFrom(settings, "vulkanDeviceId", &valid);  

    if (!valid) return EXIT_FAILURE;

    // And it's just that easy, use the parsed data here!
    // ...
    
    noodleFree(settings);
    return 0;
}

Contributing

Feel free to contribute and stick to continuing the current code styling.

License

This project is licensed under the MIT License.

About

A C99 parser for the noodle language.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages