wlang 0.8.5 → 0.9.1

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.
Files changed (151) hide show
  1. data/CHANGELOG.rdoc +65 -0
  2. data/README.rdoc +85 -31
  3. data/bin/wlang +5 -0
  4. data/doc/specification/dialect.wtpl +14 -0
  5. data/doc/specification/dialects.wtpl +3 -0
  6. data/doc/specification/glossary.wtpl +4 -4
  7. data/doc/specification/rulesets.wtpl +9 -9
  8. data/doc/specification/specification.css +1 -0
  9. data/doc/specification/specification.html +68 -5
  10. data/doc/specification/specification.wtpl +12 -12
  11. data/doc/specification/specification.yml +9 -9
  12. data/doc/specification/symbols.wtpl +8 -8
  13. data/lib/wlang.rb +297 -75
  14. data/lib/wlang/dialect.rb +7 -3
  15. data/lib/wlang/dialects/coderay_dialect.rb +4 -4
  16. data/lib/wlang/dialects/plain_text_dialect.rb +13 -19
  17. data/lib/wlang/dialects/redcloth_dialect.rb +16 -0
  18. data/lib/wlang/dialects/ruby_dialect.rb +16 -2
  19. data/lib/wlang/dialects/standard_dialects.rb +20 -0
  20. data/lib/wlang/dialects/xhtml_dialect.rb +24 -1
  21. data/lib/wlang/encoder.rb +1 -1
  22. data/lib/wlang/encoder_set.rb +5 -0
  23. data/lib/wlang/errors.rb +70 -6
  24. data/lib/wlang/ext/hash_methodize.rb +13 -0
  25. data/lib/wlang/{ruby_extensions.rb → ext/string.rb} +9 -5
  26. data/lib/wlang/hash_scope.rb +89 -0
  27. data/lib/wlang/hosted_language.rb +146 -0
  28. data/lib/wlang/parser.rb +189 -126
  29. data/lib/wlang/parser_state.rb +94 -0
  30. data/lib/wlang/rule_set.rb +16 -3
  31. data/lib/wlang/rulesets/basic_ruleset.rb +14 -6
  32. data/lib/wlang/rulesets/buffering_ruleset.rb +20 -29
  33. data/lib/wlang/rulesets/context_ruleset.rb +16 -20
  34. data/lib/wlang/rulesets/imperative_ruleset.rb +4 -4
  35. data/lib/wlang/rulesets/ruleset_utils.rb +26 -5
  36. data/lib/wlang/template.rb +16 -34
  37. data/lib/wlang/wlang_command.rb +4 -7
  38. data/lib/wlang/wlang_command_options.rb +5 -0
  39. data/test/blackbox/basic/execution_1.exp +1 -0
  40. data/test/blackbox/basic/execution_1.tpl +1 -0
  41. data/test/blackbox/basic/execution_2.exp +1 -0
  42. data/test/blackbox/basic/execution_2.tpl +1 -0
  43. data/test/blackbox/basic/execution_3.exp +1 -0
  44. data/test/blackbox/basic/execution_3.tpl +1 -0
  45. data/test/blackbox/basic/execution_4.exp +1 -0
  46. data/test/blackbox/basic/execution_4.tpl +1 -0
  47. data/test/blackbox/basic/inclusion_1.exp +1 -0
  48. data/test/blackbox/basic/inclusion_1.tpl +1 -0
  49. data/test/blackbox/basic/inclusion_2.exp +1 -0
  50. data/test/blackbox/basic/inclusion_2.tpl +1 -0
  51. data/test/blackbox/basic/injection_1.exp +1 -0
  52. data/test/blackbox/basic/injection_1.tpl +1 -0
  53. data/test/blackbox/basic/injection_2.exp +1 -0
  54. data/test/blackbox/basic/injection_2.tpl +1 -0
  55. data/test/blackbox/basic/modulation_1.exp +1 -0
  56. data/test/blackbox/basic/modulation_1.tpl +1 -0
  57. data/test/blackbox/basic/modulation_2.exp +1 -0
  58. data/test/blackbox/basic/modulation_2.tpl +1 -0
  59. data/test/blackbox/basic/recursive_app_1.exp +1 -0
  60. data/test/blackbox/basic/recursive_app_1.tpl +1 -0
  61. data/test/blackbox/basic/recursive_app_2.exp +1 -0
  62. data/test/blackbox/basic/recursive_app_2.tpl +1 -0
  63. data/test/blackbox/buffering/data_1.rb +1 -0
  64. data/test/blackbox/buffering/data_assignment_1.exp +1 -0
  65. data/test/blackbox/buffering/data_assignment_1.tpl +1 -0
  66. data/test/blackbox/buffering/data_assignment_2.exp +1 -0
  67. data/test/blackbox/buffering/data_assignment_2.tpl +1 -0
  68. data/test/blackbox/buffering/data_assignment_3.exp +1 -0
  69. data/test/blackbox/buffering/data_assignment_3.tpl +1 -0
  70. data/test/blackbox/buffering/data_assignment_4.exp +1 -0
  71. data/test/blackbox/buffering/data_assignment_4.tpl +1 -0
  72. data/test/blackbox/buffering/input_1.exp +1 -0
  73. data/test/blackbox/buffering/input_1.tpl +1 -0
  74. data/test/blackbox/buffering/input_2.exp +1 -0
  75. data/test/blackbox/buffering/input_2.tpl +1 -0
  76. data/test/blackbox/buffering/input_3.exp +1 -0
  77. data/test/blackbox/buffering/input_3.tpl +1 -0
  78. data/test/blackbox/buffering/input_inclusion.exp +1 -0
  79. data/test/blackbox/buffering/input_inclusion.tpl +1 -0
  80. data/test/blackbox/buffering/input_inclusion_1.exp +0 -0
  81. data/test/blackbox/buffering/input_inclusion_1.tpl +1 -0
  82. data/test/blackbox/buffering/input_inclusion_2.exp +1 -0
  83. data/test/blackbox/buffering/input_inclusion_2.tpl +1 -0
  84. data/test/blackbox/buffering/input_inclusion_3.exp +1 -0
  85. data/test/blackbox/buffering/input_inclusion_3.tpl +1 -0
  86. data/test/blackbox/buffering/input_inclusion_4.exp +0 -0
  87. data/test/blackbox/buffering/input_inclusion_4.tpl +1 -0
  88. data/test/blackbox/buffering/input_inclusion_5.exp +1 -0
  89. data/test/blackbox/buffering/input_inclusion_5.tpl +1 -0
  90. data/test/blackbox/buffering/input_inclusion_6.exp +1 -0
  91. data/test/blackbox/buffering/input_inclusion_6.tpl +1 -0
  92. data/test/blackbox/buffering/input_inclusion_7.exp +0 -0
  93. data/test/blackbox/buffering/input_inclusion_7.tpl +1 -0
  94. data/test/blackbox/buffering/text_1.txt +1 -0
  95. data/test/blackbox/buffering/wlang.txt +1 -0
  96. data/test/blackbox/context/assignment_1.exp +1 -0
  97. data/test/blackbox/context/assignment_1.tpl +1 -0
  98. data/test/blackbox/context/assignment_2.exp +1 -0
  99. data/test/blackbox/context/assignment_2.tpl +1 -0
  100. data/test/blackbox/context/assignment_3.exp +2 -0
  101. data/test/blackbox/context/assignment_3.tpl +2 -0
  102. data/test/blackbox/context/assignment_4.exp +1 -0
  103. data/test/blackbox/context/assignment_4.tpl +1 -0
  104. data/test/blackbox/context/block_assignment_1.exp +1 -0
  105. data/test/blackbox/context/block_assignment_1.tpl +1 -0
  106. data/test/blackbox/context/block_assignment_2.exp +1 -0
  107. data/test/blackbox/context/block_assignment_2.tpl +1 -0
  108. data/test/blackbox/context/modulo_assignment_1.exp +1 -0
  109. data/test/blackbox/context/modulo_assignment_1.tpl +1 -0
  110. data/test/blackbox/context/modulo_assignment_2.exp +1 -0
  111. data/test/blackbox/context/modulo_assignment_2.tpl +1 -0
  112. data/test/blackbox/data_1.rb +1 -0
  113. data/test/blackbox/test_all.rb +59 -0
  114. data/test/spec/basic_object.spec +40 -0
  115. data/test/spec/global_extensions.rb +2 -0
  116. data/test/spec/hash_scope.spec +76 -0
  117. data/test/spec/redcloth_dialect.spec +24 -0
  118. data/test/spec/test_all.rb +8 -0
  119. data/test/spec/wlang.spec +53 -0
  120. data/test/spec/xhtml_dialect.spec +23 -0
  121. data/test/{test_all.rb → unit/test_all.rb} +1 -1
  122. data/test/{wlang → unit/wlang}/anagram_bugs_test.rb +2 -2
  123. data/test/{wlang → unit/wlang}/basic_ruleset_test.rb +1 -1
  124. data/test/{wlang → unit/wlang}/buffering_ruleset_test.rb +4 -4
  125. data/test/{wlang → unit/wlang}/buffering_template1.wtpl +0 -0
  126. data/test/{wlang → unit/wlang}/buffering_template2.wtpl +0 -0
  127. data/test/{wlang → unit/wlang}/buffering_template3.wtpl +0 -0
  128. data/test/unit/wlang/buffering_template4.wtpl +1 -0
  129. data/test/unit/wlang/buffering_template5.wtpl +1 -0
  130. data/test/{wlang → unit/wlang}/context_ruleset_test.rb +0 -0
  131. data/test/{wlang → unit/wlang}/data.rb +0 -0
  132. data/test/{wlang → unit/wlang}/encoder_set_test.rb +0 -0
  133. data/test/{wlang → unit/wlang}/imperative_ruleset_test.rb +0 -0
  134. data/test/{wlang → unit/wlang}/intelligent_buffer_test.rb +0 -0
  135. data/test/{wlang → unit/wlang}/othersymbols_test.rb +0 -0
  136. data/test/{wlang → unit/wlang}/parser_test.rb +10 -11
  137. data/test/{wlang → unit/wlang}/plain_text_dialect_test.rb +0 -0
  138. data/test/{wlang → unit/wlang}/ruby_dialect_test.rb +0 -0
  139. data/test/{wlang → unit/wlang}/ruby_expected.rb +0 -0
  140. data/test/{wlang → unit/wlang}/ruby_template.wrb +0 -0
  141. data/test/{wlang → unit/wlang}/ruleset_utils_test.rb +0 -0
  142. data/test/{wlang → unit/wlang}/specification_examples_test.rb +2 -2
  143. data/test/{wlang → unit/wlang}/test_utils.rb +1 -1
  144. data/test/{wlang → unit/wlang}/wlang_test.rb +0 -0
  145. metadata +135 -42
  146. data/lib/wlang/basic_object.rb +0 -19
  147. data/lib/wlang/parser_context.rb +0 -139
  148. data/test/sandbox.rb +0 -1
  149. data/test/wlang/buffering_template4.wtpl +0 -1
  150. data/test/wlang/buffering_template5.wtpl +0 -1
  151. data/test/wlang/parser_context_test.rb +0 -29
