mix-language 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
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 =