sfp 0.3.21 → 0.3.22

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 (4) hide show
  1. checksums.yaml +7 -0
  2. data/VERSION +1 -1
  3. data/lib/sfp/sas_translator.rb +10 -31
  4. metadata +20 -16
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 44ac56c90eaec6ecac630620c665b638f9ffab39
4
+ data.tar.gz: aac76d92cb369a72ad935ac24ca33b06a93aa117
5
+ SHA512:
6
+ metadata.gz: c629e6db9ab2eee74150378093b3890ce34697e6ab7a0480e34d2025eae72f5af4bfa5e17f834e90ef3cbbdafc7d8f54e043009a48e44d35b3273e013cc27cfb
7
+ data.tar.gz: 15e5d8e43c6c660ea6c2cfc4e8c47509714d111e95fad1b528e3bb27ec6a90a981bdfa22d45a5247d4ef3cb685be34b4a85c359890d8d5af950937281d15df66
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.21
1
+ 0.3.22
@@ -291,6 +291,7 @@ module Sfp
291
291
  # actions. Then reduce the size of their domain by 1 only i.e. the possible
292
292
  # value is only their initial value.
293
293
  # BUGGY! -- operator's effects may contain other object's variable
294
+ =begin
294
295
  def identify_immutable_variables
295
296
  def is_this(ref)
296
297
  ref.length > 7 and (ref[0,7] == '$.this.' or ref[0,7] == '$.self.')
@@ -324,6 +325,7 @@ module Sfp
324
325
  end
325
326
  end
326
327
  end
328
+ =end
327
329
 
328
330
  #####
329
331
  # Method for postprocessing simple global constraints
@@ -1786,7 +1788,6 @@ module Sfp
1786
1788
  if name[0,1] != '_'
1787
1789
  modified = false
1788
1790
  map.each { |k,v|
1789
- #puts k + ',' + name if v.is_a?(Sfp::Undefined) or v.is_a?(Sfp::Unknown)
1790
1791
  next if v.is_a?(Sfp::Undefined) or v.is_a?(Sfp::Unknown)
1791
1792
  if name == k
1792
1793
  obj[v] = value
@@ -1796,7 +1797,6 @@ module Sfp
1796
1797
  modified = true
1797
1798
  break
1798
1799
  elsif name.length > k.length and name[k.length,1] == '.' and name[0, k.length] == k
1799
- #next if v.is_a?(Sfp::Undefined) or v.is_a?(Sfp::Unknown)
1800
1800
  grounded = v + name[k.length, (name.length-k.length)]
1801
1801
  obj[grounded] = value
1802
1802
  obj.delete(name)
@@ -1819,9 +1819,11 @@ module Sfp
1819
1819
  value['_self'] = name if value.is_a?(Hash)
1820
1820
  end
1821
1821
  end
1822
- # TODO ----- HACK! -----
1822
+ # TODO
1823
+ # ----- HACK! -----
1824
+ # these lines should handle nested 'iterator'
1823
1825
  if obj.is_a?(Hash) and obj.isconstraint and obj['_type'] == 'iterator' and
1824
- value.is_a?(String) and value.isref and map.has_key?(value)
1826
+ value.is_a?(String) and value.isref and map.has_key?(value)
1825
1827
  obj[name] = value = map[value]
1826
1828
  #puts map[value].inspect
1827
1829
  #puts "==>> " + obj.ref.push(name)
@@ -2052,32 +2054,12 @@ module Sfp
2052
2054
  def dump(stream, root, variables)
2053
2055
  prevails = self.values.select { |p| p.post.nil? }
2054
2056
  preposts = self.values.select { |p| not p.post.nil? }
2055
- =begin
2056
- pre_lines = []
2057
- prevails.each do |p|
2058
- line = p.to_sas(root, variables)
2059
- return if line[-1] == ' '
2060
- pre_lines << line
2061
- end
2062
- prepost_lines = []
2063
- preposts.each do |p|
2064
- line = p.to_sas(root, variables, false)
2065
- return if line [-1] == ' '
2066
- prepost_lines << line
2067
- end
2068
- =end
2069
2057
 
2070
2058
  stream.write "begin_operator\n#{@name}"
2071
2059
  @params.each do |key,val|
2072
2060
  stream.write " #{key}=#{val}" if key != '$.this'
2073
2061
  end if @params.is_a?(Hash)
2074
2062
 
2075
- =begin
2076
- stream.write "\n#{pre_lines.length}"
2077
- stream.write "\n#{pre_lines.join("\n")}" if pre_lines.length > 0
2078
- stream.write "\n#{prepost_lines.length}\n"
2079
- stream.write "#{prepost_lines.join("\n")}\n" if prepost_lines.length > 0
2080
- =end
2081
2063
  stream.write "\n#{prevails.length}\n"
2082
2064
  prevails.each { |p| p.dump(stream, root, variables) }
2083
2065
 
@@ -2112,9 +2094,6 @@ module Sfp
2112
2094
  if not p['post'].nil?
2113
2095
  sfw['effect'][p['name']] = (p['post'].is_a?(Sfp::Null) ? nil : p['post'])
2114
2096
  end
2115
-
2116
- #sfw['condition'][ p['name'] ] = p['pre'] if p['pre'] != nil
2117
- #sfw['effect'][ p['name'] ] = p['post'] if p['post'] != nil
2118
2097
  end
2119
2098
  return sfw
2120
2099
  end
@@ -2240,10 +2219,10 @@ module Sfp
2240
2219
  post = Sfp::Null.new if @post.is_a?(Hash) and @post.isnull
2241
2220
 
2242
2221
  return {
2243
- 'name' => @var.name,
2244
- 'pre' => pre,
2245
- 'post' => post
2246
- }
2222
+ 'name' => @var.name,
2223
+ 'pre' => pre,
2224
+ 'post' => post
2225
+ }
2247
2226
  end
