Kodgen - C++ Parser and Code generator

  •        70

Kodgen is a C++17 library based on libclang. It provides tools to parse C++ source files, extract data from it, and generate files from the parsed data. The C++ entities parsed in the current implementation are namespaces, structs/classes, non-member and member variables, non-member and member functions, enums and enum values.

https://github.com/jsoysouvanh/Kodgen

Tags
Implementation
License
Platform

   




Related Projects

PEGTL - Parsing Expression Grammar Template Library

  •    C++

The Parsing Expression Grammar Template Library (PEGTL) is a zero-dependency C++ header-only parser combinator library for creating parsers according to a Parsing Expression Grammar (PEG). Grammars are written as regular C++ code, created with template programming (not template meta programming), i.e. nested template instantiations that naturally correspond to the inductive definition of PEGs (and other parser-combinator approaches).

entt - Gaming meets modern C++ - a fast and reliable entity-component system (ECS) and much more

  •    C++

Consider it a work in progress. The whole API is also fully documented in-code for those who are brave enough to read it. Currently, EnTT is tested on Linux, Microsoft Windows and OS X. It has proven to work also on both Android and iOS. Most likely it will not be problematic on other systems as well, but has not been sufficiently tested so far.

fast-cpp-csv-parser - fast-cpp-csv-parser

  •    C++

This is a small, easy-to-use and fast header-only library for reading comma separated value (CSV) files. The following small example should contain most of the syntax you need to use the library.


Vc - SIMD Vector Classes for C++

  •    C++

Recent generations of CPUs, and GPUs in particular, require data-parallel codes for full efficiency. Data parallelism requires that the same sequence of operations is applied to different input data. CPUs and GPUs can thus reduce the necessary hardware for instruction decoding and scheduling in favor of more arithmetic and logic units, which execute the same instructions synchronously. On CPU architectures this is implemented via SIMD registers and instructions. A single SIMD register can store N values and a single SIMD instruction can execute N operations on those values. On GPU architectures N threads run in perfect sync, fed by a single instruction decoder/scheduler. Each thread has local memory and a given index to calculate the offsets in memory for loads and stores. Current C++ compilers can do automatic transformation of scalar codes to SIMD instructions (auto-vectorization). However, the compiler must reconstruct an intrinsic property of the algorithm that was lost when the developer wrote a purely scalar implementation in C++. Consequently, C++ compilers cannot vectorize any given code to its most efficient data-parallel variant. Especially larger data-parallel loops, spanning over multiple functions or even translation units, will often not be transformed into efficient SIMD code.

magic_get - std::tuple like methods for user defined types without any macro or boilerplate code

  •    C++

This C++14 library is meant for accessing structure elements by index and providing other std::tuple like methods for user defined types without any macro or boilerplate code. Distributed under the Boost Software License, Version 1.0.

pegjs - PEG.js: Parser generator for JavaScript

  •    Javascript

PEG.js is a simple parser generator for JavaScript that produces fast parsers with excellent error reporting. You can use it to process complex data or computer languages and build transformers, interpreters, compilers and other tools easily.Online version is the easiest way to generate a parser. Just enter your grammar, try parsing few inputs, and download generated parser code.

Razor - Parser and code generator for CSHTML files used in view pages for MVC web apps.

  •    CSharp

The Razor syntax provides a fast, terse, clean and lightweight way to combine server code with HTML to create dynamic web content. This repo contains the parser and the C# code generator for the Razor syntax.This project is part of ASP.NET Core. You can find samples, documentation and getting started instructions for ASP.NET Core at the Home repo.

doctest - The fastest feature-rich C++11 single-header testing framework for unit tests and TDD

  •    C++

doctest is a new C++ testing framework but is by far the fastest both in compile times (by orders of magnitude) and runtime compared to other feature-rich alternatives. It brings the ability of compiled languages such as D / Rust / Nim to have tests written directly in the production code by providing a fast, transparent and flexible test runner with a clean interface. The framework is and will stay free but needs your support to sustain its development. There are lots of new features and maintenance to do. If you work for a company using doctest or have the means to do so, please consider financial support. Monthly donations via Patreon and one-offs via PayPal.

cppinsights - C++ Insights - See your source code with the eyes of a compiler

  •    C++

C++ Insights is a clang-based tool which does a source to source transformation. Its goal is it to make things visible which normally, and intentionally, happen behind the scenes. It's about the magic the compiler does for us to make things work. You can see all the compiler provided functions. Also the downcast from Derived to Base.

Boost-Cookbook - Online examples from "Boost C++ Application Development Cookbook":

  •    C++

This repository contains all the code examples from the Boost C++ Application Development Cookbook, Second Edition (ISBN: 9781787282247), Packt Publishing, by Antony Polukhin. Compile and Run Examples Online.

Jodd - The Unbearable Lightness of Java

  •    Java

Jodd is developer-friendly set of Java microframeworks, tools and utilities, under 1.7 MB. Build with common sense to make things simple, but not simpler. Its feature include slick IoC container, elegant MVC framework, unique AOP engine, thin DB-object mapper, standalone transaction manager, focused validation tool, versatile HTML parsers, pages decorator, super properties, powerful BeanUtil, timeless JDateTime, easy email, many super utilities... and more.

CSP LR(1) Parser Generator

  •    C++

CSP Canonical LR(1) Parser Generator. Includes lexer and parser generator. Supports all OS. Produces code as standard ANSI C++ w/ minimal STL and usable in commercial or non-commercial purposes.

modern-cpp-features - A cheatsheet of modern C++ language and library features.

  •    

Many of these descriptions and examples come from various resources (see Acknowledgements section), summarized in my own words. Also, there are now dedicated readme pages for each major C++ version.

cpp-taskflow - Fast C++ Parallel Programming with Task Dependency Graphs

  •    C++

A fast C++ header-only library to help you quickly build parallel programs with complex task dependencies. Cpp-Taskflow lets you quickly build parallel dependency graphs using modern C++17. It supports both static and dynamic tasking, and is by far faster, more expressive, and easier for drop-in integration than existing libraries.

rang - A Minimal, Header only Modern c++ library for terminal goodies 💄✨

  •    C++

rang only depends on C++ standard library, unistd.h system header on unix and windows.h & io.h system headers on windows based systems. In other words, you don't need any 3rd party dependencies. rang is a single header-only library. Put rang.hpp in the include folder directly into the project source tree or somewhere reachable from your project.





We have large collection of open source products. Follow the tags from Tag Cloud >>


Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.