nilac 0.0.4.3.9.2 → 0.0.4.3.9.3

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.
Files changed (77) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/bin/nilac +9 -5748
  4. data/examples/StringMagic.nila +23 -0
  5. data/examples/countdown.nila +31 -0
  6. data/examples/decBin.nila +3 -3
  7. data/examples/marky.js +30 -0
  8. data/examples/marky.nila +23 -0
  9. data/lib/nilac/ErrorDeclarations.rb +11 -0
  10. data/lib/nilac/add_semicolons.rb +57 -0
  11. data/lib/nilac/compile_arrays.rb +266 -0
  12. data/lib/nilac/compile_blocks.rb +137 -0
  13. data/lib/nilac/compile_case_statement.rb +168 -0
  14. data/lib/nilac/compile_classes.rb +18 -0
  15. data/lib/nilac/compile_comments.rb +79 -0
  16. data/lib/nilac/compile_conditional_structures.rb +1378 -0
  17. data/lib/nilac/compile_custom_function_map.rb +45 -0
  18. data/lib/nilac/compile_default_values.rb +160 -0
  19. data/lib/nilac/compile_hashes.rb +123 -0
  20. data/lib/nilac/compile_heredocs.rb +62 -0
  21. data/lib/nilac/compile_integers.rb +23 -0
  22. data/lib/nilac/compile_interpolated_strings.rb +133 -0
  23. data/lib/nilac/compile_loops.rb +211 -0
  24. data/lib/nilac/compile_named_functions.rb +690 -0
  25. data/lib/nilac/compile_operators.rb +83 -0
  26. data/lib/nilac/compile_parallel_assignment.rb +103 -0
  27. data/lib/nilac/compile_ruby_methods.rb +58 -0
  28. data/lib/nilac/compile_special_keywords.rb +44 -0
  29. data/lib/nilac/compile_strings.rb +145 -0
  30. data/lib/nilac/compile_whitespace_delimited_functions.rb +97 -0
  31. data/lib/nilac/create_mac_executable.rb +25 -0
  32. data/lib/nilac/extract_parsable_file.rb +23 -0
  33. data/lib/nilac/find_all_matching_indices.rb +18 -0
  34. data/lib/nilac/find_file_name.rb +13 -0
  35. data/lib/nilac/find_file_path.rb +13 -0
  36. data/lib/nilac/get_variables.rb +123 -0
  37. data/lib/nilac/output_javascript.rb +13 -0
  38. data/lib/nilac/parse_arguments.rb +41 -0
  39. data/lib/nilac/pretty_print_javascript.rb +457 -0
  40. data/lib/nilac/read_file_line_by_line.rb +11 -0
  41. data/lib/nilac/remove_question_marks.rb +46 -0
  42. data/lib/nilac/replace_multiline_comments.rb +92 -0
  43. data/lib/nilac/replace_named_functions.rb +154 -0
  44. data/lib/nilac/replace_singleline_comments.rb +45 -0
  45. data/lib/nilac/replace_strings.rb +35 -0
  46. data/lib/nilac/split_semicolon_seperated_expressions.rb +39 -0
  47. data/lib/nilac/strToArray.rb +15 -0
  48. data/lib/nilac/version.rb +1 -1
  49. data/lib/nilac.rb +324 -1
  50. data/nilac.gemspec +0 -1
  51. data/shark/features/add_auto_return_statement.feature +1 -1
  52. data/shark/features/array_and_string_indexing.feature +1 -1
  53. data/shark/features/barebones_compilation.feature +1 -1
  54. data/shark/features/case_when.feature +1 -1
  55. data/shark/features/default_method_parameters.feature +1 -1
  56. data/shark/features/fix_newlines.feature +1 -1
  57. data/shark/features/hashes.feature +1 -1
  58. data/shark/features/heredoc.feature +1 -1
  59. data/shark/features/if_then_else.feature +1 -1
  60. data/shark/features/loop.feature +1 -1
  61. data/shark/features/method_multiple_return.feature +1 -1
  62. data/shark/features/multiline_array.feature +1 -1
  63. data/shark/features/multiple_variable_initialization.feature +1 -1
  64. data/shark/features/numbers.feature +1 -1
  65. data/shark/features/regular_for.feature +1 -1
  66. data/shark/features/regular_if.feature +1 -1
  67. data/shark/features/regular_while.feature +1 -1
  68. data/shark/features/ruby_methods.feature +1 -1
  69. data/shark/features/ruby_operators.feature +1 -1
  70. data/shark/features/splats.feature +1 -1
  71. data/shark/features/string_interpolation.feature +1 -1
  72. data/shark/features/strings.feature +1 -1
  73. data/shark/features/times.feature +1 -1
  74. data/shark/features/unless_until.feature +1 -1
  75. data/shark/features/whitespace_delimitation.feature +1 -1
  76. metadata +46 -18
  77. data/src/nilac.rb +0 -5753
