Class: LexerKit::Builder::ConflictDetector
- Inherits:
-
Object
- Object
- LexerKit::Builder::ConflictDetector
- Defined in:
- lib/lexer_kit/builder/conflict_detector.rb
Overview
ConflictDetector analyzes token patterns to detect potential conflicts. A conflict occurs when multiple patterns can match the same input.
Defined Under Namespace
Classes: Conflict
Instance Method Summary collapse
-
#detect ⇒ Array<Conflict>
Detect all conflicts in the lexer definition.
-
#initialize(builder) ⇒ ConflictDetector
constructor
A new instance of ConflictDetector.
Constructor Details
#initialize(builder) ⇒ ConflictDetector
Returns a new instance of ConflictDetector.
10 11 12 13 |
# File 'lib/lexer_kit/builder/conflict_detector.rb', line 10 def initialize(builder) @builder = builder @conflicts = [] end |
Instance Method Details
#detect ⇒ Array<Conflict>
Detect all conflicts in the lexer definition
17 18 19 20 21 22 23 24 25 |
# File 'lib/lexer_kit/builder/conflict_detector.rb', line 17 def detect @conflicts = [] @builder.mode_defs.each do |_mode_name, mode_def| detect_mode_conflicts(mode_def) end @conflicts end |