awesome-repositories.com
ब्लॉग
MCP
awesome-repositories.com

AI-संचालित खोज के साथ बेहतरीन ओपन-सोर्स रिपॉजिटरी खोजें।

एक्सप्लोर करेंक्यूरेटेड खोजेंओपन-सोर्स विकल्पसेल्फ-होस्टेड सॉफ्टवेयरब्लॉगसाइटमैप
प्रोजेक्टहमारे बारे मेंहम रैंकिंग कैसे करते हैंप्रेसMCP सर्वर
कानूनीगोपनीयताशर्तें
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
Geal avatar

Geal/nom

0
View on GitHub↗
10,422 स्टार्स·847 फोर्क्स·Rust·MIT·6 व्यूज़

Nom

nom is a Rust parser combinator framework used to build complex parsers for binary and text data. It functions as an abstract syntax tree generator and a bit-level binary parser, allowing users to construct structured data by combining small, reusable parsing functions.

The framework provides specialized support for zero-copy binary parsing, extracting data as slices from raw byte arrays to avoid memory allocations. It also includes a streaming data parser capable of processing partial input chunks from networks or files and signaling when additional input is required.

The project covers a broad range of parsing capabilities, including lexerless programming language parsing, text format extraction using case-insensitive comparisons, and bit-level logic for binary data processing. It also includes observability features for parsing error mapping, associating error codes with specific input slices to pinpoint failure locations.

Features

  • Parser Combinators - Functions as a parser combinator framework for building complex binary and text parsers.
  • Combinator-Based Composition - Enables the construction of complex grammars by chaining small, reusable parsing functions.
  • Binary Data Parsers - Processes binary formats using bit-level logic to extract specific data fields.
  • Data Parsing - Extracts structured information from raw byte sequences using bit-level logic.
  • Streaming Data Processing - Handles partial data chunks and requests more input to complete parsing operations.
  • Streaming Parsers - Processes partial input chunks incrementally to handle incomplete data streams.
  • Zero-Copy Data Access - Retrieves subsets of input data as slices to eliminate memory allocation during parsing.
  • Zero-Copy Deserialization - Extracts data as slices from raw buffers to avoid memory allocations and reduce overhead.
  • Stream Parsing Utilities - Uses combinators to build complex data structures from binary or text streams.
  • Bit-Level Binary Parsers - Provides bit-level logic for extracting structured information from binary data streams.
  • Streaming Input Parsers - Provides a streaming parser that handles partial input chunks from networks or files.
  • Zero-Copy Parsers - Implements a parser that extracts structured data from raw byte arrays as slices to eliminate memory allocations.
  • Parser Combinator Frameworks - Provides a complete Rust framework for building complex binary and text parsers using combinators.
  • Structured Data Extraction - Retrieves organized information from raw byte arrays or text strings using combined parsing functions.
  • Text Extraction - Extracts organized information from strings using pattern recognition and case-insensitive comparisons.
  • Data & Text Processing - Processes text data using case-insensitive comparisons and escaped string recognizers.
  • Abstract Syntax Tree Parsing - Constructs abstract syntax trees for programming languages without requiring a separate lexing phase.
  • Parse Error Reporters - Provides mechanisms to associate error codes with specific input slices to pinpoint exact line and column failure locations.
  • Lexerless Parsers - Implements lexerless parsing to construct abstract syntax trees directly from characters.
  • Language Tooling - Parser combinator framework for Rust.

स्टार हिस्ट्री

geal/nom के लिए स्टार हिस्ट्री चार्टgeal/nom के लिए स्टार हिस्ट्री चार्ट

AI सर्च

और अधिक बेहतरीन रिपॉजिटरी खोजें

अपनी ज़रूरत को सरल भाषा में बताएं — AI हजारों क्यूरेटेड ओपन-सोर्स प्रोजेक्ट्स को प्रासंगिकता के आधार पर रैंक करता है।

Start searching with AI

Nom के ओपन-सोर्स विकल्प

