tp_plus 0.0.77 → 0.0.87

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 (77) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +87 -84
  3. data/Rakefile +35 -35
  4. data/bin/tpp +92 -92
  5. data/lib/tp_plus/interpreter.rb +152 -152
  6. data/lib/tp_plus/namespace.rb +66 -66
  7. data/lib/tp_plus/nodes/abort_node.rb +9 -9
  8. data/lib/tp_plus/nodes/acc_node.rb +19 -19
  9. data/lib/tp_plus/nodes/address_node.rb +22 -22
  10. data/lib/tp_plus/nodes/argument_node.rb +20 -20
  11. data/lib/tp_plus/nodes/assignment_node.rb +52 -45
  12. data/lib/tp_plus/nodes/base_node.rb +9 -0
  13. data/lib/tp_plus/nodes/call_node.rb +34 -34
  14. data/lib/tp_plus/nodes/case_condition_node.rb +26 -26
  15. data/lib/tp_plus/nodes/case_node.rb +33 -33
  16. data/lib/tp_plus/nodes/comment_node.rb +18 -22
  17. data/lib/tp_plus/nodes/conditional_node.rb +60 -60
  18. data/lib/tp_plus/nodes/definition_node.rb +22 -22
  19. data/lib/tp_plus/nodes/digit_node.rb +22 -22
  20. data/lib/tp_plus/nodes/empty_stmt_node.rb +9 -9
  21. data/lib/tp_plus/nodes/eval_node.rb +13 -13
  22. data/lib/tp_plus/nodes/expression_node.rb +68 -68
  23. data/lib/tp_plus/nodes/for_node.rb +20 -20
  24. data/lib/tp_plus/nodes/header_node.rb +27 -27
  25. data/lib/tp_plus/nodes/indirect_node.rb +27 -51
  26. data/lib/tp_plus/nodes/inline_conditional_node.rb +36 -40
  27. data/lib/tp_plus/nodes/io_method_node.rb +55 -55
  28. data/lib/tp_plus/nodes/io_node.rb +31 -31
  29. data/lib/tp_plus/nodes/jpos_node.rb +13 -0
  30. data/lib/tp_plus/nodes/jump_node.rb +23 -23
  31. data/lib/tp_plus/nodes/label_definition_node.rb +21 -21
  32. data/lib/tp_plus/nodes/lpos_node.rb +13 -0
  33. data/lib/tp_plus/nodes/motion_node.rb +62 -62
  34. data/lib/tp_plus/nodes/namespace_node.rb +16 -16
  35. data/lib/tp_plus/nodes/namespaced_var_node.rb +38 -38
  36. data/lib/tp_plus/nodes/numreg_node.rb +26 -26
  37. data/lib/tp_plus/nodes/offset_node.rb +27 -27
  38. data/lib/tp_plus/nodes/operator_node.rb +80 -78
  39. data/lib/tp_plus/nodes/paren_expression_node.rb +17 -17
  40. data/lib/tp_plus/nodes/pause_node.rb +9 -9
  41. data/lib/tp_plus/nodes/position_data_node.rb +66 -66
  42. data/lib/tp_plus/nodes/position_node.rb +26 -26
  43. data/lib/tp_plus/nodes/posreg_node.rb +64 -64
  44. data/lib/tp_plus/nodes/raise_node.rb +13 -13
  45. data/lib/tp_plus/nodes/real_node.rb +27 -27
  46. data/lib/tp_plus/nodes/return_node.rb +9 -0
  47. data/lib/tp_plus/nodes/set_skip_node.rb +14 -14
  48. data/lib/tp_plus/nodes/skip_node.rb +22 -22
  49. data/lib/tp_plus/nodes/speed_node.rb +29 -29
  50. data/lib/tp_plus/nodes/string_node.rb +13 -13
  51. data/lib/tp_plus/nodes/string_register_node.rb +26 -26
  52. data/lib/tp_plus/nodes/termination_node.rb +23 -23
  53. data/lib/tp_plus/nodes/terminator_node.rb +16 -16
  54. data/lib/tp_plus/nodes/time_node.rb +24 -24
  55. data/lib/tp_plus/nodes/timer_method_node.rb +33 -37
  56. data/lib/tp_plus/nodes/timer_node.rb +16 -16
  57. data/lib/tp_plus/nodes/unary_expression_node.rb +39 -0
  58. data/lib/tp_plus/nodes/units_node.rb +20 -20
  59. data/lib/tp_plus/nodes/use_node.rb +21 -21
  60. data/lib/tp_plus/nodes/user_alarm_node.rb +16 -16
  61. data/lib/tp_plus/nodes/var_method_node.rb +23 -23
  62. data/lib/tp_plus/nodes/var_node.rb +39 -39
  63. data/lib/tp_plus/nodes/vision_register_node.rb +22 -22
  64. data/lib/tp_plus/nodes/wait_for_node.rb +50 -54
  65. data/lib/tp_plus/nodes/wait_until_node.rb +61 -65
  66. data/lib/tp_plus/nodes/while_node.rb +40 -42
  67. data/lib/tp_plus/parser.rb +1749 -1697
  68. data/lib/tp_plus/scanner.rb +295 -295
  69. data/lib/tp_plus/token.rb +101 -98
  70. data/lib/tp_plus/version.rb +3 -3
  71. data/lib/tp_plus.rb +72 -67
  72. data/test/test_helper.rb +5 -5
  73. data/test/tp_plus/test_interpreter.rb +1372 -1329
  74. data/test/tp_plus/test_parser.rb +502 -502
  75. data/test/tp_plus/test_scanner.rb +591 -577
  76. data/tp_plus.gemspec +31 -31
  77. metadata +8 -3