@@ -0,0 +1,8 @@
1
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', '..', 'lib'))
2
+ require 'wlang'
3
+ require 'spec/autorun'
4
+ test_files = Dir[File.join(File.dirname(__FILE__), '**/*.spec')]
5
+ test_files.each { |file|
6
+ load(file)
7
+ }
8
+
@@ -0,0 +1,53 @@
1
+ require 'wlang'
2
+ describe ::WLang do
3
+
4
+ it("should allow easy use of encoders") {
5
+ WLang::encode('&', 'xhtml/entities-encoding').should == '&'
6
+ WLang::encode("O'Neil", 'ruby/single-quoting').should == "O\\'Neil"
7
+ WLang::encode('O"Neil', 'ruby/double-quoting').should == 'O\\"Neil'
8
+ WLang::encode("O'Neil", 'sql/single-quoting').should == "O\\'Neil"
9
+ WLang::encode("O'Neil", 'sql/sybase/single-quoting').should == "O''Neil"
10
+ }
11
+
12
+ it "should allow easy upper camel casing" do
13
+ WLang::encode('hello_world', 'plain-text/camel-case').should == "HelloWorld"
14
+ WLang::encode('hello_world', 'plain-text/camel').should == "HelloWorld"
15
+ WLang::encode('hello_world', 'plain-text/upper-camel').should == "HelloWorld"
16
+ WLang::encode('this is another example', 'plain-text/camel-case').should == "ThisIsAnotherExample"
17
+ WLang::encode("this is yet \n another example", 'plain-text/camel-case').should == "ThisIsYetAnotherExample"
18
+
19
+ WLang::encode('hello_world', 'plain-text/lower-camel').should == "helloWorld"
20
+ end
21
+
22
+ it "should allow easy ruby method casing" do
23
+ WLang::encode('helloWorld', 'ruby/method-case').should == "hello_world"
24
+ WLang::encode('HelloWorld', 'ruby/method-case').should == "hello_world"
25
+ WLang::encode('hello world', 'ruby/method-case').should == "hello_world"
26
+ WLang::encode('Hello123World', 'ruby/method-case').should == "hello123_world"
27
+ WLang::encode('HelloWorld_123', 'ruby/method-case').should == "hello_world_123"
28
+ WLang::encode('123_HelloWorld', 'ruby/method-case').should == "_123_hello_world"
29
+ end
30
+
31
+ it "should have correct examples in README.rdoc" do
32
+ expected = "Hello world!"
33
+ "Hello ${who}!".wlang(:who => 'world').should == expected
34
+
35
+ expected = "Hello cruel & world!"
36
+ "Hello ${who}!".wlang({:who => 'cruel & world'}, 'wlang/xhtml').should == expected
37
+
38
+ expected = "Hello blambeau, llambeau"
39
+ "Hello *{authors as a}{${a}}{, }".wlang(:authors => ['blambeau', 'llambeau']).should == expected
40
+
41
+ expected = "INSERT INTO people VALUES ('O\\'Neil')"
42
+ "INSERT INTO people VALUES ('{who}')".wlang({:who => "O'Neil"}, 'wlang/sql')
43
+
44
+ expected = "Hello wlang!"
45
+ tpl = "Hello $(${varname})!".wlang(:varname => 'who')
46
+ tpl.wlang({:who => 'wlang'}, 'wlang/active-string', :parentheses).should == expected
47
+
48
+ context = {:varname => 'who', :who => 'wlang'}
49
+ expected = "Hello wlang!"
50
+ "Hello ${${varname}}!".wlang(context).should == expected
51
+ end
52
+
53
+ end
@@ -0,0 +1,23 @@
1
+ require "wlang"
2
+
3
+ describe "The wlang/xhtml dialect" do
4
+
5
+ it("should provide helpers to create links") {
6
+ "@{/details}".wlang({}, 'wlang/xhtml').should == "/details"
7
+ "@{/details}{Details}".wlang({}, 'wlang/xhtml').should == '<a href="/details">Details</a>'
8
+ }
9
+
10
+ it("should provide to_xhtml_link callback on links") {
11
+ ::String.module_eval do
12
+ def to_xhtml_link(url, label)
13
+ "#{url}:#{label}"
14
+ end
15
+ def to_xhtml_href(url)
16
+ "Hello:#{url}"
17
+ end
18
+ end
19
+ "@{/details}{Details}".wlang({}, 'wlang/xhtml').should == '/details:Details'
20
+ "@{/details}".wlang({}, 'wlang/xhtml').should == 'Hello:/details'
21
+ }
22
+
23
+ end
@@ -1,4 +1,4 @@
1
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__),'..', 'lib'))
1
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', '..', 'lib'))
2
2
  require 'wlang'
