crokus 0.0.4 → 0.0.5

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 852a2b5bdf274b42fa37edba80142da8b481cad7203637a5b86ab7a5b83f7b10
4
- data.tar.gz: f199ddb9ac49df0c8bb5a456c332677ccb2cbd21baa469d0cee514d400b4ae78
3
+ metadata.gz: 5e5122ba3ad8a0b8cdecf4f0cf72adfa520f8e7553204757d0e91170419e8a08
4
+ data.tar.gz: 58c00c66d56d5a9866a397cfb1386586f4020918d1ec509e5faa8c16afa2422c
5
5
  SHA512:
6
- metadata.gz: ec54d76cffdfeeb764fcc06463fd67b01b88dd642246496f6d6de07d5462113e3fda0e34af0bf60750552397e14be4d6cd1d36eec0a6fd8d27ed88cdd27ea1f3
7
- data.tar.gz: 602f8152c74bda51fde3c991fa969192d3a2c542688650b822158fdcfab654d7ac62cb869b9243d3d512b880c168938d8e9848388cb2f5c097f0c46a853b7502
6
+ metadata.gz: 34dc9b951b86aad23353e704c19c9c7c0a191a66a5f362f6350d7e4c82cba9ae904f632d55cdfd889ff407509e911979426984820c76df9954657914168764a4
7
+ data.tar.gz: 3e5a136ac1cd79905900b9fe34ccc945d7cdee8841594441f194d447c54600e20086b1751c90911eead1c29b248980b81a710af67073a4ef97d2c89a303ab87e
@@ -7,14 +7,11 @@ require_relative 'pretty_printer'
7
7
  require_relative 'cfg_builder'
8
8
  require_relative 'tac_builder'
9
9
  require_relative 'ir_dumper'
10
-
11
- # random C generation
12
- require_relative 'cfg_random_gen'
10
+ require_relative 'cfg_random_gen' # random C generation
13
11
 
14
12
  module Crokus
15
13
 
16
14
  class Compiler
17
-
18
15
  attr_accessor :options
19
16
  attr_accessor :parser
20
17
  attr_accessor :ast
@@ -26,34 +23,20 @@ module Crokus
26
23
  @parser=Parser.new
27
24
  end
28
25
 
29
- def header
30
-
31
- end
32
-
33
26
  def compile filename
34
- header
35
-
36
27
  parse(filename)
37
- if options[:parse_only]
38
- return true
39
- end
28
+ return true if options[:parse_only]
40
29
 
41
30
  build_cfg
42
- if options[:cfg]
43
- return true
44
- end
31
+ return true if options[:cfg]
45
32
 
46
33
  build_tac
47
- if options[:tac]
48
- return true
49
- end
34
+ return true if options[:tac]
50
35
 
51
36
  emit_ir
52
37
  return true
53
38
  end
54
39
 
55
-
56
-
57
40
  def parse filename
58
41
  @base_name=File.basename(filename, ".c")
59
42
  code=IO.read(filename)
@@ -63,12 +46,6 @@ module Crokus
63
46
  pretty_print if options[:pp]
64
47
  end
65
48
 
66
- # def parse filename
67
- # @base_name=File.basename(filename, ".c")
68
- # code=IO.read(filename)
69
- # @ast=Parser.new.parse(code)
70
- # end
71
-
72
49
  def draw_ast tree=nil,filename=nil
73
50
  dotname=filename || "#{base_name}.dot"
74
51
  puts " |--> drawing AST '#{dotname}'" unless options[:mute]
@@ -117,14 +94,5 @@ module Crokus
117
94
  def execute params
118
95
  RandomGen.new.run(params)
119
96
  end
120
-
121
97
  end
122
98
  end
123
- #
124
- # if $PROGRAM_NAME == __FILE__
125
- # filename=ARGV[0]
126
- # t1 = Time.now
127
- # C::Compiler.new.compile(filename)
128
- # t2 = Time.now
129
- # puts "parsed in : #{t2-t1} s"
130
- # end
@@ -1,3 +1,3 @@
1
1
  module Crokus
2
- VERSION="0.0.4"
2
+ VERSION="0.0.5"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: crokus
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jean-Christophe Le Lann
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-10-07 00:00:00.000000000 Z
11
+ date: 2019-10-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: distribution
@@ -38,9 +38,8 @@ dependencies:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
40
  version: 0.8.1
41
- description: Crokus is developped in Ruby and aims at providing simple basis for C
42
- transformations. It has been use for teaching purposes and applied to Electronic
43
- System Level experiments.
41
+ description: Crokus is a parser for a subset of C language. It has been use for teaching
42
+ purposes and applied to Electronic System Level experiments.
44
43
  email: lelannje@ensta-bretagne.fr
45
44
  executables:
46
45
  - crokus
@@ -96,5 +95,5 @@ rubyforge_project:
96
95
  rubygems_version: 2.7.7
97
96
  signing_key:
98
97
  specification_version: 4
99
- summary: Simple parser for a large subset of C language, for experimental purposes
98
+ summary: Simple parser for a subset of C language, for experimental purposes
100
99
  test_files: []