2248
2227
  end
2249
2228
 
metadata CHANGED
@@ -1,38 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sfp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.21
5
- prerelease:
4
+ version: 0.3.22
6
5
  platform: ruby
7
6
  authors:
8
7
  - Herry
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-11-27 00:00:00.000000000 Z
11
+ date: 2013-12-16 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: antlr3
16
- requirement: &6642880 !ruby/object:Gem::Requirement
17
- none: false
15
+ requirement: !ruby/object:Gem::Requirement
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
21
19
  version: 1.10.0
22
20
  type: :runtime
23
21
  prerelease: false
24
- version_requirements: *6642880
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: 1.10.0
25
27
  - !ruby/object:Gem::Dependency
26
28
  name: rake
27
- requirement: &6642360 !ruby/object:Gem::Requirement
28
- none: false
29
+ requirement: !ruby/object:Gem::Requirement
29
30
  requirements:
30
- - - ! '>='
31
+ - - '>='
31
32
  - !ruby/object:Gem::Version
32
33
  version: '0'
33
34
  type: :development
34
35
  prerelease: false
35
- version_requirements: *6642360
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
36
41
  description: A Ruby API and script for SFP language parser
37
42
  email: herry13@gmail.com
38
43
  executables:
@@ -67,26 +72,25 @@ files:
67
72
  homepage: https://github.com/herry13/sfp-ruby
68
73
  licenses:
69
74
  - BSD
75
+ metadata: {}
70
76
  post_install_message:
71
77
  rdoc_options: []
72
78
  require_paths:
73
79
  - lib
74
80
  required_ruby_version: !ruby/object:Gem::Requirement
75
- none: false
76
81
  requirements:
77
- - - ! '>='
82
+ - - '>='
78
83
  - !ruby/object:Gem::Version
79
84
  version: '0'
80
85
  required_rubygems_version: !ruby/object:Gem::Requirement
81
- none: false
82
86
  requirements:
83
- - - ! '>='
87
+ - - '>='
84
88
  - !ruby/object:Gem::Version
85
89
  version: '0'
86
90
  requirements: []
87
91
  rubyforge_project: sfp
88
- rubygems_version: 1.8.11
92
+ rubygems_version: 2.1.10
89
93
  signing_key:
90
- specification_version: 3
94
+ specification_version: 4
91
95
  summary: SFP Parser
92
96
  test_files: []