tp_plus 0.0.77 → 0.0.87

Sign up to get free protection for your applications and to get access to all the features.
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