bracket_notation 1.0.4 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/CHANGELOG CHANGED
@@ -1,5 +1,11 @@
1
1
  = Version History
2
2
 
3
+ == 1.0.5 / 2011-03-09:
4
+
5
+ * Removed an extraneous space from the #pretty_print output that has always
6
+ bugged me. *So* worth a new release
7
+ * Added information and a usage example to the README
8
+
3
9
  == 1.0.4 / 2011-01-09:
4
10
 
5
11
  * Added a validation class method to the Parser class to help with error
@@ -1,3 +1,5 @@
1
+ = BracketNotation
2
+
1
3
  BracketNotation is a parser for generating syntax trees from sentences
2
4
  annotated with the kind of bracket notation that is commonly used by
3
5
  linguists. The result is a tree structure with nodes that describe the phrases
@@ -9,3 +11,41 @@ and small portions of his code have been incorporated in the parser.
9
11
  Author:: Cody Brimhall (mailto:brimhall@somuchwit.com)
10
12
  Copyright:: Copyright (c) 2010 Cody Brimhall
11
13
  License:: Distributed under the terms of the GNU General Public License, v. 3
14
+
15
+ == Using BracketNotation
16
+
17
+ To use BracketNotation, simply initialize a Parser instance with the string you
18
+ want to parse, and call the #parse method. Parser performs some basic validation
19
+ before attempting to evaluate the string. If validation fails, Parser raises a
20
+ ValidationError. If the evaluator encounters a syntax error in the string, it
21
+ raises an EvaluationError.
22
+
23
+ require 'bracket_notation'
24
+ include BracketNotation
25
+
26
+ input = "[S [NP colorless green ideas] [VP [V sleep] [Adv furiously]]]"
27
+
28
+ begin
29
+ parser = Parser.new(input)
30
+ tree = parser.parse
31
+
32
+ puts tree.pretty_print # => S
33
+ # -- NP
34
+ # ---- colorless
35
+ # ---- green
36
+ # ---- ideas
37
+ # -- VP
38
+ # ---- V
39
+ # ------ sleep
40
+ # ---- Adv
41
+ # ------ furiously
42
+ rescue ValidationError
43
+ puts "Validation failed: #{$!}"
44
+ rescue EvaluationError
45
+ puts "Evaluation failed: #{$!}"
46
+ end
47
+
48
+ == Bugs, Feature Requests, Et Cetera
49
+
50
+ If you have any bugs, feature requests, or glowing praise, you can
51
+ find this project on GitHub[http://github.com/zbrimhall/bracket_notation].
@@ -2,11 +2,11 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{bracket_notation}
5
- s.version = "1.0.4"
5
+ s.version = "1.0.5"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Cody Brimhall"]
9
- s.date = %q{2011-03-08}
9
+ s.date = %q{2011-03-09}
10
10
  s.description = %q{Generates a representation of a syntax tree using a string of bracket notation.}
11
11
  s.email = %q{zbrimhall@gmail.com}
12
12
  s.extra_rdoc_files = ["CHANGELOG", "COPYING", "README.rdoc", "lib/bracket_notation.rb", "lib/bracket_notation/evaluator.rb", "lib/bracket_notation/expressions.rb", "lib/bracket_notation/expressions/expression.rb", "lib/bracket_notation/expressions/identifier.rb", "lib/bracket_notation/expressions/terminal.rb", "lib/bracket_notation/parser.rb", "lib/bracket_notation/scanner.rb", "lib/bracket_notation/token.rb", "lib/bracket_notation/version.rb"]
@@ -43,7 +43,8 @@ module BracketNotation # :nodoc:
43
43
  def pretty_print
44
44
  out = ""
45
45
  @depth.times {out << "--"}
46
- out << " #{@value}\n"
46
+ out << " " if @depth > 0
47
+ out << "#{@value}\n"
47
48
  end
48
49
  end
49
50
  end
@@ -30,7 +30,7 @@ module BracketNotation # :nodoc:
30
30
  module Version # :nodoc:
31
31
  MAJOR = 1
32
32
  MINOR = 0
33
- MAINT = 4
33
+ MAINT = 5
34
34
 
35
35
  # Returns the current version string.
36
36
  def self.to_s;
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: bracket_notation
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 1.0.4
5
+ version: 1.0.5
6
6
  platform: ruby
7
7
  authors:
8
8
  - Cody Brimhall
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-03-08 00:00:00 -08:00
13
+ date: 2011-03-09 00:00:00 -08:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency