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.
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.