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.
- checksums.yaml +7 -0
- data/VERSION +1 -1
- data/lib/sfp/sas_translator.rb +10 -31
- metadata +20 -16
checksums.yaml
ADDED
@@ -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.
|
1
|
+
0.3.22
|
data/lib/sfp/sas_translator.rb
CHANGED
@@ -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
|
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
|
-
|
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
|
-
|
2244
|
-
|
2245
|
-
|
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.
|
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
|
+
date: 2013-12-16 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: antlr3
|
16
|
-
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:
|
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:
|
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:
|
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.
|
92
|
+
rubygems_version: 2.1.10
|
89
93
|
signing_key:
|
90
|
-
specification_version:
|
94
|
+
specification_version: 4
|
91
95
|
summary: SFP Parser
|
92
96
|
test_files: []
|