data/tp_plus.gemspec CHANGED
@@ -1,31 +1,31 @@
1
- # encoding: utf-8
2
- require File.expand_path('../lib/tp_plus/version', __FILE__)
3
-
4
- Gem::Specification.new do |spec|
5
- spec.add_development_dependency 'benchmark-ips', '~> 2.1'
6
- spec.add_development_dependency 'rexical', '~> 1.0'
7
- spec.add_development_dependency 'racc', '~> 1.4'
8
- spec.add_development_dependency 'test-unit', '~> 3.0'
9
- spec.add_development_dependency 'rake', '~> 10.4'
10
- spec.add_development_dependency 'ruby-prof', '~> 0.15'
11
-
12
- spec.authors = ["Jay Strybis"]
13
- spec.email = ['jay.strybis@gmail.com']
14
-
15
- spec.name = 'tp_plus'
16
- spec.description = %q{TP+}
17
- spec.summary = 'A higher-level abstraction of FANUC TP'
18
- spec.homepage = 'http://github.com/onerobotics/tp_plus/'
19
- spec.licenses = ['MIT']
20
- spec.version = TPPlus::VERSION
21
-
22
- spec.executables = ['tpp']
23
- spec.files = %w(README.md Rakefile tp_plus.gemspec)
24
- spec.files += Dir.glob("lib/**/*.rb")
25
- spec.files += Dir.glob("test/**/*")
26
- spec.test_files = Dir.glob("test/**/*")
27
-
28
- spec.require_paths = ['lib']
29
- spec.required_rubygems_version = Gem::Requirement.new('>= 1.3.6')
30
- end
31
-
1
+ # encoding: utf-8
2
+ require File.expand_path('../lib/tp_plus/version', __FILE__)
3
+
4
+ Gem::Specification.new do |spec|
5
+ spec.add_development_dependency 'benchmark-ips', '~> 2.1'
6
+ spec.add_development_dependency 'rexical', '~> 1.0'
7
+ spec.add_development_dependency 'racc', '~> 1.4'
8
+ spec.add_development_dependency 'test-unit', '~> 3.0'
9
+ spec.add_development_dependency 'rake', '~> 10.4'
10
+ spec.add_development_dependency 'ruby-prof', '~> 0.15'
11
+
12
+ spec.authors = ["Jay Strybis"]
13
+ spec.email = ['jay.strybis@gmail.com']
14
+
15
+ spec.name = 'tp_plus'
16
+ spec.description = %q{TP+}
17
+ spec.summary = 'A higher-level abstraction of FANUC TP'
18
+ spec.homepage = 'http://github.com/onerobotics/tp_plus/'
19
+ spec.licenses = ['MIT']
20
+ spec.version = TPPlus::VERSION
21
+
22
+ spec.executables = ['tpp']
23
+ spec.files = %w(README.md Rakefile tp_plus.gemspec)
24
+ spec.files += Dir.glob("lib/**/*.rb")
25
+ spec.files += Dir.glob("test/**/*")
26
+ spec.test_files = Dir.glob("test/**/*")
27
+
28
+ spec.require_paths = ['lib']
29
+ spec.required_rubygems_version = Gem::Requirement.new('>= 1.3.6')
30
+ end
31
+
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tp_plus
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.77
4
+ version: 0.0.87
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jay Strybis
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-06-02 00:00:00.000000000 Z
11
+ date: 2017-01-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: benchmark-ips
@@ -113,6 +113,7 @@ files:
113
113
  - lib/tp_plus/nodes/address_node.rb