3
3
  require 'test/unit'
4
4
  test_files = Dir[File.join(File.dirname(__FILE__), '**/*_test.rb')]
@@ -25,7 +25,7 @@ module WLang
25
25
  }
26
26
  }.gsub(/^ {8}/, '').strip
27
27
  result = template.wlang_instantiate({}, "anagram")
28
- assert IntelligentBuffer===result
28
+ #assert IntelligentBuffer===result
29
29
  # assert_equal("this is an anagram template", result)
30
30
 
31
31
  template = %q{
@@ -35,7 +35,7 @@ module WLang
35
35
  }
36
36
  }.gsub(/^ {8}/, '').strip
37
37
  result = template.wlang_instantiate({}, "anagram")
38
- assert IntelligentBuffer===result
38
+ #assert IntelligentBuffer===result
39
39
  assert_equal("module MyModule\nend\n", result)
40
40
  end
41
41
 
@@ -1,6 +1,6 @@
1
1
  require 'test/unit'
2
2
  require 'wlang'
3
- require 'wlang/test_utils'
3
+ require File.join(File.dirname(__FILE__), 'test_utils.rb')
4
4
  require 'wlang/rulesets/basic_ruleset'
5
5
  require 'wlang/rulesets/context_ruleset'
6
6
  require 'wlang/rulesets/buffering_ruleset'
