module Musicality module Parsing

grammar Articulation

rule articulation
  tenuto / accent / marcato / portato / staccato / staccatissimo
end

rule tenuto
  "-" {
    def to_articulation
      Musicality::Articulations::TENUTO
    end
  }
end

rule accent
  ">" {
    def to_articulation
      Musicality::Articulations::ACCENT
    end
  }
end

rule marcato
  "^" {
    def to_articulation
      Musicality::Articulations::MARCATO
    end
  }
end

rule portato
  "_" {
    def to_articulation
      Musicality::Articulations::PORTATO
    end
  }
end

rule staccato
  "." {
    def to_articulation
      Musicality::Articulations::STACCATO
    end
  }
end

rule staccatissimo
  "!" {
    def to_articulation
      Musicality::Articulations::STACCATISSIMO
    end
  }
end

end

end end