114
114
  - lib/tp_plus/nodes/argument_node.rb
115
115
  - lib/tp_plus/nodes/assignment_node.rb
116
+ - lib/tp_plus/nodes/base_node.rb
116
117
  - lib/tp_plus/nodes/call_node.rb
117
118
  - lib/tp_plus/nodes/case_condition_node.rb
118
119
  - lib/tp_plus/nodes/case_node.rb
@@ -129,8 +130,10 @@ files:
129
130
  - lib/tp_plus/nodes/inline_conditional_node.rb
130
131
  - lib/tp_plus/nodes/io_method_node.rb
131
132
  - lib/tp_plus/nodes/io_node.rb
133
+ - lib/tp_plus/nodes/jpos_node.rb
132
134
  - lib/tp_plus/nodes/jump_node.rb
133
135
  - lib/tp_plus/nodes/label_definition_node.rb
136
+ - lib/tp_plus/nodes/lpos_node.rb
134
137
  - lib/tp_plus/nodes/motion_node.rb
135
138
  - lib/tp_plus/nodes/namespace_node.rb
136
139
  - lib/tp_plus/nodes/namespaced_var_node.rb
@@ -144,6 +147,7 @@ files:
144
147
  - lib/tp_plus/nodes/posreg_node.rb
145
148
  - lib/tp_plus/nodes/raise_node.rb
146
149
  - lib/tp_plus/nodes/real_node.rb
150
+ - lib/tp_plus/nodes/return_node.rb
147
151
  - lib/tp_plus/nodes/set_skip_node.rb
148
152
  - lib/tp_plus/nodes/skip_node.rb
149
153
  - lib/tp_plus/nodes/speed_node.rb
@@ -154,6 +158,7 @@ files:
154
158
  - lib/tp_plus/nodes/time_node.rb
155
159
  - lib/tp_plus/nodes/timer_method_node.rb
156
160
  - lib/tp_plus/nodes/timer_node.rb
161
+ - lib/tp_plus/nodes/unary_expression_node.rb
157
162
  - lib/tp_plus/nodes/units_node.rb
158
163
  - lib/tp_plus/nodes/use_node.rb
159
164
  - lib/tp_plus/nodes/user_alarm_node.rb
@@ -192,7 +197,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
192
197
  version: 1.3.6
193
198
  requirements: []
194
199
  rubyforge_project:
195
- rubygems_version: 2.5.1
200
+ rubygems_version: 2.5.2
196
201
  signing_key:
197
202
  specification_version: 4
198
203
  summary: A higher-level abstraction of FANUC TP