Skip to main content

Module parser

Module parser 

Source
Expand description

STEP/IFC Parser using nom

Zero-copy tokenization and fast entity scanning.

Two independent algorithms live here:

  • [tokenizer]: nom-combinator tokenization (Token, parse_entity).
  • [scanner]: a byte-level SIMD fast scanner (EntityScanner) that does its own hand-rolled parsing and never touches Token or nom.

Structs§

EntityScanner
Fast entity scanner over raw IFC bytes without full parsing. O(n) performance for finding entities by type Uses memchr for SIMD-accelerated byte searching

Enums§

Token
STEP/IFC token.

Functions§

entity_count
Count the entities in a STEP/IFC byte buffer in O(scan) time and O(1) memory — no entity index, no per-type map.
parse_entity
Parse a complete entity line from raw IFC bytes. Example: #123=IFCWALL(‘guid’,‘owner’,$,$,‘name’,$,$,$);