-
-
Notifications
You must be signed in to change notification settings - Fork 2
Parser: implement default, clear, name, use, and indirect meta-types #42
Copy link
Copy link
Closed
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:normalStandard work itemStandard work item
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:normalStandard work itemStandard work item
Type
Fields
Give feedbackNo fields configured for Feature.
Summary
Implement the meta-type specifiers that control rule evaluation flow:
default,clear,name,use, andindirect.Context
These are not data types but control directives within magic files:
Current state: None of these are recognized by the parser.
Acceptance Criteria
default,clear,name,use,indirectas special typesdefaultprovides fallback description textname/useenable rule subroutines (define and invoke)indirecttriggers recursive evaluation at the specified offsetclearresets match state for current rule levelImpact
MEDIUM-HIGH -
name/useare used extensively in system magic files for rule deduplication.defaultis common for providing "unknown subtype" descriptions.indirectenables ZIP content inspection and similar nested format detection.Files to Modify
src/parser/ast.rs- ExtendTypeKindor add separate enum for directivessrc/parser/grammar.rs- Parse meta-type specifierssrc/evaluator/mod.rs- Implement evaluation logic for eachReferences