Sha256: c5364906eff7687821d52150fd4d08977203ae1bc90be46282cfdc847b6aff36

Contents?: true

Size: 1.5 KB

Versions: 18

Compression:

Stored size: 1.5 KB

Contents

# encoding: UTF-8

# A small example contributed by John Mettraux (jmettraux) that demonstrates
# working with Unicode. This only works on Ruby 1.9.

$:.unshift File.dirname(__FILE__) + "/../lib"

require 'parslet'

class Parser < Parslet::Parser
  rule(:sentence) { (match('[^。]').repeat(1) >> str("。")).as(:sentence) }
  rule(:sentences) { sentence.repeat }
  root(:sentences)
end

class Transformer < Parslet::Transform
  rule(:sentence => simple(:sen)) { sen.to_s }
end

string =
  "RubyKaigi2009のテーマは、「変わる/変える」です。 前回の" +
  "RubyKaigi2008のテーマであった「多様性」の言葉の通り、 " +
  "2008年はRubyそのものに関しても、またRubyの活躍する舞台に関しても、 " +
  "ますます多様化が進みつつあります。RubyKaigi2008は、そのような " +
  "Rubyの生態系をあらためて認識する場となりました。 しかし、" +
  "こうした多様化が進む中、異なる者同士が単純に距離を 置いたままでは、" +
  "その違いを認識したところであまり意味がありません。 異なる実装、" +
  "異なる思想、異なる背景といった、様々な多様性を理解しつつ、 " +
  "すり合わせるべきものをすり合わせ、変えていくべきところを " +
  "変えていくことが、豊かな未来へとつながる道に違いありません。"

parser = Parser.new
transformer = Transformer.new

tree = parser.parse(string)
p transformer.apply(tree)

Version data entries

18 entries across 18 versions & 3 rubygems

Version Path
parslet-2.0.0 example/sentence.rb
parslet-1.8.2 example/sentence.rb
parslet-1.8.1 example/sentence.rb
parslet-1.8.0 example/sentence.rb
swift-pyrite-0.1.1 vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/sentence.rb
swift-pyrite-0.1.0 vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/sentence.rb
parslet-1.7.1 example/sentence.rb
parslet-1.7.0 example/sentence.rb
parslet-1.6.2 example/sentence.rb
parslet-1.6.1 example/sentence.rb
parslet-1.6.0 example/sentence.rb
parslet-1.5.0 example/sentence.rb
ghazel-parslet-1.4.0.2 example/sentence.rb
ghazel-parslet-1.4.0.1 example/sentence.rb
parslet-1.4.0 example/sentence.rb
parslet-1.3.0 example/sentence.rb
parslet-1.2.3 example/sentence.rb
parslet-1.2.1 example/sentence.rb