feat: Add contextual analysis to parser #28
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This commit enhances the
AST_Semantic_Parserto be more context-aware, which significantly improves its precision and reduces false positives.Previously, the parser would incorrectly classify any method call named
addas a "community" action (Love dimension), even when it was being used as an implementation detail (e.g., adding an item to a set).This has been resolved by adding a contextual override to the
visit_Callmethod. The parser now checks if theaddmethod is being called on the_concepts_foundobject. If so, it correctly classifies the action as "wisdom" (recording information), which aligns with the true semantic purpose.A new test has been added to
tests/test_parser.pyto specifically validate this new logic, and a meta-analysis has confirmed that this change successfully eliminates the previously identified false positives in thevisit_*methods.