re_duxml 0.1.0 → 0.1.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.
@@ -1,38 +1,38 @@
1
- # Copyright (c) 2016 Freescale Semiconductor Inc.
2
- require_relative '../../lib/ast_ext/node'
3
-
4
- class TrueClass
5
- def ternary(a, b)
6
- a
7
- end
8
-
9
- def and(obj)
10
- obj
11
- end
12
-
13
- def or(obj)
14
- true
15
- end
16
-
17
- def not
18
- false
19
- end
20
- end
21
-
22
- class FalseClass
23
- def ternary(a, b)
24
- b
25
- end
26
-
27
- def and(obj)
28
- false
29
- end
30
-
31
- def or(obj)
32
- obj
33
- end
34
-
35
- def not
36
- true
37
- end
1
+ # Copyright (c) 2016 Freescale Semiconductor Inc.
2
+ require_relative '../../lib/ast_ext/node'
3
+
4
+ class TrueClass
5
+ def ternary(a, b)
6
+ a
7
+ end
8
+
9
+ def and(obj)
10
+ obj
11
+ end
12
+
13
+ def or(obj)
14
+ true
15
+ end
16
+
17
+ def not
18
+ false
19
+ end
20
+ end
21
+
22
+ class FalseClass
23
+ def ternary(a, b)
24
+ b
25
+ end
26
+
27
+ def and(obj)
28
+ false
29
+ end
30
+
31
+ def or(obj)
32
+ obj
33
+ end
34
+
35
+ def not
36
+ true
37
+ end
38
38
  end
@@ -1,6 +1,6 @@
1
- # Copyright (c) 2016 Freescale Semiconductor Inc.
2
- require_relative '../ast_ext/node'
3
-
4
- class Fixnum
5
- include AST
1
+ # Copyright (c) 2016 Freescale Semiconductor Inc.
2
+ require_relative '../ast_ext/node'
3
+
4
+ class Fixnum
5
+ include AST
6
6
  end
