Module: Musicality::Parsing::Mark
- Includes:
- Treetop::Runtime
- Included in:
- MarkParser
- Defined in:
- lib/musicality/notation/parsing/mark_parsing.rb
Defined Under Namespace
Modules: BeginSlur0, EndSlur0
Instance Method Summary
collapse
Instance Method Details
#_nt_begin_slur ⇒ Object
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
# File 'lib/musicality/notation/parsing/mark_parsing.rb', line 18
def _nt_begin_slur
start_index = index
if node_cache[:begin_slur].has_key?(index)
cached = node_cache[:begin_slur][index]
if cached
node_cache[:begin_slur][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
@index = cached.interval.end
end
return cached
end
if (match_len = has_terminal?("(", false, index))
r0 = instantiate_node(SyntaxNode,input, index...(index + match_len))
r0.extend(BeginSlur0)
@index += match_len
else
terminal_parse_failure('"("')
r0 = nil
end
node_cache[:begin_slur][start_index] = r0
r0
end
|
#_nt_end_slur ⇒ Object
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
# File 'lib/musicality/notation/parsing/mark_parsing.rb', line 47
def _nt_end_slur
start_index = index
if node_cache[:end_slur].has_key?(index)
cached = node_cache[:end_slur][index]
if cached
node_cache[:end_slur][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
@index = cached.interval.end
end
return cached
end
if (match_len = has_terminal?(")", false, index))
r0 = instantiate_node(SyntaxNode,input, index...(index + match_len))
r0.extend(EndSlur0)
@index += match_len
else
terminal_parse_failure('")"')
r0 = nil
end
node_cache[:end_slur][start_index] = r0
r0
end
|
#root ⇒ Object
10
11
12
|
# File 'lib/musicality/notation/parsing/mark_parsing.rb', line 10
def root
@root ||= :begin_slur
end
|