Sha256: 9b5c18ff9c81bc48171d1024717476bf6e9c9fb01924c3b0489156d29c9fbf9c
Contents?: true
Size: 919 Bytes
Versions: 19
Compression:
Stored size: 919 Bytes
Contents
# The example from the readme. With this, I am making sure that the readme # 'works'. Is this too messy? $:.unshift File.dirname(__FILE__) + "/../lib" # cut here ------------------------------------------------------------------- require 'parslet' include Parslet # Constructs a parser using a Parser Expression Grammar like DSL: parser = str('"') >> ( str('\\') >> any | str('"').absent? >> any ).repeat.as(:string) >> str('"') # Parse the string and capture parts of the interpretation (:string above) tree = parser.parse('"This is a \\"String\\" in which you can escape stuff"') tree # => {:string=>"This is a \\\"String\\\" in which you can escape stuff"} # Here's how you can grab results from that tree: transform = Parslet::Transform.new do rule(:string => simple(:x)) { puts "String contents: #{x}" } end transform.apply(tree)
Version data entries
19 entries across 19 versions & 3 rubygems