mix-language 1.0.0 → 1.0.1

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.
data/bin/mix-compile CHANGED
@@ -1,26 +1,15 @@
1
1
  #! /usr/bin/env ruby
2
2
  # encoding: UTF-8
3
3
  #
4
- # Copyright © 2011 Jesse Sielaff
4
+ # Copyright © 2011-2012 Jesse Sielaff
5
5
  #
6
6
  require_relative '../lib/ruby/compiler.rb'
7
7
 
8
8
  Encoding.default_external = "UTF-8"
9
9
 
10
- unless name = ARGV[0]
10
+ unless filename = ARGV[0]
11
11
  puts "usage: mix-compile [filename]"
12
12
  exit
13
13
  end
14
14
 
15
- basename = name.match(/(.*?)(\.mix$|$)/)[1]
16
- filename = basename + '.mix'
17
-
18
- unless File.exists?(filename)
19
- puts "no such file #{filename}"
20
- exit
21
- end
22
-
23
- compiler = MixCompiler.new(filename)
24
- js_string = compiler.compile
25
-
26
- File.open(basename + '.js','w') {|f| f.write(js_string) }
15
+ MixCompiler.new.compile(filename)
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright © 2011 Jesse Sielaff
2
+ * Copyright © 2011-2012 Jesse Sielaff
3
3
  */
4
4
 
5
5
  var ARRAY =
@@ -1,7 +1,8 @@
1
1
  /**
2
- * Copyright © 2011 Jesse Sielaff
2
+ * Copyright © 2011-2012 Jesse Sielaff
3
3
  */
4
4
 
5
+ var HTML_TYPES={};
5
6
  var MIXINS = [];
6
7
  var VARIABLES = {};
7
8
  var LINE = 0;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright © 2011 Jesse Sielaff
2
+ * Copyright © 2011-2012 Jesse Sielaff
3
3
  */
4
4
 
5
5
  function evaluate (node)
@@ -102,10 +102,9 @@ function evaluate (node)
102
102
  return FALSE;
103
103
 
104
104
  case function:
105
- var variables = node[1];
106
- var body_statement = node[2];
107
- var parameters = variables[0];
108
- var embedded = variables[1];
105
+ var parameters = node[1];
106
+ var embedded = node[2];
107
+ var body_statement = node[3];
109
108
  var embedded_values = [];
110
109
 
111
110
  for (var name, i = 0, l = embedded.length; i < l; ++i)
@@ -164,9 +163,9 @@ function evaluate (node)
164
163
  }
165
164
 
166
165
  case mix:
167
- var obj = evaluate(node[1]);
168
- var name = SYMBOLS[node[2]];
166
+ var name = SYMBOLS[node[1]];
169
167
  var mixin = (MIXINS[name] = MIXINS[name] || {functions: {}});
168
+ var obj = evaluate(node[2]);
170
169
 
171
170
  copy_functions(obj, mixin);
172
171
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright © 2011 Jesse Sielaff
2
+ * Copyright © 2011-2012 Jesse Sielaff
3
3
  */
4
4
 
5
5
  var FALSE =
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright © 2011 Jesse Sielaff
2
+ * Copyright © 2011-2012 Jesse Sielaff
3
3
  */
4
4
 
5
5
  var FUNCTION =
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright © 2011 Jesse Sielaff
2
+ * Copyright © 2011-2012 Jesse Sielaff
3
3
  */
4
4
 
5
5
  var NULL =
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright © 2011 Jesse Sielaff
2
+ * Copyright © 2011-2012 Jesse Sielaff
3
3
  */
4
4
 
5
5
  var NUMBER =
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright © 2011 Jesse Sielaff
2
+ * Copyright © 2011-2012 Jesse Sielaff
3
3
  */
4
4
 
5
5
  var OBJECT =
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright © 2011 Jesse Sielaff
2
+ * Copyright © 2011-2012 Jesse Sielaff
3
3
  */
4
4
 
5
5
  var STRING =
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright © 2011 Jesse Sielaff
2
+ * Copyright © 2011-2012 Jesse Sielaff
3
3
  */
4
4
 
5
5
  var TRUE =
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright © 2011 Jesse Sielaff
2
+ * Copyright © 2011-2012 Jesse Sielaff
3
3
  */
4
4
 
5
5
  var DIV =
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright © 2011 Jesse Sielaff
2
+ * Copyright © 2011-2012 Jesse Sielaff
3
3
  */
4
4
 
5
5
  function Element_draggable (self, args)
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright © 2011 Jesse Sielaff
2
+ * Copyright © 2011-2012 Jesse Sielaff
3
3
  */
4
4
 
5
5
  var ELEMENT =
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright © 2011 Jesse Sielaff
2
+ * Copyright © 2011-2012 Jesse Sielaff
3
3
  */
4
4
 
5
5
  var EVENT =
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright © 2011 Jesse Sielaff
2
+ * Copyright © 2011-2012 Jesse Sielaff
3
3
  */
4
4
 
5
5
  function Element_click (self, args)
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright © 2011 Jesse Sielaff
2
+ * Copyright © 2011-2012 Jesse Sielaff
3
3
  */
4
4
 
5
5
  var TABLE =
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright © 2011 Jesse Sielaff
2
+ * Copyright © 2011-2012 Jesse Sielaff
3
3
  */
4
4
 
5
5
  var TD =
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright © 2011 Jesse Sielaff
2
+ * Copyright © 2011-2012 Jesse Sielaff
3
3
  */
4
4
 
5
5
  var TEXT =
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright © 2011 Jesse Sielaff
2
+ * Copyright © 2011-2012 Jesse Sielaff
3
3
  */
4
4
 
5
5
  var TR =