@@ -1,6 +1,6 @@
1
1
  require 'test/unit'
2
2
  require 'wlang'
3
- require 'wlang/test_utils.rb'
3
+ require File.join(File.dirname(__FILE__), 'test_utils.rb')
4
4
  require 'wlang/rulesets/buffering_ruleset'
5
5
 
6
6
  # Tests the Scoping ruleset
@@ -31,7 +31,7 @@ class WLang::BufferingRuleSetTest < Test::Unit::TestCase
31
31
  def test_input_accepts_injection
32
32
  expected = read_relative_file("ruby_template.wrb", __FILE__)
33
33
  template = relative_template("<<{ruby_template.wrb}", "buffering-test", __FILE__)
34
- result = template.instantiate("", "ext" => "wrb")
34
+ result = template.instantiate("ext" => "wrb")
35
35
  assert_equal(expected, result)
36
36
  end
37
37
 
@@ -40,7 +40,7 @@ class WLang::BufferingRuleSetTest < Test::Unit::TestCase
40
40
  output = relative_file("buffering_ruleset_test_output.txt", __FILE__)
41
41
  File.delete(output) if File.exists?(output)
42
42
  template = relative_template(">>{buffering_ruleset_test_output.txt}{an output}", "buffering-test", __FILE__)
43
- assert_equal("", template.instantiate())
43
+ assert_equal("", template.instantiate)
44
44
  assert_equal("an output", File.read(output))
