File size: 1,552 Bytes
2113a6a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
from compiler.parser_v2 import AbilityParserV2


def run_debug():
    with open("debug_output.txt", "w", encoding="utf-8") as f:
        parser = AbilityParserV2()
        text = "自分の成功ライブカード置き場にあるカードを1枚手札に加える。"

        f.write(f"Input text repr: {repr(text)}\n")

        # Manually invoke extraction to test registry
        results = parser.registry.match_all(
            text,
            parser.registry.get_patterns(parser.registry._patterns[list(parser.registry._patterns.keys())[2]].phase)[
                0
            ].phase,
        )
        # Accessing PatternPhase.EFFECT safely

        from compiler.patterns.base import PatternPhase

        results = parser.registry.match_all(text, PatternPhase.EFFECT)

        f.write(f"Matches found: {len(results)}\n")
        for p, m, d in results:
            f.write(f"Matched: {p.name}\n")

        # Check specific pattern
        patterns = parser.registry.get_patterns(PatternPhase.EFFECT)
        target = next((p for p in patterns if p.name == "recover_from_success"), None)
        if target:
            f.write(f"Target pattern found: {target.name}\n")
            f.write(f"Target keywords: {target.keywords}\n")
            f.write(f"Target regex: {target.regex}\n")
            m = target.matches(text)
            f.write(f"Target match result: {m}\n")
        else:
            f.write("Target pattern NOT found in registry.\n")


if __name__ == "__main__":
    run_debug()