data/lib/nilac.rb CHANGED
@@ -1,5 +1,328 @@
1
- require "nilac/version"
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
@@ -15,5 +15,4 @@ Gem::Specification.new do |gem|
15
15
  gem.require_paths = ["lib"]
16
16
  gem.version = Nilac::VERSION
17
17
  gem.add_dependency("shark","~> 0.0.0.5.4")
18
- gem.add_dependency("slop")
19
18
  end
@@ -14,5 +14,5 @@ in a function. It is a rubyesque feature imported into Nila.
14
14
 
15
15
  Configurations:
16
16
 
17
- ~compiler => src/nilac.rb
17
+ ~compiler => lib/nilac.rb
18
18
  :v $cliusage => ruby :v --compile $file
@@ -7,5 +7,5 @@ Feature: This feature bring Ruby's indexing capabililty to Javascript.
7
7
 
8
8
  Configurations:
9
9
 
10
- ~compiler => src/nilac.rb
10
+ ~compiler => lib/nilac.rb
11
11
  :v $cliusage => ruby :v --compile $file
@@ -7,5 +7,5 @@ Feature: Compiling a single line nila program
7
7
 
8
8
  Configurations:
9
9
 
10
- ~compiler => src/nilac.rb
10
+ ~compiler => lib/nilac.rb
11
11
  :v $cliusage => ruby :v --compile $file
@@ -7,5 +7,5 @@ Feature: This feature bring Ruby's case when structure to Nila
7
7
 
8
8
  Configurations:
9
9
 
10
- ~compiler => src/nilac.rb
10
+ ~compiler => lib/nilac.rb
11
11
  :v $cliusage => ruby :v --compile $file
@@ -8,5 +8,5 @@ feature addresses that issue.
8
8
 
9
9
  Configurations:
10
10
 
11
- ~compiler => src/nilac.rb
11
+ ~compiler => lib/nilac.rb
12
12
  :v $cliusage => ruby :v --compile $file
@@ -9,5 +9,5 @@ which will make it fail in a JSLint test.
9
9
 
10
10
  Configurations:
11
11
 
12
- ~compiler => src/nilac.rb
12
+ ~compiler => lib/nilac.rb
13
13
  :v $cliusage => ruby :v --compile $file
@@ -7,5 +7,5 @@ Feature: This feature brings Ruby style Hashes to Nila
7
7
 
8
8
  Configurations:
9
9
 
10
- ~compiler => src/nilac.rb
10
+ ~compiler => lib/nilac.rb
11
11
  :v $cliusage => ruby :v --compile $file
@@ -7,5 +7,5 @@ Feature: This feature brings heredocs to Nila
7
7
 
8
8
  Configurations:
9
9
 
10
- ~compiler => src/nilac.rb
10
+ ~compiler => lib/nilac.rb
11
11
  :v $cliusage => ruby :v --compile $file
@@ -7,5 +7,5 @@ Feature: This feature brings single line if-then-else statement to Nila
7
7
 
8
8
  Configurations:
9
9
 
10
- ~compiler => src/nilac.rb
10
+ ~compiler => lib/nilac.rb
11
11
  :v $cliusage => ruby :v --compile $file
@@ -7,5 +7,5 @@ Feature: This feature brings loop keyword to Nila
7
7
 
8
8
  Configurations:
9
9
 
10
- ~compiler => src/nilac.rb
10
+ ~compiler => lib/nilac.rb
11
11
  :v $cliusage => ruby :v --compile $file
@@ -13,5 +13,5 @@ Feature: Javascript, by default, doesn't allow for the return of multiple values
13
13
 
14
14
  Configurations:
15
15
 
16
- ~compiler => src/nilac.rb
16
+ ~compiler => lib/nilac.rb
17
17
  :v $cliusage => ruby :v --compile $file
@@ -7,5 +7,5 @@ Feature: This feature brings multiline arrays to Nila
7
7
 