45
45
  File.delete(output) if File.exists?(output)
46
46
  end
@@ -50,7 +50,7 @@ class WLang::BufferingRuleSetTest < Test::Unit::TestCase
50
50
  output = relative_file("buffering_ruleset_test_output.txt", __FILE__)
51
51
  File.delete(output) if File.exists?(output)
52
52
  template = relative_template(">>{buffering_ruleset_test_output.${ext}}{an output}", "buffering-test", __FILE__)
53
- assert_equal("", template.instantiate("", "ext" => "txt"))
53
+ assert_equal("", template.instantiate("ext" => "txt"))
54
54
  assert_equal("an output", File.read(output))
55
55
  File.delete(output) if File.exists?(output)
56
56
  end
@@ -0,0 +1 @@
1
+ <<+{buffering_template5.wtpl share all with who2: who, hello: 'world'}
@@ -0,0 +1 @@
1
+ +{who2} +{hello}
File without changes
@@ -21,42 +21,41 @@ class ParserTest < Test::Unit::TestCase
21
21
 
22
22
  # Instantiate the given string as template
23
23
  def instantiate_str(str)
24
- Parser.instantiator(Template.new(str, "example")).instantiate()[0]
24
+ WLang::template(str, "example").instantiate
25
25
  end
26
26
 
27
27
  # Asserts the result of an instanciation
28
- def assert_instanciation_equal(expected, template, msg=nil)
29
- template = Template.new(template, "example")
30
- parser = Parser.instantiator(template)
31
- assert_equal(expected, parser.instantiate()[0])
28
+ def assert_instantiation_equal(expected, template, msg=nil)
29
+ template = WLang::template(template, "example")
30
+ assert_equal(expected, template.instantiate)
32
31
  end
33
32
 
34
33
  def test_parser_accepts_whole_tag
35
34
  template, expected = "+{hello}", "HELLO"
36
- assert_instanciation_equal(expected, template)
35
+ assert_instantiation_equal(expected, template)
37
36
  template, expected = " +{hello} ", " HELLO "
38
- assert_instanciation_equal(expected, template)
37
+ assert_instantiation_equal(expected, template)
39
38
  end
40
39
 
41
40
  def test_parser_accepts_whole_block
42
41
  template, expected = "{hello}", "{hello}"
43
- assert_instanciation_equal(expected, template)
42
+ assert_instantiation_equal(expected, template)
44
43
  end
45
44
 
46
45
  def test_parser_ignores_backslashed_tags
47
46
  template, expected = "\\+{hello\\}", "+{hello}"
48
- assert_instanciation_equal(expected, template)
47
+ assert_instantiation_equal(expected, template)
49
48
  end
50
49
 
51
50
  def test_parser_ignores_backslashed_blocks
52
51
  template, expected = "\\{hello\\} world", "{hello} world"
53
- assert_instanciation_equal(expected, template)
52
+ assert_instantiation_equal(expected, template)
54
53
  end
55
54
 
56
55
  def test_parser_on_a_complex_case
57
56
  template = "Hello \\\\} world! -{ITEMS AS I}{do +{something} \\{with \\} i} here is my name:+{name} and { that's not -{COMMON} text } !\\{"
58
57
  expected = "Hello \\} world! items as i{do SOMETHING {with } i} here is my name:NAME and { that's not common text } !\{"
59
- assert_instanciation_equal(expected, template)
58
+ assert_instantiation_equal(expected, template)
60
59
  end
61
60
 
62
61
  def test_parser_raises_error
@@ -1,4 +1,4 @@
1
- require 'test/unit/testcase'
1
+ require 'test/unit'
2
2
  require 'wlang'
3
3
  require 'wlang/dialects/standard_dialects'
4
4
  require "yaml"
@@ -11,7 +11,7 @@ class WLang::SpecificationExamplesTest < Test::Unit::TestCase
11
11
  context = {"name" => "O'Neil",
12
12
  "author" => "blambeau",
13
13
  "authors" => ["blambeau", "llambeau", "ancailliau"]}
