-
-
Notifications
You must be signed in to change notification settings - Fork 2
Parser: implement quad (64-bit integer) type with endian variants #36
Copy link
Copy link
Labels
compatibilitylibmagic compatibility and migrationlibmagic compatibility and migrationenhancementNew feature or requestNew feature or requestevaluatorRule evaluation engine and logicRule evaluation engine and logicparserMagic file parsing components and grammarMagic file parsing components and grammarpriority:highImportant, significant compatibility or architecture impactImportant, significant compatibility or architecture impact
Milestone
Metadata
Metadata
Assignees
Labels
compatibilitylibmagic compatibility and migrationlibmagic compatibility and migrationenhancementNew feature or requestNew feature or requestevaluatorRule evaluation engine and logicRule evaluation engine and logicparserMagic file parsing components and grammarMagic file parsing components and grammarpriority:highImportant, significant compatibility or architecture impactImportant, significant compatibility or architecture impact
Type
Fields
Give feedbackNo fields configured for Feature.
Summary
Implement the
quadtype (64-bit integer) and its endianness variants:quad,lequad,bequad.Context
64-bit integer fields are essential for modern file formats. Many binary formats store sizes, offsets, and identifiers as 64-bit values.
Current state: Only
byte(8-bit),short(16-bit),long(32-bit), andstringtypes are implemented.Acceptance Criteria
TypeKindenum extended withQuadvariantquad,lequad,bequadtype specifiersread_quad()function in evaluator/types.rs reads 8 bytes with correct endiannessImpact
HIGH - Required for modern binary formats, large file handling, and 64-bit timestamp fields.
Files to Modify
src/parser/ast.rs- ExtendTypeKindenumsrc/parser/grammar.rs- Parse quad type specifierssrc/evaluator/types.rs- Implementread_quad()src/evaluator/operators.rs- Ensure operator support for u64/i64References