dtr_to_rust 0.2.3 → 0.2.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cb46c1422d17df3435c4e14aeb89f533cd11254e2403b5d3bbb5ac096601c36b
4
- data.tar.gz: 170d3fa2036398a08eafad71dafd930c08809c0cb996026a97762c867a8211ea
3
+ metadata.gz: d438e4b50824b1f820f329c291d88bf97034fef9bdfd05b88b5b5a610fa23ee5
4
+ data.tar.gz: 581033f850771cfe5165ebb2028973048ddd5d17123690a06b6c4ab99fd30230
5
5
  SHA512:
6
- metadata.gz: dbe8b2b0266cd6a5aa7446fcf26c986dd41e54662d59f186e2b446ad124a71c70f893b786eb300d67a51aea1392dc325c12c60f05ec568aa48007aacda5d2cd5
7
- data.tar.gz: ad1e85bd2f9b50ad00e802de6244f88a853c6861d54dff172df4e319d669131ecd898e9495a27b3515fc1e5d88bdea4e042931b79d085834d21cc784721a5c10
6
+ metadata.gz: 07a1b2d9dc755146b4b5cba34c57c7758dbd406b37f8731962aaeb231d92803ec8afe4cc45d6b2da40f3bf30a9741b45ba2b2c5f004736731cf9aff7afeacf57
7
+ data.tar.gz: bb416781d416dd6a5cf6901d8264ea28f58fc10fdd9e128c5deed8730c507cf1652a7cd00c13ad23556f2a0326567c834ff06f84fc20dfbcfa341c3674b92122
data/lib/dtr_to_rust.rb CHANGED
@@ -7,11 +7,12 @@ module DTRToRust
7
7
 
8
8
  # This module contains all the classes that handle the different types of instructions.
9
9
  module Instruction
10
- autoload :Handler, 'instruction/handler'
10
+ autoload :AddAndAssign, 'instruction/add_and_assign'
11
+ autoload :CreateList, 'instruction/create_list'
11
12
  autoload :Evaluate, 'instruction/evaluate'
12
- autoload :Return, 'instruction/return'
13
13
  autoload :LogString, 'instruction/log_string'
14
- autoload :AddAndAssign, 'instruction/add_and_assign'
14
+ autoload :Handler, 'instruction/handler'
15
+ autoload :Return, 'instruction/return'
15
16
  end
16
17
 
17
18
  # This module contains all the classes that handle common logic.
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DTRToRust
4
+ module Instruction
5
+ # This class is responsible for generating Rust code for the AddAndAssign instruction.
6
+ class CreateList < Handler
7
+ def handle
8
+ form_rust_string("let #{@instruction[:assign]} = vec![#{@instruction[:inputs].join(', ')}];",
9
+ @instruction[:scope])
10
+ end
11
+ end
12
+ end
13
+ end
@@ -17,6 +17,8 @@ module DTRToRust
17
17
  Instruction::AddAndAssign.handle(@instruction)
18
18
  when 'evaluate'
19
19
  Instruction::Evaluate.handle(@instruction)
20
+ when 'create_list'
21
+ Instruction::CreateList.handle(@instruction)
20
22
  else
21
23
  raise "Unknown instruction type: #{@instruction[:instruction]}"
22
24
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dtr_to_rust
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rob Durst
@@ -21,6 +21,7 @@ files:
21
21
  - lib/dtr_to_rust.rb
22
22
  - lib/generator.rb
23
23
  - lib/instruction/add_and_assign.rb
24
+ - lib/instruction/create_list.rb
24
25
  - lib/instruction/evaluate.rb
25
26
  - lib/instruction/handler.rb
26
27
  - lib/instruction/log_string.rb