dslkit 0.2.10 → 0.2.11
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/Rakefile +2 -1
- data/VERSION +1 -1
- data/dslkit.gemspec +15 -12
- data/examples/add_one.png +0 -0
- data/examples/bb3.png +0 -0
- data/examples/concatenate_compare.png +0 -0
- data/examples/length_difference.png +0 -0
- data/examples/ones_difference-mtm.png +0 -0
- data/examples/ones_difference-stm.png +0 -0
- data/examples/prefix-equals-suffix-reversed-with-infix.png +0 -0
- data/examples/turing.rb +2 -2
- data/lib/dslkit/polite.rb +12 -31
- data/lib/dslkit/version.rb +1 -1
- metadata +56 -22
- data/examples/add_one.pdf +0 -0
- data/examples/bb3.pdf +0 -0
- data/examples/concatenate_compare.pdf +0 -0
- data/examples/length_difference.pdf +0 -0
- data/examples/ones_difference-mtm.pdf +0 -0
- data/examples/ones_difference-stm.pdf +0 -0
- data/examples/prefix-equals-suffix-reversed-with-infix.pdf +0 -0
data/Rakefile
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.11
|
data/dslkit.gemspec
CHANGED
@@ -2,37 +2,40 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = "dslkit"
|
5
|
-
s.version = "0.2.
|
5
|
+
s.version = "0.2.11"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Florian Frank"]
|
9
|
-
s.date = "2012-
|
9
|
+
s.date = "2012-10-02"
|
10
10
|
s.description = "This library contains recurring patterns, that are useful in the creation of internal Domain Specific Languages (DSL) in Ruby."
|
11
11
|
s.email = "flori@ping.de"
|
12
|
-
s.extra_rdoc_files = ["README.rdoc", "lib/dslkit/
|
13
|
-
s.files = [".gitignore", ".rvmrc", ".travis.yml", "CHANGES", "COPYING", "Gemfile", "README.rdoc", "Rakefile", "TODO", "VERSION", "dslkit.gemspec", "examples/add_one.
|
12
|
+
s.extra_rdoc_files = ["README.rdoc", "lib/dslkit/polite.rb", "lib/dslkit/rude.rb", "lib/dslkit/version.rb", "lib/dslkit.rb"]
|
13
|
+
s.files = [".gitignore", ".rvmrc", ".travis.yml", "CHANGES", "COPYING", "Gemfile", "README.rdoc", "Rakefile", "TODO", "VERSION", "dslkit.gemspec", "examples/add_one.png", "examples/add_one.stm", "examples/bb3.png", "examples/bb3.stm", "examples/bb3_19.stm", "examples/concatenate_compare.mtm", "examples/concatenate_compare.png", "examples/concatenate_compare_19.mtm", "examples/length_difference.mtm", "examples/length_difference.png", "examples/length_difference_19.mtm", "examples/let.rb", "examples/mail.rb", "examples/minsky.rb", "examples/multiply.reg", "examples/null_pattern.rb", "examples/ones_difference-mtm.png", "examples/ones_difference-stm.png", "examples/ones_difference.mtm", "examples/ones_difference.stm", "examples/ones_difference_19.mtm", "examples/ones_difference_19.stm", "examples/prefix-equals-suffix-reversed-with-infix.png", "examples/prefix-equals-suffix-reversed-with-infix.stm", "examples/prefix-equals-suffix-reversed-with-infix_19.stm", "examples/recipe.rb", "examples/recipe2.rb", "examples/recipe_common.rb", "examples/subtract.reg", "examples/turing-graph.rb", "examples/turing.rb", "lib/dslkit.rb", "lib/dslkit/polite.rb", "lib/dslkit/rude.rb", "lib/dslkit/version.rb", "tests/concern_test.rb", "tests/dynamic_scope_test.rb", "tests/from_module_test.rb", "tests/polite_test.rb", "tests/scope_test.rb", "tests/test_helper.rb"]
|
14
14
|
s.homepage = "http://flori.github.com/dslkit"
|
15
15
|
s.rdoc_options = ["--title", "Dslkit - Kit for building DSLs in Ruby", "--main", "README.rdoc"]
|
16
16
|
s.require_paths = ["lib"]
|
17
|
-
s.rubygems_version = "1.8.
|
17
|
+
s.rubygems_version = "1.8.24"
|
18
18
|
s.summary = "Kit for building DSLs in Ruby"
|
19
|
-
s.test_files = ["tests/concern_test.rb", "tests/
|
19
|
+
s.test_files = ["tests/concern_test.rb", "tests/dynamic_scope_test.rb", "tests/from_module_test.rb", "tests/polite_test.rb", "tests/scope_test.rb", "tests/test_helper.rb"]
|
20
20
|
|
21
21
|
if s.respond_to? :specification_version then
|
22
22
|
s.specification_version = 3
|
23
23
|
|
24
24
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
25
|
-
s.add_development_dependency(%q<gem_hadar>, ["~> 0.1.
|
25
|
+
s.add_development_dependency(%q<gem_hadar>, ["~> 0.1.8"])
|
26
|
+
s.add_development_dependency(%q<utils>, [">= 0"])
|
26
27
|
s.add_runtime_dependency(%q<term-ansicolor>, ["~> 1.0"])
|
27
|
-
s.add_runtime_dependency(%q<tins>, ["~> 0.
|
28
|
+
s.add_runtime_dependency(%q<tins>, ["~> 0.5.6"])
|
28
29
|
else
|
29
|
-
s.add_dependency(%q<gem_hadar>, ["~> 0.1.
|
30
|
+
s.add_dependency(%q<gem_hadar>, ["~> 0.1.8"])
|
31
|
+
s.add_dependency(%q<utils>, [">= 0"])
|
30
32
|
s.add_dependency(%q<term-ansicolor>, ["~> 1.0"])
|
31
|
-
s.add_dependency(%q<tins>, ["~> 0.
|
33
|
+
s.add_dependency(%q<tins>, ["~> 0.5.6"])
|
32
34
|
end
|
33
35
|
else
|
34
|
-
s.add_dependency(%q<gem_hadar>, ["~> 0.1.
|
36
|
+
s.add_dependency(%q<gem_hadar>, ["~> 0.1.8"])
|
37
|
+
s.add_dependency(%q<utils>, [">= 0"])
|
35
38
|
s.add_dependency(%q<term-ansicolor>, ["~> 1.0"])
|
36
|
-
s.add_dependency(%q<tins>, ["~> 0.
|
39
|
+
s.add_dependency(%q<tins>, ["~> 0.5.6"])
|
37
40
|
end
|
38
41
|
end
|
Binary file
|
data/examples/bb3.png
ADDED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/examples/turing.rb
CHANGED
@@ -169,13 +169,13 @@ module Turing
|
|
169
169
|
end
|
170
170
|
|
171
171
|
class BaseMachine
|
172
|
-
def initialize(program = nil)
|
172
|
+
def initialize(program = nil, &block)
|
173
173
|
@states = []
|
174
174
|
if program
|
175
175
|
block_given? and raise "use either program source string or a block"
|
176
176
|
interpret program
|
177
177
|
else
|
178
|
-
instance_eval(&
|
178
|
+
instance_eval(&block)
|
179
179
|
end
|
180
180
|
end
|
181
181
|
|
data/lib/dslkit/polite.rb
CHANGED
@@ -11,9 +11,13 @@ module DSLKit
|
|
11
11
|
#
|
12
12
|
# The module can be included into other modules/classes to make the methods available.
|
13
13
|
module Eigenclass
|
14
|
-
|
15
|
-
|
16
|
-
|
14
|
+
if Object.respond_to?(:singleton_class)
|
15
|
+
alias eigenclass singleton_class
|
16
|
+
else
|
17
|
+
# Returns the eigenclass of this object.
|
18
|
+
def eigenclass
|
19
|
+
class << self; self; end
|
20
|
+
end
|
17
21
|
end
|
18
22
|
|
19
23
|
# Evaluates the _block_ in context of the eigenclass of this object.
|
@@ -375,8 +379,9 @@ module DSLKit
|
|
375
379
|
# <i>*ids</i>. ids can be Symbols, Strings, and Regexps that have to match
|
376
380
|
# the method name with #===.
|
377
381
|
def self.with(*ids)
|
382
|
+
opts = Hash === ids.last ? ids.pop : {}
|
378
383
|
ids = ids.map { |id| Regexp === id ? id : id.to_s }
|
379
|
-
klass = Class.new
|
384
|
+
klass = opts[:superclass] ? Class.new(opts[:superclass]) : Class.new
|
380
385
|
klass.instance_eval do
|
381
386
|
instance_methods.each do |m|
|
382
387
|
m = m.to_s
|
@@ -691,37 +696,13 @@ module DSLKit
|
|
691
696
|
super
|
692
697
|
elsif args.size == 1 and id.to_s =~ /(.*?)=\Z/
|
693
698
|
c = scope_top(dynamic_scope_name) or super
|
694
|
-
c[$1
|
699
|
+
c[$1] = args.first
|
695
700
|
else
|
696
701
|
super
|
697
702
|
end
|
698
703
|
end
|
699
704
|
end
|
700
705
|
|
701
|
-
|
702
|
-
|
703
|
-
base.instance_variable_set("@_dependencies", [])
|
704
|
-
end
|
705
|
-
|
706
|
-
def append_features(base)
|
707
|
-
if base.instance_variable_defined?("@_dependencies")
|
708
|
-
base.instance_variable_get("@_dependencies") << self
|
709
|
-
return false
|
710
|
-
else
|
711
|
-
return false if base < self
|
712
|
-
@_dependencies.each { |dep| base.send(:include, dep) }
|
713
|
-
super
|
714
|
-
base.extend const_get("ClassMethods") if const_defined?("ClassMethods")
|
715
|
-
base.class_eval(&@_included_block) if instance_variable_defined?("@_included_block")
|
716
|
-
end
|
717
|
-
end
|
718
|
-
|
719
|
-
def included(base = nil, &block)
|
720
|
-
if base.nil?
|
721
|
-
@_included_block = block
|
722
|
-
else
|
723
|
-
super
|
724
|
-
end
|
725
|
-
end
|
726
|
-
end
|
706
|
+
require 'tins/concern'
|
707
|
+
Concern = ::Tins::Concern
|
727
708
|
end
|
data/lib/dslkit/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dslkit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.11
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,22 +9,43 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-10-02 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: gem_hadar
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 0.1.
|
21
|
+
version: 0.1.8
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 0.1.8
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: utils
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
38
|
+
type: :development
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
25
46
|
- !ruby/object:Gem::Dependency
|
26
47
|
name: term-ansicolor
|
27
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
28
49
|
none: false
|
29
50
|
requirements:
|
30
51
|
- - ~>
|
@@ -32,18 +53,28 @@ dependencies:
|
|
32
53
|
version: '1.0'
|
33
54
|
type: :runtime
|
34
55
|
prerelease: false
|
35
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '1.0'
|
36
62
|
- !ruby/object:Gem::Dependency
|
37
63
|
name: tins
|
38
|
-
requirement:
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
39
65
|
none: false
|
40
66
|
requirements:
|
41
67
|
- - ~>
|
42
68
|
- !ruby/object:Gem::Version
|
43
|
-
version:
|
69
|
+
version: 0.5.6
|
44
70
|
type: :runtime
|
45
71
|
prerelease: false
|
46
|
-
version_requirements:
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ~>
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 0.5.6
|
47
78
|
description: This library contains recurring patterns, that are useful in the creation
|
48
79
|
of internal Domain Specific Languages (DSL) in Ruby.
|
49
80
|
email: flori@ping.de
|
@@ -51,9 +82,9 @@ executables: []
|
|
51
82
|
extensions: []
|
52
83
|
extra_rdoc_files:
|
53
84
|
- README.rdoc
|
54
|
-
- lib/dslkit/version.rb
|
55
|
-
- lib/dslkit/rude.rb
|
56
85
|
- lib/dslkit/polite.rb
|
86
|
+
- lib/dslkit/rude.rb
|
87
|
+
- lib/dslkit/version.rb
|
57
88
|
- lib/dslkit.rb
|
58
89
|
files:
|
59
90
|
- .gitignore
|
@@ -67,29 +98,29 @@ files:
|
|
67
98
|
- TODO
|
68
99
|
- VERSION
|
69
100
|
- dslkit.gemspec
|
70
|
-
- examples/add_one.
|
101
|
+
- examples/add_one.png
|
71
102
|
- examples/add_one.stm
|
72
|
-
- examples/bb3.
|
103
|
+
- examples/bb3.png
|
73
104
|
- examples/bb3.stm
|
74
105
|
- examples/bb3_19.stm
|
75
106
|
- examples/concatenate_compare.mtm
|
76
|
-
- examples/concatenate_compare.
|
107
|
+
- examples/concatenate_compare.png
|
77
108
|
- examples/concatenate_compare_19.mtm
|
78
109
|
- examples/length_difference.mtm
|
79
|
-
- examples/length_difference.
|
110
|
+
- examples/length_difference.png
|
80
111
|
- examples/length_difference_19.mtm
|
81
112
|
- examples/let.rb
|
82
113
|
- examples/mail.rb
|
83
114
|
- examples/minsky.rb
|
84
115
|
- examples/multiply.reg
|
85
116
|
- examples/null_pattern.rb
|
86
|
-
- examples/ones_difference-mtm.
|
87
|
-
- examples/ones_difference-stm.
|
117
|
+
- examples/ones_difference-mtm.png
|
118
|
+
- examples/ones_difference-stm.png
|
88
119
|
- examples/ones_difference.mtm
|
89
120
|
- examples/ones_difference.stm
|
90
121
|
- examples/ones_difference_19.mtm
|
91
122
|
- examples/ones_difference_19.stm
|
92
|
-
- examples/prefix-equals-suffix-reversed-with-infix.
|
123
|
+
- examples/prefix-equals-suffix-reversed-with-infix.png
|
93
124
|
- examples/prefix-equals-suffix-reversed-with-infix.stm
|
94
125
|
- examples/prefix-equals-suffix-reversed-with-infix_19.stm
|
95
126
|
- examples/recipe.rb
|
@@ -124,6 +155,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
124
155
|
- - ! '>='
|
125
156
|
- !ruby/object:Gem::Version
|
126
157
|
version: '0'
|
158
|
+
segments:
|
159
|
+
- 0
|
160
|
+
hash: -2565139679419943526
|
127
161
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
128
162
|
none: false
|
129
163
|
requirements:
|
@@ -132,14 +166,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
132
166
|
version: '0'
|
133
167
|
requirements: []
|
134
168
|
rubyforge_project:
|
135
|
-
rubygems_version: 1.8.
|
169
|
+
rubygems_version: 1.8.24
|
136
170
|
signing_key:
|
137
171
|
specification_version: 3
|
138
172
|
summary: Kit for building DSLs in Ruby
|
139
173
|
test_files:
|
140
174
|
- tests/concern_test.rb
|
141
|
-
- tests/from_module_test.rb
|
142
175
|
- tests/dynamic_scope_test.rb
|
176
|
+
- tests/from_module_test.rb
|
177
|
+
- tests/polite_test.rb
|
143
178
|
- tests/scope_test.rb
|
144
179
|
- tests/test_helper.rb
|
145
|
-
- tests/polite_test.rb
|
data/examples/add_one.pdf
DELETED
Binary file
|
data/examples/bb3.pdf
DELETED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|