astrapi 0.0.5 → 0.0.7

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
  SHA1:
3
- metadata.gz: 10ee1c3dea18bdd7755a762060ccc1a1aa0692ca
4
- data.tar.gz: cb41eab2377dafbac4d3b79c90e88873ec83973e
3
+ metadata.gz: 13c86b8b27199257c5ae8661343b6c3b4b96ee53
4
+ data.tar.gz: f7491d285d113ef5694117a78af684efbe8f3397
5
5
  SHA512:
6
- metadata.gz: d327cb9aa4133ef33a4c47b191fbea985b2adc7e746d952077b1ec5caee7820fcfc9382b980a5e4966fd1b21490cecca79beeb5f7cb436eaf0321a1af08fcd70
7
- data.tar.gz: 342378734808d44a6dd3993d593d6036669f7e3dd6be18aed39b966798d7416a309b2a8337d8850c9590591af093f4d0dbb80985229af075cb87929811267857
6
+ metadata.gz: cef8a631f78ff72ce9b94ff283332b237b0b49372b9436d6a99c78467fda75c0d65fa0d5d5d11d453e290c10f422191450532158a93c855fe48f6cf7d5fb32aa
7
+ data.tar.gz: be3c4df39ecb369317bf630f462371a36cb2080b128f34cef4e9dc9fd03fd4a01b615f0648360622d05166c7df9ed731492f38edf84b71ba1873926e54d6f184
@@ -52,6 +52,7 @@
52
52
  <div style="background: #f0f3f3; overflow:auto;width:auto;border:solid gray;border-width:.1em .1em .1em .8em;padding:.2em .6em;"><pre style="margin: 0; line-height: 125%"><span style="color: #006699; font-weight: bold">module</span> <span style="color: #00CCFF; font-weight: bold">Geometry</span>
53
53
 
54
54
  <span style="color: #006699; font-weight: bold">class</span> <span style="color: #00AA88; font-weight: bold">Scene</span>
55
+ <span style="color: #006699">attr</span> <span style="color: #336666">name</span> <span style="color: #555555">=&gt;</span> <span style="color: #336600">IDENT</span>
55
56
  <span style="color: #006699">attr</span> elements <span style="color: #555555">=&gt;</span> <span style="color: #336600">Shape</span><span style="color: #555555">[]</span>
56
57
  <span style="color: #006699; font-weight: bold">end</span>
57
58
 
@@ -61,11 +62,11 @@
61
62
  <span style="color: #006699; font-weight: bold">end</span>
62
63
 
63
64
  <span style="color: #006699; font-weight: bold">class</span> <span style="color: #00AA88; font-weight: bold">Square</span> <span style="color: #555555">&lt;</span> <span style="color: #336600">Shape</span>
64
- <span style="color: #006699">attr</span> size <span style="color: #555555">=&gt;</span> <span style="color: #336600">INTEGER</span>
65
+ <span style="color: #006699">attr</span> size <span style="color: #555555">=&gt;</span> <span style="color: #336600">Size</span>
65
66
  <span style="color: #006699; font-weight: bold">end</span>
66
67
 
67
68
  <span style="color: #006699; font-weight: bold">class</span> <span style="color: #00AA88; font-weight: bold">Circle</span> <span style="color: #555555">&lt;</span> <span style="color: #336600">Shape</span>
68
- <span style="color: #006699">attr</span> radius <span style="color: #555555">=&gt;</span> <span style="color: #336600">INTEGER</span>
69
+ <span style="color: #006699">attr</span> radius <span style="color: #555555">=&gt;</span> <span style="color: #336600">Size</span>
69
70
  <span style="color: #006699; font-weight: bold">end</span>
70
71
 
71
72
  <span style="color: #006699; font-weight: bold">class</span> <span style="color: #00AA88; font-weight: bold">Rectangle</span> <span style="color: #555555">&lt;</span> <span style="color: #336600">Shape</span>
@@ -27,7 +27,9 @@ module Astrapi
27
27
  end
28
28
 
29
29
  def analyze_options args
