awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
westes avatar

westes/flex

0
View on GitHub↗
4,028 stars·574 forks·C·5 vues

Flex

Flex est un générateur de scanners et un générateur d'analyseurs lexicaux qui transforme les définitions d'expressions régulières en logiciels capables de convertir du texte d'entrée en jetons (tokens). Il génère principalement du code source C et C++ pour une utilisation dans le développement de compilateurs et d'interpréteurs.

L'outil fournit un générateur spécifique pour produire des implémentations de scanners orientées objet sous forme de classes, permettant aux outils d'analyse lexicale de s'intégrer directement dans les projets logiciels C++. Il inclut également une chaîne d'outils de compilation croisée pour construire des implémentations de scanners pour des plateformes cibles différentes de la machine hôte.

Le projet couvre des capacités fonctionnelles pour le suivi des colonnes d'entrée afin de prendre en charge des rapports d'erreurs précis et la gestion des fichiers de sauvegarde pour éviter les collisions de noms.

Features

  • Lexical Analyzer Generators - Acts as a scanner and lexical analyzer generator for C and C++ programs.
  • DFA-Based Scanning - Uses Deterministic Finite Automata to convert regular expressions into high-performance scanners.
  • Scanner Generators - Transforms regular expression definitions into fast lexical analyzers for compilers and interpreters.
  • C Source Generators - Generates C source code from formal grammar specifications for native compilation.
  • Compiler Front-End Development - Provides the fundamental scanning and tokenization capabilities needed for C and C++ compiler front-ends.
  • Lexical Analyzers - Transforms raw character streams into structured tokens based on defined patterns.
  • Cross-Architecture Binary Compilation - Supports compiling scanner implementations for hardware architectures different from the host.
  • Cross-Compilation Toolchains - Ships a build environment capable of generating executable binaries for diverse target hardware.
  • Scanner Class Generation - Generates scanner implementations as C++ classes for integration into object-oriented software.
  • Scanner Class Generators - Produces object-oriented scanner implementations as classes for C++ software projects.
  • Cross-Platform Compilers - Includes a build process that targets multiple operating systems and processor architectures.
  • Scanner Class Implementations - Provides the ability to generate scanner implementations as C++ classes for object-oriented integration.
  • Lexer Class Integration - Generates lexical analysis tools as classes to integrate seamlessly into object-oriented C++ projects.
  • Input Buffering - Implements memory chunking to minimize system calls while processing input text streams.
  • Table-Driven State Machines - Utilizes precomputed lookup tables to map current states and input characters to the next state.
  • Windows Environments - Listed in the “Windows Environments” section of the Awesome C awesome list.

Historique des stars

Graphique de l'historique des stars pour westes/flexGraphique de l'historique des stars pour westes/flex

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Alternatives open source à Flex

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Flex.
  • ispc/ispcAvatar de ispc

    ispc/ispc

    2,843Voir sur GitHub↗

    ISPC is a vectorizing compiler and SIMD parallel programming language that implements a single program multiple data model. It serves as a toolchain for translating C-based code with parallel extensions into optimized machine code for various CPU and GPU architectures using an LLVM backend. The compiler is designed for cross-platform SIMD toolchain support, generating specialized instruction sets for x86 SSE/AVX, ARM NEON, and Intel GPU from a single source. It features a runtime dispatch mechanism that selects the most efficient hardware-specific implementation for the current system during

    C++compilerintelispc
    Voir sur GitHub↗2,843
  • acceleratehs/accelerateAvatar de AccelerateHS

    AccelerateHS/accelerate

    1,012Voir sur GitHub↗

    Accelerate is a framework for high-performance array computing that provides a domain-specific language for expressing complex mathematical and parallel computations. By utilizing a declarative programming interface, it allows users to define high-level array transformations that are automatically translated into optimized machine code for diverse hardware architectures. The system distinguishes itself through a modular architecture that decouples high-level array operations from hardware-specific instructions. It employs just-in-time compilation and kernel fusion to transform programs into e

    Haskellacceleratecudagpu
    Voir sur GitHub↗1,012
  • briansmith/ringAvatar de briansmith

    briansmith/ring

    4,091Voir sur GitHub↗

    Ring is a low-level cryptographic primitive library and security toolset designed for building portable, secure applications. It provides a collection of implementations for RSA, elliptic curve cryptography, and authenticated symmetric encryption. The project focuses on constant-time cryptography to prevent secret data from leaking through timing side-channel attacks. It utilizes a formal verification tool that generates arithmetic logic from templates, ensuring mathematical correctness and eliminating manual implementation errors. The library includes capabilities for producing cryptographi

    Assembly
    Voir sur GitHub↗4,091
  • ocaml/ocamlAvatar de ocaml

    ocaml/ocaml

    6,514Voir sur GitHub↗

    OCaml is a strongly typed functional language featuring a sophisticated type system and a focus on safety and expressiveness. It provides a comprehensive compiling toolchain that transforms source code into either portable bytecode or high-performance native binaries. The project is distinguished by a shared memory parallel runtime that executes computations across multiple processor cores using domains, and an algebraic effect system for managing side effects and control flow through execution context handlers. It also includes a dedicated parser generator to automatically create lexers and

    OCamlcompilerfunctional-languageocaml
    Voir sur GitHub↗6,514
Voir les 30 alternatives à Flex→

Questions fréquentes

Que fait westes/flex ?

Flex est un générateur de scanners et un générateur d'analyseurs lexicaux qui transforme les définitions d'expressions régulières en logiciels capables de convertir du texte d'entrée en jetons (tokens). Il génère principalement du code source C et C++ pour une utilisation dans le développement de compilateurs et d'interpréteurs.

Quelles sont les fonctionnalités principales de westes/flex ?

Les fonctionnalités principales de westes/flex sont : Lexical Analyzer Generators, DFA-Based Scanning, Scanner Generators, C Source Generators, Compiler Front-End Development, Lexical Analyzers, Cross-Architecture Binary Compilation, Cross-Compilation Toolchains.

Quelles sont les alternatives open-source à westes/flex ?

Les alternatives open-source à westes/flex incluent : ispc/ispc — ISPC is a vectorizing compiler and SIMD parallel programming language that implements a single program multiple data… void-linux/void-packages — This project is a source-based package management framework designed to build, maintain, and distribute software for a… ocaml/ocaml — OCaml is a strongly typed functional language featuring a sophisticated type system and a focus on safety and… briansmith/ring — Ring is a low-level cryptographic primitive library and security toolset designed for building portable, secure… acceleratehs/accelerate — Accelerate is a framework for high-performance array computing that provides a domain-specific language for expressing… riscv-collab/riscv-gnu-toolchain — This project is a cross-compiler toolchain for RISC-V software development. It provides the necessary components to…