14
- spec_file = File.join(File.dirname(__FILE__),"../../doc/specification/specification.yml")
14
+ spec_file = File.join(File.dirname(__FILE__),"../../../doc/specification/specification.yml")
15
15
  spec = YAML.load(File.open(spec_file))
16
16
  spec["rulesets"].each do |ruleset|
17
17
  next if ruleset["examples"].nil?
@@ -17,7 +17,7 @@ module WLang::TestUtils
17
17
 
18
18
  # Factors a template and fakes its source-file as from
19
19
  def relative_template(src, dialect, from=__FILE__)
20
- template = WLang::Template.new(src, dialect)
20
+ template = WLang::template(src, dialect)
21
21
  template.source_file = from
22
22
  template
23
23
  end
File without changes
metadata CHANGED
@@ -1,7 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wlang
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.5
4
+ hash: 57
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 9
9
+ - 1
10
+ version: 0.9.1
5
11
  platform: ruby
6
12
  authors:
7
13
  - Bernard Lambeau
@@ -9,7 +15,7 @@ autorequire:
9
15
  bindir: bin
10
16
  cert_chain: []
11
17
 
12
- date: 2010-01-21 00:00:00 +01:00
18
+ date: 2010-05-20 00:00:00 +02:00
13
19
  default_executable:
14
20
  dependencies: []
15
21
 
@@ -22,16 +28,15 @@ extensions: []
22
28
  extra_rdoc_files:
23
29
  - README.rdoc
24
30
  - LICENCE.rdoc
31
+ - CHANGELOG.rdoc
25
32
  files:
26
- - lib/wlang
27
- - lib/wlang/basic_object.rb
28
33
  - lib/wlang/dialect.rb
29
34
  - lib/wlang/dialect_dsl.rb
30
35
  - lib/wlang/dialect_loader.rb
31
- - lib/wlang/dialects
32
36
  - lib/wlang/dialects/coderay_dialect.rb
33
37
  - lib/wlang/dialects/plain_text_dialect.rb
34
38
  - lib/wlang/dialects/rdoc_dialect.rb
39
+ - lib/wlang/dialects/redcloth_dialect.rb
35
40
  - lib/wlang/dialects/ruby_dialect.rb
36
41
  - lib/wlang/dialects/sql_dialect.rb
37
42
  - lib/wlang/dialects/standard_dialects.rb
@@ -39,13 +44,15 @@ files:
39
44
  - lib/wlang/encoder.rb
40
45
  - lib/wlang/encoder_set.rb
41
46
  - lib/wlang/errors.rb
47
+ - lib/wlang/ext/hash_methodize.rb
48
+ - lib/wlang/ext/string.rb
49
+ - lib/wlang/hash_scope.rb
50
+ - lib/wlang/hosted_language.rb
42
51
  - lib/wlang/intelligent_buffer.rb
43
52
  - lib/wlang/parser.rb
44
- - lib/wlang/parser_context.rb
45
- - lib/wlang/ruby_extensions.rb
53
+ - lib/wlang/parser_state.rb
46
54
  - lib/wlang/rule.rb
47
55
  - lib/wlang/rule_set.rb
48
- - lib/wlang/rulesets
49
56
  - lib/wlang/rulesets/basic_ruleset.rb
50
57
  - lib/wlang/rulesets/buffering_ruleset.rb
51
58
  - lib/wlang/rulesets/context_ruleset.rb
@@ -56,38 +63,115 @@ files:
56
63
  - lib/wlang/wlang_command.rb
57
64
  - lib/wlang/wlang_command_options.rb
58
65
  - lib/wlang.rb