@@ -1,51 +1,51 @@
1
- # Copyright (c) 2016 Freescale Semiconductor Inc.
2
- require_relative 'string'
3
-
4
- # string wrapped in parameter expression macro symbol and delimiters,
5
- # indicating content is to be parsed and resolved when building and validating XML design
6
- class Macro
7
- include Enumerable
8
- include Comparable
9
-
10
- # is '@' by default
11
- MACRO_SYMBOL = '@'
12
- # are parentheses by default e.g. '()'
13
- DELIMITERS = %w{( )}
14
-
15
- @macro_string
16
-
17
- # string including MACRO_SYMBOL and DELIMITERS
18
- attr_accessor :macro_string
19
-
20
- # checks a string to see if it's a valid macro expression without leading or trailing non-expression or delimiter text
21
- def self.is_macro?(str)
22
- str[0,2] == MACRO_SYMBOL+DELIMITERS.first && str[-1] == DELIMITERS.last && str.balanced_parens?
23
- end
24
-
25
- # takes given string and wraps in MACRO_SYMBOL and DELIMITERS if not already wrapped
26
- # e.g. str => 'asdf'
27
- # Macro.new str => '@(asdf)'
28
- def initialize(str)
29
- @macro_string = Macro.is_macro?(str) ? str : "#{MACRO_SYMBOL}#{DELIMITERS.first}#{str}#{DELIMITERS.last}"
30
- end
31
-
32
- # compares #demacro'd @macro_string to obj
33
- def <=>(obj)
34
- demacro <=> obj
35
- end
36
-
37
- # just yields each character of #demacro'd @macro_string
38
- def each(&block)
39
- demacro.split(//).each do |char| yield char end
40
- end
41
-
42
- # returns string without MACRO_SYMBOL and DELIMITERS
43
- def demacro
44
- macro_string[2..-2]
45
- end
46
-
47
- # returns nil if not, and match data for any parameter names found
48
- def parameterized?
49
- macro_string.match Regexp.identifier
50
- end
1
+ # Copyright (c) 2016 Freescale Semiconductor Inc.
2
+ require_relative 'string'
3
+
4
+ # string wrapped in parameter expression macro symbol and delimiters,
5
+ # indicating content is to be parsed and resolved when building and validating XML design
6
+ class Macro
7
+ include Enumerable
8
+ include Comparable
9
+
10
+ # is '@' by default
11
+ MACRO_SYMBOL = '@'
12
+ # are parentheses by default e.g. '()'
13
+ DELIMITERS = %w{( )}
14
+
15
+ @macro_string
16
+
17
+ # string including MACRO_SYMBOL and DELIMITERS
18
+ attr_accessor :macro_string
19
+
20
+ # checks a string to see if it's a valid macro expression without leading or trailing non-expression or delimiter text
21
+ def self.is_macro?(str)
22
+ str[0,2] == MACRO_SYMBOL+DELIMITERS.first && str[-1] == DELIMITERS.last && str.balanced_parens?
23
+ end
24
+
25
+ # takes given string and wraps in MACRO_SYMBOL and DELIMITERS if not already wrapped
26
+ # e.g. str => 'asdf'
27
+ # Macro.new str => '@(asdf)'
28
+ def initialize(str)
29
+ @macro_string = Macro.is_macro?(str) ? str : "#{MACRO_SYMBOL}#{DELIMITERS.first}#{str}#{DELIMITERS.last}"
30
+ end
31
+
32
+ # compares #demacro'd @macro_string to obj
33
+ def <=>(obj)
34
+ demacro <=> obj
35
+ end
36
+
37
+ # just yields each character of #demacro'd @macro_string
38
+ def each(&block)
39
+ demacro.split(//).each do |char| yield char end
40
+ end
41
+
42
+ # returns string without MACRO_SYMBOL and DELIMITERS
43
+ def demacro
44
+ macro_string[2..-2]
45
+ end
46
+
47
+ # returns nil if not, and match data for any parameter names found
48
+ def parameterized?
49
+ macro_string.match Regexp.identifier
50
+ end
51
51
  end # class Macro
@@ -1,7 +1,7 @@
1
- # Copyright (c) 2016 Freescale Semiconductor Inc.
2
- class Regexp
3
- # @return [Regexp] single and double quoted strings
4
- def self.string
5
- /['"][^'"]*['"]/
6
- end
1
+ # Copyright (c) 2016 Freescale Semiconductor Inc.
2
+ class Regexp
3
+ # @return [Regexp] single and double quoted strings
4
+ def self.string
5
+ /['"][^'"]*['"]/
6
+ end
7
7
  end
@@ -1,15 +1,15 @@
1
- # Copyright (c) 2016 Freescale Semiconductor Inc.
2
- require 'duxml'
3
-
4
- # extending String with #parameterized? and #balanced_parens? only to assist macro.rb
5
- class String
6
- # returns whether or not contents include any Macro strings i.e. Parameter expressions
7
- def parameterized?
8
- self.include?('@(')
9
- end
10
-
11
- # returns whether number of open parentheses and close parentheses match
12
- def balanced_parens?
13
- self.match(/\(/).size == self.match(/\)/).size
14
- end
1
+ # Copyright (c) 2016 Freescale Semiconductor Inc.
2
+ require 'duxml'
3
+
4
+ # extending String with #parameterized? and #balanced_parens? only to assist macro.rb
5
+ class String
6
+ # returns whether or not contents include any Macro strings i.e. Parameter expressions
7
+ def parameterized?
8
+ self.include?('@(')
9
+ end
10
+
11
+ # returns whether number of open parentheses and close parentheses match
12
+ def balanced_parens?
13
+ self.match(/\(/).size == self.match(/\)/).size
14
+ end
15
15
  end # class String
@@ -1,16 +1,16 @@
1
- # Copyright (c) 2016 Freescale Semiconductor Inc.
2
- require_relative 'variable'
3
-
4
- module Symbolic
5
- class Coerced
6
- include AST
7
-
8
- def %(numeric)
9
- numeric.new_ast(:%, @symbolic)
10
- end
11
-
12
- def **(numeric)
13
- numeric.new_ast(:**, @symbolic)
14
- end
15
- end
1
+ # Copyright (c) 2016 Freescale Semiconductor Inc.
2
+ require_relative 'variable'
3
+
4
+ module Symbolic
5
+ class Coerced
6
+ include AST
7
+
8
+ def %(numeric)
9
+ numeric.new_ast(:%, @symbolic)
10
+ end
11
+
12
+ def **(numeric)
13
+ numeric.new_ast(:**, @symbolic)
14
+ end
15
+ end
16
16
  end
@@ -1,26 +1,26 @@
1
- # Copyright (c) 2016 Freescale Semiconductor Inc.
2
- require_relative 'coerced'
3
-
4
- module Symbolic
5
- include AST
6
-
7
- def %(var)
8
- return 0 if self.object_id == var.object_id
9
- return self % var if self.is_a?(Numeric) && var.is_a?(Numeric)
10
- new_ast :%, var
11
- end
12
-
13
- def -@(var)
14
- return -var unless var.is_a?(Node)
15
- return -var.type if var.type.is_a?(Numeric)
16
- reversed = var.type.reverse
17
- reversed ? new_ast(reversed, *var.children.dup) : new_ast(:-@, [var])
18
- end
19
-
20
- def not(var)
21
- return nil if var.is_a?(Symbolic::Variable)
22
- return !var unless var.is_a?(Node)
23
- inverted = var.type.inverse
24
- inverted ? new_ast(inverted, *var.children.dup) : new_ast(:!, [var])
25
- end
26
- end
1
+ # Copyright (c) 2016 Freescale Semiconductor Inc.
2
+ require_relative 'coerced'
3
+
4
+ module Symbolic
5
+ include AST
6
+
7
+ def %(var)
8
+ return 0 if self.object_id == var.object_id
9
+ return self % var if self.is_a?(Numeric) && var.is_a?(Numeric)
10
+ new_ast :%, var
11
+ end
12
+
13
+ def -@(var)
14
+ return -var unless var.is_a?(Node)
15
+ return -var.type if var.type.is_a?(Numeric)
16
+ reversed = var.type.reverse
17
+ reversed ? new_ast(reversed, *var.children.dup) : new_ast(:-@, [var])
18
+ end
19
+
20
+ def not(var)
21
+ return nil if var.is_a?(Symbolic::Variable)
22
+ return !var unless var.is_a?(Node)
23
+ inverted = var.type.inverse
24
+ inverted ? new_ast(inverted, *var.children.dup) : new_ast(:!, [var])
25
+ end
26
+ end
@@ -1,61 +1,61 @@
1
- # Copyright (c) 2016 Freescale Semiconductor Inc.
2
- require 'symbolic'
3
- require_relative '../ruby_ext/fixnum'
4
- require_relative '../ruby_ext/boolean'
5
-
6
- module Symbolic
7
- class Variable
8
- include AST
9
-
10
- def and(obj)
11
- return self if obj.equal?(true) || obj.equal?(self)
12
- return false if obj.equal?(false)
13
- nil
14
- end
15
-
16
- def or(obj)
17
- return self if obj.equal?(false) || obj.equal?(self)
18
- return true if obj.equal?(true)
19
- nil
20
- end
21
-
22
- def <(obj)
23
- eql?(obj) ? false : nil
24
- end
25
-
26
- def >(obj)
27
- eql?(obj) ? false : nil
28
- end
29
-
30
- def !=(obj)
31
- if obj.is_a?(Variable) || obj.is_a?(Numeric)
32
- return object_id == obj.object_id ? false : nil
33
- end
34
-
35
- return !self if obj.equal?(true)
36
- return self if obj.equal?(false)
37
- return false if obj.equal?(self)
38
- nil
39
- end
40
-
41
- def ==(obj)
42
- if obj.is_a?(Variable) || obj.is_a?(Numeric)
43
- result = object_id == obj.object_id ? true : nil
44
- return result
45
- end
46
-
47
- return !self if obj.equal?(false)
48
- return self if obj.equal?(true)
49
- return true if obj.equal?(self)
50
- nil
51
- end
52
-
53
- def >=(obj)
54
- object_id == obj.object_id ? true : nil
55
- end
56
-
57
- def <=(obj)
58
- object_id == obj.object_id ? true : nil
59
- end
60
- end # class Variable
1
+ # Copyright (c) 2016 Freescale Semiconductor Inc.
2
+ require 'symbolic'
3
+ require_relative '../ruby_ext/fixnum'
4
+ require_relative '../ruby_ext/boolean'
5
+
6
+ module Symbolic
7
+ class Variable
8
+ include AST
9
+
10
+ def and(obj)
11
+ return self if obj.equal?(true) || obj.equal?(self)
12
+ return false if obj.equal?(false)
13
+ nil
14
+ end
15
+
16
+ def or(obj)
17
+ return self if obj.equal?(false) || obj.equal?(self)
18
+ return true if obj.equal?(true)
19
+ nil
20
+ end
21
+
22
+ def <(obj)
23
+ eql?(obj) ? false : nil
24
+ end
25
+
26
+ def >(obj)
27
+ eql?(obj) ? false : nil
28
+ end
29
+
30
+ def !=(obj)
31
+ if obj.is_a?(Variable) || obj.is_a?(Numeric)
32
+ return object_id == obj.object_id ? false : nil
33
+ end
34
+
35
+ return !self if obj.equal?(true)
36
+ return self if obj.equal?(false)
37
+ return false if obj.equal?(self)
38
+ nil
39
+ end
40
+
41
+ def ==(obj)
42
+ if obj.is_a?(Variable) || obj.is_a?(Numeric)
43
+ result = object_id == obj.object_id ? true : nil
44
+ return result
45
+ end
46
+
47
+ return !self if obj.equal?(false)
48
+ return self if obj.equal?(true)
49
+ return true if obj.equal?(self)
50
+ nil
51
+ end
52
+
53
+ def >=(obj)
54
+ object_id == obj.object_id ? true : nil
55
+ end
56
+
57
+ def <=(obj)
58
+ object_id == obj.object_id ? true : nil
59
+ end
60
+ end # class Variable
61
61
  end # module Symbolic