30
+
30
31
  args << "-h" if args.empty?
32
+
31
33
  opt_parser = OptionParser.new do |opts|
32
34
  opts.banner = "Usage: astrapi <file.mm> [options]"
33
35
 
@@ -68,6 +70,7 @@ module Astrapi
68
70
 
69
71
  opts.on("-h", "--help", "Prints this help") do
70
72
  puts opts
73
+ puts ">> visit Astrapi page on http://www.jcll.fr/astrapi.html <<"
71
74
  exit
72
75
  end
73
76
  end
@@ -109,10 +109,10 @@ module Astrapi
109
109
  case
110
110
  when value = text.match(IDENT)
111
111
  return Token.new [:IDENT,text,position]
112
- when value = text.match(INT)
113
- return Token.new [:INT,text,position]
114
112
  when value = text.match(FLOAT)
115
113
  return Token.new [:FLOAT,text,position]
114
+ when value = text.match(INT)
115
+ return Token.new [:INT,text,position]
116
116
  when value = text.match(STRING)
117
117
  return Token.new [:STRING,text,position]
118
118
  when value = text.match(MODULE)
@@ -11,7 +11,7 @@ module Astrapi
11
11
  attr_accessor :lexer,:tokens
12
12
 
13
13
  def initialize
14
- @verbose=false
14
+ @verbose=true
15
15
  @lexer=Lexer.new
16
16
  end
17
17
 
@@ -83,7 +83,7 @@ module Astrapi
83
83
 
84
84
  def parseAttrType
85
85
  indent "parseAttrType"
86
- if showNext.is_a? [:IDENT,:FLOAT,:INT]
86
+ if showNext.is_a? [:IDENT,:FLOAT,:INT,:STRING]
87
87
  type=Type.new(Identifier.new(acceptIt))
88
88
  else
89
89
  type=Type.new(Identifier.new(expect :identifier))
@@ -1,3 +1,3 @@
1
1
  module Astrapi
2
- VERSION="0.0.5"
2
+ VERSION="0.0.7"
3
3
  end
metadata CHANGED
@@ -1,18 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: astrapi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jean-Christophe Le Lann
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-05-17 00:00:00.000000000 Z
11
+ date: 2016-07-13 00:00:00.000000000 Z
12
12
  dependencies: []
13
- description: Starting from the metamodel of a DSL (abstract classes and their relationship),
14
- Astrapi generates a compiler front end for this DSL. The model itself is expressed
15
- in S-expressions
13
+ description: Starting from the metamodel of a DSL (abstract classes and their relationship), Astrapi generates a compiler front end for this DSL. The model itself is expressed in S-expressions
16
14
  email: lelannje@ensta-bretagne.fr
17
15
  executables:
18
16
  - astrapi
@@ -48,25 +46,24 @@ homepage: http://www.jcll.fr/astrapi.html
48
46
  licenses:
49
47
  - MIT
50
48
  metadata: {}
51
- post_install_message: Thanks for installing! A small doc & examples are in astrapi/doc
52
- and astrapi/tests.
49
+ post_install_message: 'Thanks for installing! Homepage : http://www.jcll.fr/astrapi.html'
53
50
  rdoc_options: []
54
51
  require_paths:
55
52
  - lib
56
53
  required_ruby_version: !ruby/object:Gem::Requirement
57
54
  requirements:
58
- - - ">="
55
+ - - '>='
59
56
  - !ruby/object:Gem::Version
60
57
  version: 2.0.0
61
58
  required_rubygems_version: !ruby/object:Gem::Requirement
62
59
  requirements:
63
- - - ">="
60
+ - - '>='
64
61
  - !ruby/object:Gem::Version
65
62
  version: '0'
66
63
  requirements: []
67
- rubyforge_project:
68
- rubygems_version: 2.4.6
69
- signing_key:
64
+ rubyforge_project:
65
+ rubygems_version: 2.4.5
66
+ signing_key:
70
67
  specification_version: 4
71
68
  summary: meta-compiler for S-expression based Domain Specific Languages (DSL)
72
69
  test_files: []