59
- - test/sandbox.rb
60
- - test/test_all.rb
61
- - test/wlang
62
- - test/wlang/anagram_bugs_test.rb
63
- - test/wlang/basic_ruleset_test.rb
64
- - test/wlang/buffering_ruleset_output
65
- - test/wlang/buffering_ruleset_output/subdir
66
- - test/wlang/buffering_ruleset_output/subdir/subdir
67
- - test/wlang/buffering_ruleset_test.rb
68
- - test/wlang/buffering_template1.wtpl
69
- - test/wlang/buffering_template2.wtpl
70
- - test/wlang/buffering_template3.wtpl
71
- - test/wlang/buffering_template4.wtpl
72
- - test/wlang/buffering_template5.wtpl
73
- - test/wlang/context_ruleset_test.rb
74
- - test/wlang/data.rb
75
- - test/wlang/encoder_set_test.rb
76
- - test/wlang/imperative_ruleset_test.rb
77
- - test/wlang/intelligent_buffer_test.rb
78
- - test/wlang/othersymbols_test.rb
79
- - test/wlang/parser_context_test.rb
80
- - test/wlang/parser_test.rb
81
- - test/wlang/plain_text_dialect_test.rb
82
- - test/wlang/ruby_dialect_test.rb
83
- - test/wlang/ruby_expected.rb
84
- - test/wlang/ruby_template.wrb
85
- - test/wlang/ruleset_utils_test.rb
86
- - test/wlang/specification_examples_test.rb
87
- - test/wlang/test_utils.rb
88
- - test/wlang/wlang_test.rb
66
+ - test/blackbox/basic/execution_1.exp
67
+ - test/blackbox/basic/execution_1.tpl
68
+ - test/blackbox/basic/execution_2.exp
69
+ - test/blackbox/basic/execution_2.tpl
70
+ - test/blackbox/basic/execution_3.exp
71
+ - test/blackbox/basic/execution_3.tpl
72
+ - test/blackbox/basic/execution_4.exp
73
+ - test/blackbox/basic/execution_4.tpl
74
+ - test/blackbox/basic/inclusion_1.exp
75
+ - test/blackbox/basic/inclusion_1.tpl
76
+ - test/blackbox/basic/inclusion_2.exp
77
+ - test/blackbox/basic/inclusion_2.tpl
78
+ - test/blackbox/basic/injection_1.exp
79
+ - test/blackbox/basic/injection_1.tpl
80
+ - test/blackbox/basic/injection_2.exp
81
+ - test/blackbox/basic/injection_2.tpl
82
+ - test/blackbox/basic/modulation_1.exp
83
+ - test/blackbox/basic/modulation_1.tpl
84
+ - test/blackbox/basic/modulation_2.exp
85
+ - test/blackbox/basic/modulation_2.tpl
86
+ - test/blackbox/basic/recursive_app_1.exp
87
+ - test/blackbox/basic/recursive_app_1.tpl
88
+ - test/blackbox/basic/recursive_app_2.exp
89
+ - test/blackbox/basic/recursive_app_2.tpl
90
+ - test/blackbox/buffering/data_1.rb
91
+ - test/blackbox/buffering/data_assignment_1.exp
92
+ - test/blackbox/buffering/data_assignment_1.tpl
93
+ - test/blackbox/buffering/data_assignment_2.exp
94
+ - test/blackbox/buffering/data_assignment_2.tpl
95
+ - test/blackbox/buffering/data_assignment_3.exp
96
+ - test/blackbox/buffering/data_assignment_3.tpl
97
+ - test/blackbox/buffering/data_assignment_4.exp
98
+ - test/blackbox/buffering/data_assignment_4.tpl
99
+ - test/blackbox/buffering/input_1.exp
100
+ - test/blackbox/buffering/input_1.tpl
101
+ - test/blackbox/buffering/input_2.exp
102
+ - test/blackbox/buffering/input_2.tpl
103
+ - test/blackbox/buffering/input_3.exp
104
+ - test/blackbox/buffering/input_3.tpl
105
+ - test/blackbox/buffering/input_inclusion.exp
106
+ - test/blackbox/buffering/input_inclusion.tpl
107
+ - test/blackbox/buffering/input_inclusion_1.exp
108
+ - test/blackbox/buffering/input_inclusion_1.tpl
109
+ - test/blackbox/buffering/input_inclusion_2.exp
110
+ - test/blackbox/buffering/input_inclusion_2.tpl
111
+ - test/blackbox/buffering/input_inclusion_3.exp
112
+ - test/blackbox/buffering/input_inclusion_3.tpl
113
+ - test/blackbox/buffering/input_inclusion_4.exp
114
+ - test/blackbox/buffering/input_inclusion_4.tpl
115
+ - test/blackbox/buffering/input_inclusion_5.exp
116
+ - test/blackbox/buffering/input_inclusion_5.tpl
117
+ - test/blackbox/buffering/input_inclusion_6.exp
118
+ - test/blackbox/buffering/input_inclusion_6.tpl
119
+ - test/blackbox/buffering/input_inclusion_7.exp
120
+ - test/blackbox/buffering/input_inclusion_7.tpl
121
+ - test/blackbox/buffering/text_1.txt
122
+ - test/blackbox/buffering/wlang.txt
123
+ - test/blackbox/context/assignment_1.exp
124
+ - test/blackbox/context/assignment_1.tpl
125
+ - test/blackbox/context/assignment_2.exp
126
+ - test/blackbox/context/assignment_2.tpl
127
+ - test/blackbox/context/assignment_3.exp
128
+ - test/blackbox/context/assignment_3.tpl
129
+ - test/blackbox/context/assignment_4.exp
130
+ - test/blackbox/context/assignment_4.tpl
131
+ - test/blackbox/context/block_assignment_1.exp
132
+ - test/blackbox/context/block_assignment_1.tpl
133
+ - test/blackbox/context/block_assignment_2.exp
134
+ - test/blackbox/context/block_assignment_2.tpl
135
+ - test/blackbox/context/modulo_assignment_1.exp
136
+ - test/blackbox/context/modulo_assignment_1.tpl
137
+ - test/blackbox/context/modulo_assignment_2.exp
138
+ - test/blackbox/context/modulo_assignment_2.tpl
139
+ - test/blackbox/data_1.rb
140
+ - test/blackbox/test_all.rb
141
+ - test/spec/basic_object.spec
142
+ - test/spec/global_extensions.rb
143
+ - test/spec/hash_scope.spec
144
+ - test/spec/redcloth_dialect.spec
145
+ - test/spec/test_all.rb
146
+ - test/spec/wlang.spec
147
+ - test/spec/xhtml_dialect.spec
148
+ - test/unit/test_all.rb
149
+ - test/unit/wlang/anagram_bugs_test.rb
150
+ - test/unit/wlang/basic_ruleset_test.rb
151
+ - test/unit/wlang/buffering_ruleset_test.rb
152
+ - test/unit/wlang/buffering_template1.wtpl
153
+ - test/unit/wlang/buffering_template2.wtpl
154
+ - test/unit/wlang/buffering_template3.wtpl
155
+ - test/unit/wlang/buffering_template4.wtpl
156
+ - test/unit/wlang/buffering_template5.wtpl
157
+ - test/unit/wlang/context_ruleset_test.rb
158
+ - test/unit/wlang/data.rb
159
+ - test/unit/wlang/encoder_set_test.rb
160
+ - test/unit/wlang/imperative_ruleset_test.rb
161
+ - test/unit/wlang/intelligent_buffer_test.rb
162
+ - test/unit/wlang/othersymbols_test.rb
163
+ - test/unit/wlang/parser_test.rb
164
+ - test/unit/wlang/plain_text_dialect_test.rb
165
+ - test/unit/wlang/ruby_dialect_test.rb
166
+ - test/unit/wlang/ruby_expected.rb
167
+ - test/unit/wlang/ruby_template.wrb
168
+ - test/unit/wlang/ruleset_utils_test.rb
169
+ - test/unit/wlang/specification_examples_test.rb
170
+ - test/unit/wlang/test_utils.rb
171
+ - test/unit/wlang/wlang_test.rb
89
172
  - bin/wlang
