module Music::Transcription::Parsing::Articulation

Public Instance Methods

_nt_articulation() click to toggle source
# File lib/music-transcription/parsing/articulation_parsing.rb, line 15
def _nt_articulation
  start_index = index
  if node_cache[:articulation].has_key?(index)
    cached = node_cache[:articulation][index]
    if cached
      node_cache[:articulation][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
      @index = cached.interval.end
    end
    return cached
  end

  i0 = index
  r1 = _nt_slur
  if r1
    r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
    r0 = r1
  else
    r2 = _nt_legato
    if r2
      r2 = SyntaxNode.new(input, (index-1)...index) if r2 == true
      r0 = r2
    else
      r3 = _nt_tenuto
      if r3
        r3 = SyntaxNode.new(input, (index-1)...index) if r3 == true
        r0 = r3
      else
        r4 = _nt_portato
        if r4
          r4 = SyntaxNode.new(input, (index-1)...index) if r4 == true
          r0 = r4
        else
          r5 = _nt_staccato
          if r5
            r5 = SyntaxNode.new(input, (index-1)...index) if r5 == true
            r0 = r5
          else
            r6 = _nt_staccatissimo
            if r6
              r6 = SyntaxNode.new(input, (index-1)...index) if r6 == true
              r0 = r6
            else
              @index = i0
              r0 = nil
            end
          end
        end
      end
    end
  end

  node_cache[:articulation][start_index] = r0

  r0
end
_nt_legato() click to toggle source
# File lib/music-transcription/parsing/articulation_parsing.rb, line 108
def _nt_legato
  start_index = index
  if node_cache[:legato].has_key?(index)
    cached = node_cache[:legato][index]
    if cached
      node_cache[:legato][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(Legato0)
    @index += match_len
  else
    terminal_parse_failure("|")
    r0 = nil
  end

  node_cache[:legato][start_index] = r0

  r0
end
_nt_portato() click to toggle source
# File lib/music-transcription/parsing/articulation_parsing.rb, line 170
def _nt_portato
  start_index = index
  if node_cache[:portato].has_key?(index)
    cached = node_cache[:portato][index]
    if cached
      node_cache[:portato][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(Portato0)
    @index += match_len
  else
    terminal_parse_failure("%")
    r0 = nil
  end

  node_cache[:portato][start_index] = r0

  r0
end
_nt_slur() click to toggle source
# File lib/music-transcription/parsing/articulation_parsing.rb, line 77
def _nt_slur
  start_index = index
  if node_cache[:slur].has_key?(index)
    cached = node_cache[:slur][index]
    if cached
      node_cache[: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(Slur0)
    @index += match_len
  else
    terminal_parse_failure("=")
    r0 = nil
  end

  node_cache[:slur][start_index] = r0

  r0
end
_nt_staccatissimo() click to toggle source
# File lib/music-transcription/parsing/articulation_parsing.rb, line 232
def _nt_staccatissimo
  start_index = index
  if node_cache[:staccatissimo].has_key?(index)
    cached = node_cache[:staccatissimo][index]
    if cached
      node_cache[:staccatissimo][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(Staccatissimo0)
    @index += match_len
  else
    terminal_parse_failure("'")
    r0 = nil
  end

  node_cache[:staccatissimo][start_index] = r0

  r0
end
_nt_staccato() click to toggle source
# File lib/music-transcription/parsing/articulation_parsing.rb, line 201
def _nt_staccato
  start_index = index
  if node_cache[:staccato].has_key?(index)
    cached = node_cache[:staccato][index]
    if cached
      node_cache[:staccato][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(Staccato0)
    @index += match_len
  else
    terminal_parse_failure(".")
    r0 = nil
  end

  node_cache[:staccato][start_index] = r0

  r0
end
_nt_tenuto() click to toggle source
# File lib/music-transcription/parsing/articulation_parsing.rb, line 139
def _nt_tenuto
  start_index = index
  if node_cache[:tenuto].has_key?(index)
    cached = node_cache[:tenuto][index]
    if cached
      node_cache[:tenuto][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(Tenuto0)
    @index += match_len
  else
    terminal_parse_failure("_")
    r0 = nil
  end

  node_cache[:tenuto][start_index] = r0

  r0
end
root() click to toggle source
# File lib/music-transcription/parsing/articulation_parsing.rb, line 11
def root
  @root ||= :articulation
end