nilac 0.0.4.3.9.2 → 0.0.4.3.9.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/bin/nilac +9 -5748
- data/examples/StringMagic.nila +23 -0
- data/examples/countdown.nila +31 -0
- data/examples/decBin.nila +3 -3
- data/examples/marky.js +30 -0
- data/examples/marky.nila +23 -0
- data/lib/nilac/ErrorDeclarations.rb +11 -0
- data/lib/nilac/add_semicolons.rb +57 -0
- data/lib/nilac/compile_arrays.rb +266 -0
- data/lib/nilac/compile_blocks.rb +137 -0
- data/lib/nilac/compile_case_statement.rb +168 -0
- data/lib/nilac/compile_classes.rb +18 -0
- data/lib/nilac/compile_comments.rb +79 -0
- data/lib/nilac/compile_conditional_structures.rb +1378 -0
- data/lib/nilac/compile_custom_function_map.rb +45 -0
- data/lib/nilac/compile_default_values.rb +160 -0
- data/lib/nilac/compile_hashes.rb +123 -0
- data/lib/nilac/compile_heredocs.rb +62 -0
- data/lib/nilac/compile_integers.rb +23 -0
- data/lib/nilac/compile_interpolated_strings.rb +133 -0
- data/lib/nilac/compile_loops.rb +211 -0
- data/lib/nilac/compile_named_functions.rb +690 -0
- data/lib/nilac/compile_operators.rb +83 -0
- data/lib/nilac/compile_parallel_assignment.rb +103 -0
- data/lib/nilac/compile_ruby_methods.rb +58 -0
- data/lib/nilac/compile_special_keywords.rb +44 -0
- data/lib/nilac/compile_strings.rb +145 -0
- data/lib/nilac/compile_whitespace_delimited_functions.rb +97 -0
- data/lib/nilac/create_mac_executable.rb +25 -0
- data/lib/nilac/extract_parsable_file.rb +23 -0
- data/lib/nilac/find_all_matching_indices.rb +18 -0
- data/lib/nilac/find_file_name.rb +13 -0
- data/lib/nilac/find_file_path.rb +13 -0
- data/lib/nilac/get_variables.rb +123 -0
- data/lib/nilac/output_javascript.rb +13 -0
- data/lib/nilac/parse_arguments.rb +41 -0
- data/lib/nilac/pretty_print_javascript.rb +457 -0
- data/lib/nilac/read_file_line_by_line.rb +11 -0
- data/lib/nilac/remove_question_marks.rb +46 -0
- data/lib/nilac/replace_multiline_comments.rb +92 -0
- data/lib/nilac/replace_named_functions.rb +154 -0
- data/lib/nilac/replace_singleline_comments.rb +45 -0
- data/lib/nilac/replace_strings.rb +35 -0
- data/lib/nilac/split_semicolon_seperated_expressions.rb +39 -0
- data/lib/nilac/strToArray.rb +15 -0
- data/lib/nilac/version.rb +1 -1
- data/lib/nilac.rb +324 -1
- data/nilac.gemspec +0 -1
- data/shark/features/add_auto_return_statement.feature +1 -1
- data/shark/features/array_and_string_indexing.feature +1 -1
- data/shark/features/barebones_compilation.feature +1 -1
- data/shark/features/case_when.feature +1 -1
- data/shark/features/default_method_parameters.feature +1 -1
- data/shark/features/fix_newlines.feature +1 -1
- data/shark/features/hashes.feature +1 -1
- data/shark/features/heredoc.feature +1 -1
- data/shark/features/if_then_else.feature +1 -1
- data/shark/features/loop.feature +1 -1
- data/shark/features/method_multiple_return.feature +1 -1
- data/shark/features/multiline_array.feature +1 -1
- data/shark/features/multiple_variable_initialization.feature +1 -1
- data/shark/features/numbers.feature +1 -1
- data/shark/features/regular_for.feature +1 -1
- data/shark/features/regular_if.feature +1 -1
- data/shark/features/regular_while.feature +1 -1
- data/shark/features/ruby_methods.feature +1 -1
- data/shark/features/ruby_operators.feature +1 -1
- data/shark/features/splats.feature +1 -1
- data/shark/features/string_interpolation.feature +1 -1
- data/shark/features/strings.feature +1 -1
- data/shark/features/times.feature +1 -1
- data/shark/features/unless_until.feature +1 -1
- data/shark/features/whitespace_delimitation.feature +1 -1
- metadata +46 -18
- data/src/nilac.rb +0 -5753
data/lib/nilac.rb
CHANGED
@@ -1,5 +1,328 @@
|
|
1
|
-
|
1
|
+
#Nilac is the official Nila compiler. It compiles Nila into pure Javascript. Nilac is currently
|
2
|
+
#written in Ruby but will be self hosted in the upcoming years.
|
3
|
+
|
4
|
+
#Nila and Nilac are being crafted by Adhithya Rajasekaran and Sri Madhavi Rajasekaran
|
5
|
+
|
6
|
+
$LOAD_PATH << File.dirname(__FILE__)
|
2
7
|
|
3
8
|
module Nilac
|
4
9
|
|
10
|
+
require 'nilac/version'
|
11
|
+
|
12
|
+
require 'fileutils'
|
13
|
+
|
14
|
+
require 'nilac/read_file_line_by_line'
|
15
|
+
|
16
|
+
require 'nilac/find_file_name'
|
17
|
+
|
18
|
+
require 'nilac/find_file_path'
|
19
|
+
|
20
|
+
require 'nilac/extract_parsable_file'
|
21
|
+
|
22
|
+
require 'nilac/replace_multiline_comments'
|
23
|
+
|
24
|
+
require 'nilac/split_semicolon_seperated_expressions'
|
25
|
+
|
26
|
+
require 'nilac/compile_heredocs'
|
27
|
+
|
28
|
+
require 'nilac/compile_interpolated_strings'
|
29
|
+
|
30
|
+
require 'nilac/replace_singleline_comments'
|
31
|
+
|
32
|
+
require 'nilac/replace_named_functions'
|
33
|
+
|
34
|
+
require 'nilac/compile_parallel_assignment'
|
35
|
+
|
36
|
+
require 'nilac/compile_default_values'
|
37
|
+
|
38
|
+
require 'nilac/get_variables'
|
39
|
+
|
40
|
+
require 'nilac/remove_question_marks'
|
41
|
+
|
42
|
+
require 'nilac/compile_arrays'
|
43
|
+
|
44
|
+
require 'nilac/compile_hashes'
|
45
|
+
|
46
|
+
require 'nilac/compile_strings'
|
47
|
+
|
48
|
+
require 'nilac/compile_integers'
|
49
|
+
|
50
|
+
require 'nilac/compile_classes'
|
51
|
+
|
52
|
+
require 'nilac/compile_named_functions'
|
53
|
+
|
54
|
+
require 'nilac/compile_custom_function_map'
|
55
|
+
|
56
|
+
require 'nilac/compile_ruby_methods'
|
57
|
+
|
58
|
+
require 'nilac/compile_special_keywords'
|
59
|
+
|
60
|
+
require 'nilac/compile_whitespace_delimited_functions'
|
61
|
+
|
62
|
+
require 'nilac/compile_conditional_structures'
|
63
|
+
|
64
|
+
require 'nilac/compile_case_statement'
|
65
|
+
|
66
|
+
require 'nilac/compile_loops'
|
67
|
+
|
68
|
+
require 'nilac/compile_blocks'
|
69
|
+
|
70
|
+
require 'nilac/add_semicolons'
|
71
|
+
|
72
|
+
require 'nilac/compile_comments'
|
73
|
+
|
74
|
+
require 'nilac/pretty_print_javascript'
|
75
|
+
|
76
|
+
require 'nilac/compile_operators'
|
77
|
+
|
78
|
+
require 'nilac/output_javascript'
|
79
|
+
|
80
|
+
require 'nilac/create_mac_executable'
|
81
|
+
|
82
|
+
require 'nilac/parse_arguments'
|
83
|
+
|
84
|
+
class NilaCompiler
|
85
|
+
|
86
|
+
def initialize(args)
|
87
|
+
|
88
|
+
@input_arguments = args
|
89
|
+
|
90
|
+
end
|
91
|
+
|
92
|
+
def compile(input_file_path, *output_file_name)
|
93
|
+
|
94
|
+
if File.exist?(input_file_path)
|
95
|
+
|
96
|
+
file_contents = read_file_line_by_line(input_file_path)
|
97
|
+
|
98
|
+
file_contents = extract_parsable_file(file_contents)
|
99
|
+
|
100
|
+
file_contents, multiline_comments, temp_file, output_js_file = replace_multiline_comments(file_contents, input_file_path, *output_file_name)
|
101
|
+
|
102
|
+
file_contents, singleline_comments = replace_singleline_comments(file_contents)
|
103
|
+
|
104
|
+
file_contents = split_semicolon_seperated_expressions(file_contents)
|
105
|
+
|
106
|
+
file_contents = compile_heredocs(file_contents, temp_file)
|
107
|
+
|
108
|
+
file_contents,loop_vars = compile_loops(file_contents,temp_file)
|
109
|
+
|
110
|
+
file_contents = compile_interpolated_strings(file_contents)
|
111
|
+
|
112
|
+
file_contents = compile_hashes(file_contents,temp_file)
|
113
|
+
|
114
|
+
file_contents = compile_case_statement(file_contents,temp_file)
|
115
|
+
|
116
|
+
file_contents = compile_conditional_structures(file_contents, temp_file)
|
117
|
+
|
118
|
+
file_contents = compile_blocks(file_contents,temp_file)
|
119
|
+
|
120
|
+
file_contents = compile_integers(file_contents)
|
121
|
+
|
122
|
+
file_contents = compile_default_values(file_contents, temp_file)
|
123
|
+
|
124
|
+
file_contents, named_functions, nested_functions = replace_named_functions(file_contents, temp_file)
|
125
|
+
|
126
|
+
comments = [singleline_comments, multiline_comments]
|
127
|
+
|
128
|
+
file_contents = compile_parallel_assignment(file_contents, temp_file)
|
129
|
+
|
130
|
+
file_contents,named_functions = compile_arrays(file_contents, named_functions, temp_file)
|
131
|
+
|
132
|
+
file_contents = compile_strings(file_contents)
|
133
|
+
|
134
|
+
list_of_variables, file_contents = get_variables(file_contents, temp_file,loop_vars)
|
135
|
+
|
136
|
+
file_contents, function_names = compile_named_functions(file_contents, named_functions, nested_functions, temp_file)
|
137
|
+
|
138
|
+
func_names = function_names.dup
|
139
|
+
|
140
|
+
file_contents, ruby_functions = compile_custom_function_map(file_contents)
|
141
|
+
|
142
|
+
file_contents = compile_ruby_methods(file_contents)
|
143
|
+
|
144
|
+
file_contents = compile_special_keywords(file_contents)
|
145
|
+
|
146
|
+
function_names << ruby_functions
|
147
|
+
|
148
|
+
list_of_variables += loop_vars
|
149
|
+
|
150
|
+
file_contents = compile_whitespace_delimited_functions(file_contents, function_names, temp_file)
|
151
|
+
|
152
|
+
file_contents = remove_question_marks(file_contents, list_of_variables, temp_file)
|
153
|
+
|
154
|
+
file_contents = add_semicolons(file_contents)
|
155
|
+
|
156
|
+
file_contents = compile_comments(file_contents, comments, temp_file)
|
157
|
+
|
158
|
+
file_contents = pretty_print_javascript(file_contents, temp_file,list_of_variables+func_names)
|
159
|
+
|
160
|
+
file_contents = compile_operators(file_contents)
|
161
|
+
|
162
|
+
output_javascript(file_contents, output_js_file, temp_file)
|
163
|
+
|
164
|
+
puts "Compilation is successful!"
|
165
|
+
|
166
|
+
else
|
167
|
+
|
168
|
+
puts "File doesn't exist!"
|
169
|
+
|
170
|
+
end
|
171
|
+
|
172
|
+
end
|
173
|
+
|
174
|
+
def start_compile
|
175
|
+
|
176
|
+
opts = parse_arguments(@input_arguments)
|
177
|
+
|
178
|
+
nilac_version = Nilac::VERSION
|
179
|
+
|
180
|
+
if opts.values.compact.empty?
|
181
|
+
|
182
|
+
opts[:help] = "-h"
|
183
|
+
|
184
|
+
end
|
185
|
+
|
186
|
+
if opts[:build] != nil
|
187
|
+
|
188
|
+
file_path = Dir.pwd + "/src/nilac.rb"
|
189
|
+
create_mac_executable(file_path)
|
190
|
+
FileUtils.mv("#{file_path[0...-3]}", "#{Dir.pwd}/bin/nilac")
|
191
|
+
puts "Build Successful!"
|
192
|
+
|
193
|
+
elsif opts[:compile] != nil
|
194
|
+
|
195
|
+
if opts[:compile].length == 1
|
196
|
+
|
197
|
+
input = opts[:compile][0]
|
198
|
+
|
199
|
+
if input.include? ".nila"
|
200
|
+
current_directory = Dir.pwd
|
201
|
+
input_file = input
|
202
|
+
file_path = current_directory + "/" + input_file
|
203
|
+
compile(file_path)
|
204
|
+
elsif input.include? "/"
|
205
|
+
folder_path = input
|
206
|
+
files = Dir.glob(File.join(folder_path, "*"))
|
207
|
+
files = files.reject { |path| !path.include? ".nila" }
|
208
|
+
files.each do |file|
|
209
|
+
file_path = Dir.pwd + "/" + file
|
210
|
+
compile(file_path)
|
211
|
+
end
|
212
|
+
end
|
213
|
+
|
214
|
+
elsif opts[:compile].length == 2
|
215
|
+
|
216
|
+
input = opts[:compile][0]
|
217
|
+
output = opts[:compile][1]
|
218
|
+
|
219
|
+
if input.include? ".nila" and output.include? ".js"
|
220
|
+
|
221
|
+
input_file = input
|
222
|
+
output_file = output
|
223
|
+
input_file_path = input_file
|
224
|
+
output_file_path = output_file
|
225
|
+
compile(input_file_path, output_file_path)
|
226
|
+
|
227
|
+
elsif File.directory?(input)
|
228
|
+
|
229
|
+
input_folder_path = input
|
230
|
+
output_folder_path = output
|
231
|
+
|
232
|
+
if !File.directory?(output_folder_path)
|
233
|
+
FileUtils.mkdir_p(output_folder_path)
|
234
|
+
end
|
235
|
+
|
236
|
+
files = Dir.glob(File.join(input_folder_path, "*"))
|
237
|
+
files = files.reject { |path| !path.include? ".nila" }
|
238
|
+
|
239
|
+
files.each do |file|
|
240
|
+
input_file_path = file
|
241
|
+
output_file_path = output_folder_path + "/" + find_file_name(file, ".nila") + ".js"
|
242
|
+
compile(input_file_path, output_file_path)
|
243
|
+
end
|
244
|
+
|
245
|
+
end
|
246
|
+
|
247
|
+
end
|
248
|
+
|
249
|
+
elsif opts[:help] != nil
|
250
|
+
|
251
|
+
puts "Nilac is the official compiler for the Nila language.This is a basic help\nmessage with pointers to more information.\n\n"
|
252
|
+
puts " Basic Usage:\n\n"
|
253
|
+
puts " nilac -h/--help\n"
|
254
|
+
puts " nilac -v/--version\n"
|
255
|
+
puts " nilac -u/--update => Update Checker\n"
|
256
|
+
puts " nilac [command] [file_options]\n\n"
|
257
|
+
puts " Available Commands:\n\n"
|
258
|
+
puts " nilac -c [nila_file] => Compile Nila File\n\n"
|
259
|
+
puts " nilac -c [nila_file] [output_js_file] => Compile nila_file and saves it as\n output_js_file\n\n"
|
260
|
+
puts " nilac -c [nila_file_folder] => Compiles each .nila file in the nila_folder\n\n"
|
261
|
+
puts " nilac -c [nila_file_folder] [output_js_file_folder] => Compiles each .nila\n file in the nila_folder and saves it in the output_js_file_folder\n\n"
|
262
|
+
puts " nilac -r [nila_file] => Compile and Run nila_file\n\n"
|
263
|
+
puts " Further Information:\n\n"
|
264
|
+
puts " Visit http://adhithyan15.github.io/nila to know more about the project.\n\n"
|
265
|
+
|
266
|
+
elsif opts[:run] != nil
|
267
|
+
|
268
|
+
current_directory = Dir.pwd
|
269
|
+
file = opts[:run][0]
|
270
|
+
commandline_args = opts[:run][1..-1]
|
271
|
+
file_path = current_directory + "/" + file
|
272
|
+
compile(file_path)
|
273
|
+
js_file_name = find_file_path(file_path, ".nila") + find_file_name(file_path, ".nila") + ".js"
|
274
|
+
node_output = `node #{js_file_name} #{commandline_args.join(" ")}`
|
275
|
+
puts node_output
|
276
|
+
|
277
|
+
elsif opts[:release] != nil
|
278
|
+
|
279
|
+
file_path = Dir.pwd + "/src/nilac.rb"
|
280
|
+
create_mac_executable(file_path)
|
281
|
+
FileUtils.mv("#{file_path[0...-3]}", "#{Dir.pwd}/bin/nilac")
|
282
|
+
puts "Your build was successful!\n"
|
283
|
+
commit_message = opts[:release][0]
|
284
|
+
`git commit -am "#{commit_message}"`
|
285
|
+
puts `rake release`
|
286
|
+
|
287
|
+
elsif opts[:update] != nil
|
288
|
+
|
289
|
+
puts "Checking for updates......"
|
290
|
+
outdated_gems = `gem outdated`
|
291
|
+
outdated_gems = outdated_gems.split("\n")
|
292
|
+
outdated = false
|
293
|
+
old_version = ""
|
294
|
+
new_version = ""
|
295
|
+
|
296
|
+
outdated_gems.each do |gem_name|
|
297
|
+
|
298
|
+
if gem_name.include?("nilac")
|
299
|
+
outdated = true
|
300
|
+
old_version = gem_name.split("(")[1].split(")")[0].split("<")[0].lstrip
|
301
|
+
new_version = gem_name.split("(")[1].split(")")[0].split("<")[1].lstrip.rstrip
|
302
|
+
break
|
303
|
+
end
|
304
|
+
|
305
|
+
end
|
306
|
+
|
307
|
+
if outdated
|
308
|
+
exec = `gem update nilac`
|
309
|
+
puts "Your version of Nilac (#{old_version}) was outdated! We have automatically updated you to the latest version (#{new_version})."
|
310
|
+
else
|
311
|
+
puts "Your version of Nilac is up to date!"
|
312
|
+
end
|
313
|
+
|
314
|
+
elsif opts[:version] != nil
|
315
|
+
|
316
|
+
puts nilac_version
|
317
|
+
|
318
|
+
end
|
319
|
+
|
320
|
+
end
|
321
|
+
|
322
|
+
end
|
323
|
+
|
5
324
|
end
|
325
|
+
|
326
|
+
compiler = Nilac::NilaCompiler.new(ARGV)
|
327
|
+
|
328
|
+
compiler.start_compile()
|
data/nilac.gemspec
CHANGED
data/shark/features/loop.feature
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nilac
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.4.3.9.
|
4
|
+
version: 0.0.4.3.9.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adhithya Rajasekaran
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-10-
|
11
|
+
date: 2013-10-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: shark
|
@@ -24,20 +24,6 @@ dependencies:
|
|
24
24
|
- - ~>
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 0.0.0.5.4
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: slop
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - '>='
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
34
|
-
type: :runtime
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - '>='
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '0'
|
41
27
|
description: Nilac is the official compiler of Nila language
|
42
28
|
email:
|
43
29
|
- adhithyan15@gmail.com
|
@@ -52,9 +38,52 @@ files:
|
|
52
38
|
- README.md
|
53
39
|
- Rakefile
|
54
40
|
- bin/nilac
|
41
|
+
- examples/StringMagic.nila
|
42
|
+
- examples/countdown.nila
|
55
43
|
- examples/decBin.js
|
56
44
|
- examples/decBin.nila
|
45
|
+
- examples/marky.js
|
46
|
+
- examples/marky.nila
|
57
47
|
- lib/nilac.rb
|
48
|
+
- lib/nilac/ErrorDeclarations.rb
|
49
|
+
- lib/nilac/add_semicolons.rb
|
50
|
+
- lib/nilac/compile_arrays.rb
|
51
|
+
- lib/nilac/compile_blocks.rb
|
52
|
+
- lib/nilac/compile_case_statement.rb
|
53
|
+
- lib/nilac/compile_classes.rb
|
54
|
+
- lib/nilac/compile_comments.rb
|
55
|
+
- lib/nilac/compile_conditional_structures.rb
|
56
|
+
- lib/nilac/compile_custom_function_map.rb
|
57
|
+
- lib/nilac/compile_default_values.rb
|
58
|
+
- lib/nilac/compile_hashes.rb
|
59
|
+
- lib/nilac/compile_heredocs.rb
|
60
|
+
- lib/nilac/compile_integers.rb
|
61
|
+
- lib/nilac/compile_interpolated_strings.rb
|
62
|
+
- lib/nilac/compile_loops.rb
|
63
|
+
- lib/nilac/compile_named_functions.rb
|
64
|
+
- lib/nilac/compile_operators.rb
|
65
|
+
- lib/nilac/compile_parallel_assignment.rb
|
66
|
+
- lib/nilac/compile_ruby_methods.rb
|
67
|
+
- lib/nilac/compile_special_keywords.rb
|
68
|
+
- lib/nilac/compile_strings.rb
|
69
|
+
- lib/nilac/compile_whitespace_delimited_functions.rb
|
70
|
+
- lib/nilac/create_mac_executable.rb
|
71
|
+
- lib/nilac/extract_parsable_file.rb
|
72
|
+
- lib/nilac/find_all_matching_indices.rb
|
73
|
+
- lib/nilac/find_file_name.rb
|
74
|
+
- lib/nilac/find_file_path.rb
|
75
|
+
- lib/nilac/get_variables.rb
|
76
|
+
- lib/nilac/output_javascript.rb
|
77
|
+
- lib/nilac/parse_arguments.rb
|
78
|
+
- lib/nilac/pretty_print_javascript.rb
|
79
|
+
- lib/nilac/read_file_line_by_line.rb
|
80
|
+
- lib/nilac/remove_question_marks.rb
|
81
|
+
- lib/nilac/replace_multiline_comments.rb
|
82
|
+
- lib/nilac/replace_named_functions.rb
|
83
|
+
- lib/nilac/replace_singleline_comments.rb
|
84
|
+
- lib/nilac/replace_strings.rb
|
85
|
+
- lib/nilac/split_semicolon_seperated_expressions.rb
|
86
|
+
- lib/nilac/strToArray.rb
|
58
87
|
- lib/nilac/version.rb
|
59
88
|
- nilac.gemspec
|
60
89
|
- shark/features/add_auto_return_statement.feature
|
@@ -134,7 +163,6 @@ files:
|
|
134
163
|
- shark/test_files/times.nila
|
135
164
|
- shark/test_files/unless_until.nila
|
136
165
|
- shark/test_files/whitespace_delimiter.nila
|
137
|
-
- src/nilac.rb
|
138
166
|
homepage: http://adhithyan15.github.com/nila
|
139
167
|
licenses: []
|
140
168
|
metadata: {}
|
@@ -154,7 +182,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
154
182
|
version: '0'
|
155
183
|
requirements: []
|
156
184
|
rubyforge_project:
|
157
|
-
rubygems_version: 2.
|
185
|
+
rubygems_version: 2.1.9
|
158
186
|
signing_key:
|
159
187
|
specification_version: 4
|
160
188
|
summary: Nilac compiles Nila files into line for line Javascript.
|