sfp 0.3.21 → 0.3.22
Sign up to get free protection for your applications and to get access to all the features.
- 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: []
|