समान ओपन-सोर्स प्रोजेक्ट्स, जो Nom के साथ साझा की गई सुविधाओं के आधार पर रैंक किए गए हैं।
  • rust-bakery/nomrust-bakery का अवतार

    rust-bakery/nom

    10,426GitHub पर देखें↗

    nom is a parser combinator framework for Rust used to build complex parsers by combining small, reusable parsing functions. It functions as a zero-copy parsing tool that minimizes memory overhead by returning slices of the original input instead of allocating new memory. The framework is designed for diverse data formats, serving as a binary data parser with configurable endianness and a bitstream processing library capable of extracting values of arbitrary bit length. It also functions as a streaming data parser that can process data arriving in chunks and signal when additional input is req

    Rustbyte-arraygrammarnom
    GitHub पर देखें↗10,426
  • zserge/jsmnzserge का अवतार

    zserge/jsmn

    4,065GitHub पर देखें↗

    jsmn is a lightweight JSON parser library written in C. It provides zero-copy tokenization and incremental parsing designed for use in embedded systems and memory-constrained environments. The library identifies structural JSON elements by providing offsets into the original string rather than allocating new memory for data. It uses a single-pass scanning method and requires static-buffer allocation, meaning the caller provides the memory for tokens to avoid dynamic allocation during the parsing process. The parser supports incremental streaming, allowing it to process JSON data in chunks fr

    Cjson-datajson-stringparsing
    GitHub पर देखें↗4,065
  • rkyv/rkyvrkyv का अवतार

    rkyv/rkyv

    4,267GitHub पर देखें↗

    rkyv is a zero-copy deserialization framework for Rust that provides a binary serialization format for memory-mappable data archives. It allows complex data structures to be mapped to bytes and accessed directly from a buffer without allocating new memory or copying data. The project enables the serialization of polymorphic types and trait objects, maintaining their dynamic behavior and structure within the binary form. It utilizes relative-pointer addressing and byte-aligned structure packing to ensure data remains valid regardless of where it is loaded in memory. The framework covers high-

    Rustrustserializationzero-copy
    GitHub पर देखें↗4,267
  • alipay/furyalipay का अवतार

    alipay/fury

    4,412GitHub पर देखें↗

    Fury is a multi-language binary serialization framework designed for encoding domain objects and complex graphs to facilitate cross-language data exchange. It includes an interface definition language compiler that translates schema definitions into idiomatic native types and serialization boilerplate across multiple languages. The project distinguishes itself through a zero-copy binary reader that allows specific fields to be accessed without deserializing the entire object, as well as an object graph serializer that preserves circular references and referential integrity. It also features a

    Java
    GitHub पर देखें↗4,412
Nom के सभी 30 विकल्प देखें→

अक्सर पूछे जाने वाले प्रश्न

geal/nom क्या करता है?

nom is a Rust parser combinator framework used to build complex parsers for binary and text data. It functions as an abstract syntax tree generator and a bit-level binary parser, allowing users to construct structured data by combining small, reusable parsing functions.

geal/nom की मुख्य विशेषताएं क्या हैं?

geal/nom की मुख्य विशेषताएं हैं: Parser Combinators, Combinator-Based Composition, Binary Data Parsers, Data Parsing, Streaming Data Processing, Streaming Parsers, Zero-Copy Data Access, Zero-Copy Deserialization।

geal/nom के कुछ ओपन-सोर्स विकल्प क्या हैं?

geal/nom के ओपन-सोर्स विकल्पों में शामिल हैं: rust-bakery/nom — nom is a parser combinator framework for Rust used to build complex parsers by combining small, reusable parsing… zserge/jsmn — jsmn is a lightweight JSON parser library written in C. It provides zero-copy tokenization and incremental parsing… rkyv/rkyv — rkyv is a zero-copy deserialization framework for Rust that provides a binary serialization format for memory-mappable… tidwall/gjson — gjson is a Go JSON parser designed for schema-less reading and value extraction. It allows for the retrieval of… alipay/fury — Fury is a multi-language binary serialization framework designed for encoding domain objects and complex graphs to… serde-rs/serde — This project is a framework for the efficient serialization and deserialization of data structures. It provides a…