90
173
  - doc/specification/about.rdoc
174
+ - doc/specification/dialect.wtpl
91
175
  - doc/specification/dialects.wtpl
92
176
  - doc/specification/examples.rb
93
177
  - doc/specification/glossary.wtpl
@@ -102,8 +186,11 @@ files:
102
186
  - doc/specification/symbols.wtpl
103
187
  - README.rdoc
104
188
  - LICENCE.rdoc
189
+ - CHANGELOG.rdoc
105
190
  has_rdoc: true
106
191
  homepage: http://blambeau.github.com/wlang/
192
+ licenses: []
193
+
107
194
  post_install_message:
108
195
  rdoc_options:
109
196
  - --title
@@ -114,23 +201,29 @@ rdoc_options:
114
201
  require_paths:
115
202
  - lib
116
203
  required_ruby_version: !ruby/object:Gem::Requirement
204
+ none: false
117
205
  requirements:
118
206
  - - ">="
119
207
  - !ruby/object:Gem::Version
208
+ hash: 3
209
+ segments:
210
+ - 0
120
211
  version: "0"
121
- version:
122
212
  required_rubygems_version: !ruby/object:Gem::Requirement
213
+ none: false
123
214
  requirements:
124
215
  - - ">="
125
216
  - !ruby/object:Gem::Version
217
+ hash: 3
218
+ segments:
219
+ - 0
126
220
  version: "0"
127
- version:
128
221
  requirements: []
129
222
 
130
223
  rubyforge_project:
131
- rubygems_version: 1.3.1
224
+ rubygems_version: 1.3.7
132
225
  signing_key:
133
- specification_version: 2
226
+ specification_version: 3
134
227
  summary: WLang code generator
135
228
  test_files: []
136
229