8
8
  Configurations:
9
9
 
10
- ~compiler => src/nilac.rb
10
+ ~compiler => lib/nilac.rb
11
11
  :v $cliusage => ruby :v --compile $file
@@ -8,5 +8,5 @@ Feature: Javascript doesn't allow multiple variable initializations from a metho
8
8
 
9
9
  Configurations:
10
10
 
11
- ~compiler => src/nilac.rb
11
+ ~compiler => lib/nilac.rb
12
12
  :v $cliusage => ruby :v --compile $file
@@ -7,5 +7,5 @@ Feature: This feature brings Ruby's number features to Nila
7
7
 
8
8
  Configurations:
9
9
 
10
- ~compiler => src/nilac.rb
10
+ ~compiler => lib/nilac.rb
11
11
  :v $cliusage => ruby :v --compile $file
@@ -7,5 +7,5 @@ Feature: Compiling for loops in a nila program
7
7
 
8
8
  Configurations:
9
9
 
10
- ~compiler => src/nilac.rb
10
+ ~compiler => lib/nilac.rb
11
11
  :v $cliusage => ruby :v --compile $file
@@ -7,5 +7,5 @@ Feature: This feature bring Ruby's if statement to Nila.
7
7
 
8
8
  Configurations:
9
9
 
10
- ~compiler => src/nilac.rb
10
+ ~compiler => lib/nilac.rb
11
11
  :v $cliusage => ruby :v --compile $file
@@ -7,5 +7,5 @@ Feature: This feature bring Ruby's while statement to Nila.
7
7
 
8
8
  Configurations:
9
9
 
10
- ~compiler => src/nilac.rb
10
+ ~compiler => lib/nilac.rb
11
11
  :v $cliusage => ruby :v --compile $file
@@ -7,5 +7,5 @@ Feature: This feature brings Ruby's native String and Array methods to Nila.
7
7
 
8
8
  Configurations:
9
9
 
10
- ~compiler => src/nilac.rb
10
+ ~compiler => lib/nilac.rb
11
11
  :v $cliusage => ruby :v --compile $file
@@ -7,5 +7,5 @@ Feature: This feature bring Ruby style operators to Nila
7
7
 
8
8
  Configurations:
9
9
 
10
- ~compiler => src/nilac.rb
10
+ ~compiler => lib/nilac.rb
11
11
  :v $cliusage => ruby :v --compile $file
@@ -7,5 +7,5 @@ Feature: This feature brings powerful Splat arguments for Methods/Functions
7
7
 
8
8
  Configurations:
9
9
 
10
- ~compiler => src/nilac.rb
10
+ ~compiler => lib/nilac.rb
11
11
  :v $cliusage => ruby :v --compile $file
@@ -7,5 +7,5 @@ Feature: This feature bring Ruby style string interpolation to Nila
7
7
 
8
8
  Configurations:
9
9
 
10
- ~compiler => src/nilac.rb
10
+ ~compiler => lib/nilac.rb
11
11
  :v $cliusage => ruby :v --compile $file
@@ -7,5 +7,5 @@ Feature: This feature bring Ruby's string features to Nila
7
7
 
8
8
  Configurations:
9
9
 
10
- ~compiler => src/nilac.rb
10
+ ~compiler => lib/nilac.rb
11
11
  :v $cliusage => ruby :v --compile $file
@@ -7,5 +7,5 @@ Feature: This feature brings Ruby's .times method to Nila
7
7
 
8
8
  Configurations:
9
9
 
10
- ~compiler => src/nilac.rb
10
+ ~compiler => lib/nilac.rb
11
11
  :v $cliusage => ruby :v --compile $file
@@ -7,5 +7,5 @@ Feature: This feature bring Ruby's unless and until statements to Nila.
7
7
 
8
8
  Configurations:
9
9
 
10
- ~compiler => src/nilac.rb
10
+ ~compiler => lib/nilac.rb
11
11
  :v $cliusage => ruby :v --compile $file
@@ -7,5 +7,5 @@ Feature: This feature brings whitespace delimitation features to Nila
7
7
 
8
8
  Configurations:
9
9
 
10
- ~compiler => src/nilac.rb
10
+ ~compiler => lib/nilac.rb
11
11
  :v $cliusage => ruby :v --compile $file
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.2
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-12 00:00:00.000000000 Z
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.0.6
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.