Browse Source

First documentation version

Marco Bambini 8 years ago
parent
commit
1f9ddc1c5c
100 changed files with 10561 additions and 1 deletions
  1. 66 0
      docs/To Do.rtf
  2. 153 0
      docs/api.html
  3. 248 0
      docs/classes.html
  4. 119 0
      docs/closures.html
  5. 107 0
      docs/contributing.html
  6. 137 0
      docs/control-flow.html
  7. 140 0
      docs/enum.html
  8. 130 0
      docs/fibers.html
  9. 200 0
      docs/functions.html
  10. 107 0
      docs/getting-started.html
  11. 110 0
      docs/index.html
  12. 0 1
      docs/index.md
  13. 136 0
      docs/internals/1_changelog.html
  14. 175 0
      docs/internals/1_files.html
  15. 132 0
      docs/internals/2_array.html
  16. 132 0
      docs/internals/2_class.html
  17. 132 0
      docs/internals/2_hash.html
  18. 132 0
      docs/internals/2_json.html
  19. 132 0
      docs/internals/2_memory.html
  20. 132 0
      docs/internals/2_overview.html
  21. 132 0
      docs/internals/2_utils.html
  22. 132 0
      docs/internals/2_visitor.html
  23. 132 0
      docs/internals/2_vm.html
  24. 132 0
      docs/internals/3_ast.html
  25. 132 0
      docs/internals/3_bytecode.html
  26. 132 0
      docs/internals/3_codegen.html
  27. 132 0
      docs/internals/3_grammar.html
  28. 132 0
      docs/internals/3_ircode.html
  29. 132 0
      docs/internals/3_lexer.html
  30. 132 0
      docs/internals/3_opcodes.html
  31. 132 0
      docs/internals/3_optimizer.html
  32. 132 0
      docs/internals/3_overview.html
  33. 132 0
      docs/internals/3_parser.html
  34. 132 0
      docs/internals/3_prattparser.html
  35. 132 0
      docs/internals/3_semantic.html
  36. 132 0
      docs/internals/3_symboltable.html
  37. 132 0
      docs/internals/4_base.html
  38. 132 0
      docs/internals/4_gc.html
  39. 132 0
      docs/internals/4_memory.html
  40. 132 0
      docs/internals/4_objmodel.html
  41. 132 0
      docs/internals/4_overview.html
  42. 132 0
      docs/internals/4_performance.html
  43. 132 0
      docs/internals/4_vm.html
  44. 132 0
      docs/internals/5_jit.html
  45. 132 0
      docs/internals/5_overview.html
  46. 144 0
      docs/internals/index.html
  47. 150 0
      docs/lists.html
  48. 199 0
      docs/loops.html
  49. 150 0
      docs/maps.html
  50. 222 0
      docs/operators.html
  51. 1 0
      docs/scripts/highlight/highlight.min.js
  52. 108 0
      docs/scripts/highlight/styles/agate.css
  53. 66 0
      docs/scripts/highlight/styles/androidstudio.css
  54. 88 0
      docs/scripts/highlight/styles/arduino-light.css
  55. 73 0
      docs/scripts/highlight/styles/arta.css
  56. 45 0
      docs/scripts/highlight/styles/ascetic.css
  57. 83 0
      docs/scripts/highlight/styles/atelier-cave-dark.css
  58. 85 0
      docs/scripts/highlight/styles/atelier-cave-light.css
  59. 69 0
      docs/scripts/highlight/styles/atelier-dune-dark.css
  60. 69 0
      docs/scripts/highlight/styles/atelier-dune-light.css
  61. 84 0
      docs/scripts/highlight/styles/atelier-estuary-dark.css
  62. 84 0
      docs/scripts/highlight/styles/atelier-estuary-light.css
  63. 69 0
      docs/scripts/highlight/styles/atelier-forest-dark.css
  64. 69 0
      docs/scripts/highlight/styles/atelier-forest-light.css
  65. 69 0
      docs/scripts/highlight/styles/atelier-heath-dark.css
  66. 69 0
      docs/scripts/highlight/styles/atelier-heath-light.css
  67. 69 0
      docs/scripts/highlight/styles/atelier-lakeside-dark.css
  68. 69 0
      docs/scripts/highlight/styles/atelier-lakeside-light.css
  69. 84 0
      docs/scripts/highlight/styles/atelier-plateau-dark.css
  70. 84 0
      docs/scripts/highlight/styles/atelier-plateau-light.css
  71. 84 0
      docs/scripts/highlight/styles/atelier-savanna-dark.css
  72. 84 0
      docs/scripts/highlight/styles/atelier-savanna-light.css
  73. 69 0
      docs/scripts/highlight/styles/atelier-seaside-dark.css
  74. 69 0
      docs/scripts/highlight/styles/atelier-seaside-light.css
  75. 69 0
      docs/scripts/highlight/styles/atelier-sulphurpool-dark.css
  76. 69 0
      docs/scripts/highlight/styles/atelier-sulphurpool-light.css
  77. 96 0
      docs/scripts/highlight/styles/atom-one-dark.css
  78. 96 0
      docs/scripts/highlight/styles/atom-one-light.css
  79. 64 0
      docs/scripts/highlight/styles/brown-paper.css
  80. BIN
      docs/scripts/highlight/styles/brown-papersq.png
  81. 60 0
      docs/scripts/highlight/styles/codepen-embed.css
  82. 71 0
      docs/scripts/highlight/styles/color-brewer.css
  83. 77 0
      docs/scripts/highlight/styles/darcula.css
  84. 63 0
      docs/scripts/highlight/styles/dark.css
  85. 6 0
      docs/scripts/highlight/styles/darkula.css
  86. 99 0
      docs/scripts/highlight/styles/default.css
  87. 97 0
      docs/scripts/highlight/styles/docco.css
  88. 76 0
      docs/scripts/highlight/styles/dracula.css
  89. 71 0
      docs/scripts/highlight/styles/far.css
  90. 88 0
      docs/scripts/highlight/styles/foundation.css
  91. 71 0
      docs/scripts/highlight/styles/github-gist.css
  92. 99 0
      docs/scripts/highlight/styles/github.css
  93. 89 0
      docs/scripts/highlight/styles/googlecode.css
  94. 101 0
      docs/scripts/highlight/styles/grayscale.css
  95. 108 0
      docs/scripts/highlight/styles/gruvbox-dark.css
  96. 108 0
      docs/scripts/highlight/styles/gruvbox-light.css
  97. 83 0
      docs/scripts/highlight/styles/hopscotch.css
  98. 102 0
      docs/scripts/highlight/styles/hybrid.css
  99. 97 0
      docs/scripts/highlight/styles/idea.css
  100. 73 0
      docs/scripts/highlight/styles/ir-black.css

+ 66 - 0
docs/To Do.rtf

@@ -0,0 +1,66 @@
+{\rtf1\ansi\ansicpg1252\cocoartf1504\cocoasubrtf810
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
+\paperw11900\paperh16840\margl1440\margr1440\vieww11400\viewh10100\viewkind0
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\partightenfactor0
+
+\f0\b\fs24 \cf0 index.html
+\b0 \
+
+\b getting-started.html
+\b0 \
+\
+
+\b syntax.html
+\b0 \
+
+\b operators.html
+\b0 \
+
+\b types.html
+\b0 \
+
+\b lists.html
+\b0 \
+
+\b maps.html
+\b0 \
+
+\b enum.html
+\b0 \
+
+\b functions.html
+\b0 \
+
+\b closures.html
+\b0 \
+
+\b classes.html
+\b0 \
+
+\b control-flow.html
+\b0 \
+
+\b loops.html
+\b0 \
+
+\b fibers.html
+\b0 \
+\
+
+\b api.html\
+system.html\
+unit-test.html\
+contributing.html
+\b0 \
+\
+TO DO\
+	getting started\
+	fiber (CRASH)\
+	switch\
+	access specifiers\
+	more on closures\
+	ternary/unary operators\
+\
+	null can be compiled to fail without producing an error}

+ 153 - 0
docs/api.html

@@ -0,0 +1,153 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity: API</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="stylesheets/styles.css">
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li class="active"><a href="index.html">Gravity</a></li>
+				<li><a href="internals/index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>INTRODUCTION</h4>
+				<ul>
+					<li><a href="index.html"><span>Introduction</span></a></li>
+					<li><a href="getting-started.html"><span>Getting Started</span></a></li>
+				</ul>
+				<h4>LANGUAGE GUIDE</h4>
+				<ul>
+					<li><a href="syntax.html"><span>Syntax</span></a></li>
+					<li><a href="operators.html"><span>Operators</span></a></li>
+					<li><a href="types.html"><span>Types</span></a></li>
+					<li><a href="lists.html"><span>Lists</span></a></li>
+					<li><a href="maps.html"><span>Maps</span></a></li>
+					<li><a href="enum.html"><span>Enum</span></a></li>
+					<li><a href="functions.html"><span>Functions</span></a></li>
+					<li><a href="closures.html"><span>Closures</span></a></li>
+					<li><a href="classes.html"><span>Classes</span></a></li>
+					<li><a href="control-flow.html"><span>Control Flow</span></a></li>
+					<li><a href="loops.html"><span>Loops</span></a></li>
+					<li><a href="fibers.html"><span>Fibers</span></a></li>
+				</ul>
+				<h4>ADVANCED</h4>
+				<ul>
+					<li><a href="api.html" class="active"><span>Embedding API</span></a></li>
+					<li><a href="system.html"><span>System class</span></a></li>
+					<li><a href="unit-test.html"><span>Unit test</span></a></li>
+					<li><a href="contributing.html"><span>Contributing</span></a></li>
+				</ul>
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+			
+			<!-- BEGIN CONTENT -->
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">API</h1><hr>
+         				
+			<p class="section-content">
+				Gravity can be extended at runtime using C API. The right step to proceed is usually to create a new class, then add methods and proporties to it and finally register that class inside the VM.
+			</p>
+			<pre><code class="cpp">
+	// report error callback function
+	void report_error (error_type_t error_type, const char *message,
+	                   error_desc_t error_desc, void *xdata) {
+		printf("%s\n", message);
+		exit(0);
+	}
+	
+	// function to be execute inside Gravity VM		
+	bool my_function (gravity_vm *vm, gravity_value_t *args,
+	                  uint16_t nargs, uint32_t rindex) {
+		// do something useful here
+	}
+	
+	// Configure VM delegate		
+	gravity_delegate_t delegate = {.error_callback = report_error};
+	
+	// Create a new VM
+	gravity_vm *vm = gravity_vm_new(&delegate);
+	
+	// Create a new class
+	gravity_class_t *c = gravity_class_new_pair (vm, "MyClass", NULL, 0, 0);
+	
+	// Allocate and bind closures to the newly created class
+	gravity_closure_t *closure = gravity_closure_new(vm, my_function);
+	gravity_class_bind(c, "myfunc", VALUE_FROM_CLOSURE(closure));
+	
+	// Register class inside VM
+	gravity_vm_setvalue(vm, "MyClass", VALUE_FROM_OBJECT(c));
+			</code></pre>
+			
+			<p>Using the above C code a "MyClass" class has been registered inside the VM and ready to be used by Gravity:</p>
+			<pre><code class="swift">		
+	func main() {
+		// allocate a new class
+		var foo = MyClass();
+		
+		// execute the my_function C function
+		foo.myfunc();
+	}
+			</code></pre>
+			
+			<h4 class="section-h4">Bridge API</h4>
+			<p>Gravity C API offers much more flexibility using the delegate bridge API.
+			<br>TO DO: more information here.</p>
+         	</div>
+         	<!-- END CONTENT -->
+         	
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

+ 248 - 0
docs/classes.html

@@ -0,0 +1,248 @@
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity: Classes</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="stylesheets/styles.css">
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li class="active"><a href="index.html">Gravity</a></li>
+				<li><a href="internals/index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>INTRODUCTION</h4>
+				<ul>
+					<li><a href="index.html"><span>Introduction</span></a></li>
+					<li><a href="getting-started.html"><span>Getting Started</span></a></li>
+				</ul>
+				<h4>LANGUAGE GUIDE</h4>
+				<ul>
+					<li><a href="syntax.html"><span>Syntax</span></a></li>
+					<li><a href="operators.html"><span>Operators</span></a></li>
+					<li><a href="types.html"><span>Types</span></a></li>
+					<li><a href="lists.html"><span>Lists</span></a></li>
+					<li><a href="maps.html"><span>Maps</span></a></li>
+					<li><a href="enum.html"><span>Enum</span></a></li>
+					<li><a href="functions.html"><span>Functions</span></a></li>
+					<li><a href="closures.html"><span>Closures</span></a></li>
+					<li><a href="classes.html" class="active"><span>Classes</span></a></li>
+					<li><a href="control-flow.html"><span>Control Flow</span></a></li>
+					<li><a href="loops.html"><span>Loops</span></a></li>
+					<li><a href="fibers.html"><span>Fibers</span></a></li>
+				</ul>
+				<h4>ADVANCED</h4>
+				<ul>
+					<li><a href="api.html"><span>Embedding API</span></a></li>
+					<li><a href="system.html"><span>System class</span></a></li>
+					<li><a href="unit-test.html"><span>Unit test</span></a></li>
+					<li><a href="contributing.html"><span>Contributing</span></a></li>
+				</ul>
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">Class</h1><hr>
+			
+			<p class="section-content">
+			Every value in Gravity is an object, and every object is an instance of a class. Classes define an objects behavior and state. Behavior is defined by methods which live in the class. Every object of the same class supports the same methods. State is defined in fields, whose values are stored in each instance.<br><br>Like <a href="functions.html">functions</a> a <strong>Class is a first class object</strong>, that means that it can be stored in local variables (even in <a href="list.html">Lists</a> or <a href="map.html">Maps</a>), passed as a function parameter or returned by a function. Gravity supports <strong>nested classes</strong> and <strong>single inheritance</strong>.
+			</p>
+			
+			<h4 class="section-h4">Defining a class</h4>
+			<p>Like most programming languages the class keyword is used to declare a new class:</p>
+			<pre><code class="swift">
+	class Italy {
+	}
+			</code></pre>
+			
+			<h4 class="section-h4">Instantiate a class</h4>
+			<p>A class in gravity can be instantiated simply executing it (without the new keyword):</p>
+			<pre><code class="swift">
+	var instance = Italy();
+			</code></pre>
+			
+			<h4 class="section-h4">Methods</h4>
+			<p>Functions declared inside a class are called methods and are used to add behaviors to objects that belongs to a specific class:</p>
+			<pre><code class="swift">
+	class Italy {
+		func print() {
+			System.print("Hello from Italy");
+		}
+	}
+			</code></pre>
+			
+			<h4 class="section-h4">Properties</h4>
+			<p>Variables declared inside a class are called properties and are used to add states to objects that belongs to a specific class:</p>
+			<pre><code class="swift">
+	class Italy {
+		var population = 60656000;
+		var area = 301340; // in km2
+				
+		func density() {
+			return population/area;
+		}
+	}
+			
+	func main() {
+		var it = Italy();
+		return it.density();	// returns 201.287582
+	}
+			</code></pre>
+			
+			<h4 class="section-h4">Class methods and properties</h4>
+			<p>A class method (or property) is a method (or property) that operates on class objects rather than instances of the class. In Gravity you can specify a class method (or property) using the static keyword:</p>
+			<pre><code class="swift">
+	class Italy {
+		static var population = 60656000;
+		static var area = 301340; // in km2
+				
+		static func density() {
+			return population/area;
+		}
+	}
+			
+	func main() {
+		return Italy.density();
+	}
+			
+			</code></pre>
+			
+			<h4 class="section-h4">Getters and Setters:</h4>
+			<p>As a convenient way to execute some code when a property is read or written, Gravity fully support custom getters and setters:</p>
+			<pre><code class="swift">
+	class foo {
+		private var _a = 12;
+		var a {
+			set {_a = value * 100;} // value is default parameter name
+			get {return _a/2;}
+		};
+		var b {
+			// in this case b is a write-only property
+			set (newb) {_a = newb * 50;}	// parameter name can be specified
+		};
+	}
+			
+	func main() {
+		var f = foo();
+		f.a = 14;		// 14*100 = 1400
+		return f.a;		// 1400/2 = 700
+	}
+			</code></pre>
+			
+			<h4 class="section-h4">Adding methods at runtime:</h4>
+			<p>Sometimes you need to add methods at runtime to a particular instance, this is far more efficient than subclassing and in many cases it could be a decision than can be applied only at runtime. Gravity provides a convenient <strong>bind</strong> method specifically developed to manage this feature:</p>
+			<pre><code class="swift">
+	class foo {
+		func f1() {System.print("Hello from f1");}
+	}
+	
+	func main() {
+		var obj = foo();
+		obj.f1();	// Output: Hello from f1
+		
+		// add a new f2 method to obj instance
+		obj.bind("f2", {System.print("Hello from f2");});
+		obj.f2();	// Output: Hello from f2
+		
+		// replace f1 method
+		obj.bind("f1", {System.print("Hello from f1 new");});
+		obj.f1();	// Output: Hello from f1 new
+		
+		// with unbind you can remove an existing method
+		obj.unbind("f2");
+		obj.f2();	// RUNTIME ERROR: Unable to find f2
+	}
+
+			</code></pre>
+			
+			<h4 class="section-h4">Nested classes:</h4>
+			<p>There are many cases where nested classes can lead to more readable and maintainable code, for example as a way of logically grouping classes that are only used in one place:</p>
+			<pre><code class="swift">
+	class Database {
+		public var query;
+	
+		class RecordSet {
+			public var sql;
+		
+			public func run() {
+				if (!sql) return 0;
+				System.print(sql);
+				return sql.length();
+			}
+		
+			func init() {
+				System.print("RecordSet init called");
+			}
+		}
+	
+		func init() {
+			System.print("Database init called");
+			query = RecordSet();
+		}
+	}
+
+	func main() {
+		var db = Database();
+		db.query.sql = "Hello World from Gravity!";
+		return db.query.run();
+	}
+			</code></pre>
+			
+			<h4 class="section-h4">Access specifiers</h4>
+			<p>The public and private keywords can be used to restrict access to specific part of code.</p>
+			
+         	</div>
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

+ 119 - 0
docs/closures.html

@@ -0,0 +1,119 @@
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity: Closures</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="stylesheets/styles.css">
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li class="active"><a href="index.html">Gravity</a></li>
+				<li><a href="internals/index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>INTRODUCTION</h4>
+				<ul>
+					<li><a href="index.html"><span>Introduction</span></a></li>
+					<li><a href="getting-started.html"><span>Getting Started</span></a></li>
+				</ul>
+				<h4>LANGUAGE GUIDE</h4>
+				<ul>
+					<li><a href="syntax.html"><span>Syntax</span></a></li>
+					<li><a href="operators.html"><span>Operators</span></a></li>
+					<li><a href="types.html"><span>Types</span></a></li>
+					<li><a href="lists.html"><span>Lists</span></a></li>
+					<li><a href="maps.html"><span>Maps</span></a></li>
+					<li><a href="enum.html"><span>Enum</span></a></li>
+					<li><a href="functions.html"><span>Functions</span></a></li>
+					<li><a href="closures.html" class="active"><span>Closures</span></a></li>
+					<li><a href="classes.html"><span>Classes</span></a></li>
+					<li><a href="control-flow.html"><span>Control Flow</span></a></li>
+					<li><a href="loops.html"><span>Loops</span></a></li>
+					<li><a href="fibers.html"><span>Fibers</span></a></li>
+				</ul>
+				<h4>ADVANCED</h4>
+				<ul>
+					<li><a href="api.html"><span>Embedding API</span></a></li>
+					<li><a href="system.html"><span>System class</span></a></li>
+					<li><a href="unit-test.html"><span>Unit test</span></a></li>
+					<li><a href="contributing.html"><span>Contributing</span></a></li>
+				</ul>
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">Closure</h1><hr>
+			
+			<p class="section-content">
+			Closures are self-contained blocks of functionality that can be passed around and used in your code. Closures can capture and store references to any constants and variables from the context in which they are defined. Closures can be nested and can be anonymous (without a name):
+			</p>
+			<pre><code class="swift">
+	func f1(a) {
+		return func(b) {
+			return a + b;
+		}
+	}
+
+	func main() {
+		var addTen = f1(10);
+		return addTen(20);	// result is 30
+	}
+			</code></pre>
+			
+			<p>TO DO: more examples and explanations</p>
+			
+         	</div>
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

+ 107 - 0
docs/contributing.html

@@ -0,0 +1,107 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity: Contributing</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="stylesheets/styles.css">
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li class="active"><a href="index.html">Gravity</a></li>
+				<li><a href="internals/index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>INTRODUCTION</h4>
+				<ul>
+					<li><a href="index.html"><span>Introduction</span></a></li>
+					<li><a href="getting-started.html"><span>Getting Started</span></a></li>
+				</ul>
+				<h4>LANGUAGE GUIDE</h4>
+				<ul>
+					<li><a href="syntax.html"><span>Syntax</span></a></li>
+					<li><a href="operators.html"><span>Operators</span></a></li>
+					<li><a href="types.html"><span>Types</span></a></li>
+					<li><a href="lists.html"><span>Lists</span></a></li>
+					<li><a href="maps.html"><span>Maps</span></a></li>
+					<li><a href="enum.html"><span>Enum</span></a></li>
+					<li><a href="functions.html"><span>Functions</span></a></li>
+					<li><a href="closures.html"><span>Closures</span></a></li>
+					<li><a href="classes.html"><span>Classes</span></a></li>
+					<li><a href="control-flow.html"><span>Control Flow</span></a></li>
+					<li><a href="loops.html"><span>Loops</span></a></li>
+					<li><a href="fibers.html"><span>Fibers</span></a></li>
+				</ul>
+				<h4>ADVANCED</h4>
+				<ul>
+					<li><a href="api.html"><span>Embedding API</span></a></li>
+					<li><a href="system.html"><span>System class</span></a></li>
+					<li><a href="unit-test.html"><span>Unit test</span></a></li>
+					<li><a href="contributing.html" class="active"><span>Contributing</span></a></li>
+				</ul>
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+			
+			<!-- BEGIN CONTENT -->
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">Contributing</h1><hr>
+         				
+			<p class="section-content">
+				Contributions to Gravity are welcomed and encouraged! </p>
+         	</div>
+         	<!-- END CONTENT -->
+         	
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

+ 137 - 0
docs/control-flow.html

@@ -0,0 +1,137 @@
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity: Control flow</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="stylesheets/styles.css">
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li class="active"><a href="index.html">Gravity</a></li>
+				<li><a href="internals/index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>INTRODUCTION</h4>
+				<ul>
+					<li><a href="index.html"><span>Introduction</span></a></li>
+					<li><a href="getting-started.html"><span>Getting Started</span></a></li>
+				</ul>
+				<h4>LANGUAGE GUIDE</h4>
+				<ul>
+					<li><a href="syntax.html"><span>Syntax</span></a></li>
+					<li><a href="operators.html"><span>Operators</span></a></li>
+					<li><a href="types.html"><span>Types</span></a></li>
+					<li><a href="lists.html"><span>Lists</span></a></li>
+					<li><a href="maps.html"><span>Maps</span></a></li>
+					<li><a href="enum.html"><span>Enum</span></a></li>
+					<li><a href="functions.html"><span>Functions</span></a></li>
+					<li><a href="closures.html"><span>Closures</span></a></li>
+					<li><a href="classes.html"><span>Classes</span></a></li>
+					<li><a href="control-flow.html" class="active"><span>Control Flow</span></a></li>
+					<li><a href="loops.html"><span>Loops</span></a></li>
+					<li><a href="fibers.html"><span>Fibers</span></a></li>
+				</ul>
+				<h4>ADVANCED</h4>
+				<ul>
+					<li><a href="api.html"><span>Embedding API</span></a></li>
+					<li><a href="system.html"><span>System class</span></a></li>
+					<li><a href="unit-test.html"><span>Unit test</span></a></li>
+					<li><a href="contributing.html"><span>Contributing</span></a></li>
+				</ul>
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">Control flow</h1><hr>
+			
+			<p class="section-content">
+			Gravity provides a variety of control flow statements. Control flow is used to determine which chunks of code are executed and how many times. Branching statements and expressions decide whether or not to execute some code and looping ones execute something more than once.
+			</p>
+			
+			<h4 class="section-h4">If statement</h4>
+			<p>It is often useful to execute different pieces of code based on certain conditions. You might want to run an extra piece of code when an error occurs, or to display a message when a value becomes too high or too low. To do this, you make parts of your code conditional. In its simplest form, the if statement has a single if condition. It executes a set of statements only if that condition is true:</p>
+			<pre><code class="swift">
+			var counter = 30;
+			if (counter <= 10) {
+				// do something here
+			}
+			</code></pre>
+			<p>The if statement can provide an alternative set of statements, known as an else clause, for situations when the if condition is false. These statements are indicated by the else keyword:</p>
+			<pre><code class="swift">
+			var counter = 30;
+			if (counter <= 10) {
+				// do something here
+			} else {
+				// do something else here
+			}
+			</code></pre>
+			<p>More complex if statement:</p>
+			<pre><code class="swift">
+			var counter = 30;
+			if (counter <= 10) {
+				// do something here
+			} else if (counter <= 20) {
+				// do something else here
+			} else {
+				// do something else here
+			}
+			</code></pre>
+			<h4 class="section-h4">Switch statement</h4>
+			<p>TO DO</p>
+			<pre><code class="swift">
+			</code></pre>
+         	</div>
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

+ 140 - 0
docs/enum.html

@@ -0,0 +1,140 @@
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity: Enum</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="stylesheets/styles.css">
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li class="active"><a href="index.html">Gravity</a></li>
+				<li><a href="internals/index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>INTRODUCTION</h4>
+				<ul>
+					<li><a href="index.html"><span>Introduction</span></a></li>
+					<li><a href="getting-started.html"><span>Getting Started</span></a></li>
+				</ul>
+				<h4>LANGUAGE GUIDE</h4>
+				<ul>
+					<li><a href="syntax.html"><span>Syntax</span></a></li>
+					<li><a href="operators.html"><span>Operators</span></a></li>
+					<li><a href="types.html"><span>Types</span></a></li>
+					<li><a href="lists.html"><span>Lists</span></a></li>
+					<li><a href="maps.html"><span>Maps</span></a></li>
+					<li><a href="enum.html" class="active"><span>Enum</span></a></li>
+					<li><a href="functions.html"><span>Functions</span></a></li>
+					<li><a href="closures.html"><span>Closures</span></a></li>
+					<li><a href="classes.html"><span>Classes</span></a></li>
+					<li><a href="control-flow.html"><span>Control Flow</span></a></li>
+					<li><a href="loops.html"><span>Loops</span></a></li>
+					<li><a href="fibers.html"><span>Fibers</span></a></li>
+				</ul>
+				<h4>ADVANCED</h4>
+				<ul>
+					<li><a href="api.html"><span>Embedding API</span></a></li>
+					<li><a href="system.html"><span>System class</span></a></li>
+					<li><a href="unit-test.html"><span>Unit test</span></a></li>
+					<li><a href="contributing.html"><span>Contributing</span></a></li>
+				</ul>
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">Enum</h1><hr>
+			
+			<p class="section-content">
+			Enums defines a common type for a group of related values, if you are familiar with C, you will know that C enumerations assign related names to a set of integer values, enum in Gravity are much more flexible and enables you to assign even non integer values: 
+			</p>
+			<pre><code class="swift">
+	enum state {
+		nothing,		// default to 0
+		active,			// default to 1
+		inactive,		// default to 2
+		undetermined = 666,
+		error			// 667
+	};
+	
+	enum math {
+		pi = 3.141592,
+		e = 2.718281,
+		goldratio = 1.618033
+	};
+	
+	enum company {
+		ceo = "Gauss",
+		cto = "Eurel",
+		cfo = "Nostradamus"
+	}
+	
+	enum mixed {
+		one = "Hello World",
+		two = 3.1415,
+		three = 666,
+		four = true
+	}
+	
+	func main() {
+		var a = state.active;	// a = 1
+		var b = math.pi;	// b = 3.1415
+		var c = company.ceo;	// c = "Gauss"
+		var d = mixed.four;	// d = true 
+	}
+			</code></pre>
+			<p>Enum is a static operator, it means that at compile time the real value of the enum item is automatically replaced by Gravity.</p>
+         	</div>
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

+ 130 - 0
docs/fibers.html

@@ -0,0 +1,130 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity: Fibers</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="stylesheets/styles.css">
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li class="active"><a href="index.html">Gravity</a></li>
+				<li><a href="internals/index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>INTRODUCTION</h4>
+				<ul>
+					<li><a href="index.html"><span>Introduction</span></a></li>
+					<li><a href="getting-started.html"><span>Getting Started</span></a></li>
+				</ul>
+				<h4>LANGUAGE GUIDE</h4>
+				<ul>
+					<li><a href="syntax.html"><span>Syntax</span></a></li>
+					<li><a href="operators.html"><span>Operators</span></a></li>
+					<li><a href="types.html"><span>Types</span></a></li>
+					<li><a href="lists.html"><span>Lists</span></a></li>
+					<li><a href="maps.html"><span>Maps</span></a></li>
+					<li><a href="enum.html"><span>Enum</span></a></li>
+					<li><a href="functions.html"><span>Functions</span></a></li>
+					<li><a href="closures.html"><span>Closures</span></a></li>
+					<li><a href="classes.html"><span>Classes</span></a></li>
+					<li><a href="control-flow.html"><span>Control Flow</span></a></li>
+					<li><a href="loops.html"><span>Loops</span></a></li>
+					<li><a href="fibers.html" class="active"><span>Fibers</span></a></li>
+				</ul>
+				<h4>ADVANCED</h4>
+				<ul>
+					<li><a href="api.html"><span>Embedding API</span></a></li>
+					<li><a href="system.html"><span>System class</span></a></li>
+					<li><a href="unit-test.html"><span>Unit test</span></a></li>
+					<li><a href="contributing.html"><span>Contributing</span></a></li>
+				</ul>
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+			
+			<!-- BEGIN CONTENT -->
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">Fiber</h1><hr>
+         				
+			<p class="section-content">
+			A Fibers (or coroutine as called in other languages) are special functions that can be interrupted at any time by the user. When a conventional function is invoked, execution begins at the start, and once a function exits, it is finished. By contrast, Fibers can exit by calling other Fibers, which may later return to the point where they were invoked in the original coroutine:
+			</p>
+			<pre><code class="swift">
+	func main() {
+		var fiber = Fiber.create({
+			System.print("fiber 1");
+			Fiber.yield()
+			System.print("fiber 2");
+		});
+	
+		System.print("main 1");
+		fiber()
+		System.print("main 2");
+		fiber()
+		System.print("main 3");
+	}
+	// Output:
+	// main 1
+	// fiber 1
+	// main 2
+	// fiber 2
+	// main 3
+			</code></pre>
+			<p>TO DO: more explanations and examples</p>
+         	</div>
+         	<!-- END CONTENT -->
+         	
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

+ 200 - 0
docs/functions.html

@@ -0,0 +1,200 @@
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity: Functions</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="stylesheets/styles.css">
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li class="active"><a href="index.html">Gravity</a></li>
+				<li><a href="internals/index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>INTRODUCTION</h4>
+				<ul>
+					<li><a href="index.html"><span>Introduction</span></a></li>
+					<li><a href="getting-started.html"><span>Getting Started</span></a></li>
+				</ul>
+				<h4>LANGUAGE GUIDE</h4>
+				<ul>
+					<li><a href="syntax.html"><span>Syntax</span></a></li>
+					<li><a href="operators.html"><span>Operators</span></a></li>
+					<li><a href="types.html"><span>Types</span></a></li>
+					<li><a href="lists.html"><span>Lists</span></a></li>
+					<li><a href="maps.html"><span>Maps</span></a></li>
+					<li><a href="enum.html"><span>Enum</span></a></li>
+					<li><a href="functions.html" class="active"><span>Functions</span></a></li>
+					<li><a href="closures.html"><span>Closures</span></a></li>
+					<li><a href="classes.html"><span>Classes</span></a></li>
+					<li><a href="control-flow.html"><span>Control Flow</span></a></li>
+					<li><a href="loops.html"><span>Loops</span></a></li>
+					<li><a href="fibers.html"><span>Fibers</span></a></li>
+				</ul>
+				<h4>ADVANCED</h4>
+				<ul>
+					<li><a href="api.html"><span>Embedding API</span></a></li>
+					<li><a href="system.html"><span>System class</span></a></li>
+					<li><a href="unit-test.html"><span>Unit test</span></a></li>
+					<li><a href="contributing.html"><span>Contributing</span></a></li>
+				</ul>
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">Function</h1><hr>
+			
+			<p class="section-content">
+			Functions are first class objects like <a href="types.html">Int</a> or <a href="types.html">String</a> and can be stored in local variables (even in <a href="list.html">Lists</a> or <a href="map.html">Maps</a>), passed as function parameters or returned by a function. Functions can be implemented in Gravity or in a <a href="api.html">native language</a> with calling conventions compatible with ANSI C.<br><br>Functions are called by value, this means that foo(1) calls the function which is the value of the variable foo. Calling a value that is not a function will raise a runtime error.
+			</p>
+			<pre><code class="swift">
+	func main() {
+		var a = 10;
+		var b = 20;
+		return a + b;
+	}
+			</code></pre>
+			
+			<pre><code class="swift">
+	func f1() {
+		return 10;
+	}
+			
+	func f2() {
+		return f1;
+	}
+			
+	func main() {
+		// a is now function f2
+		var a = f2;
+				
+		// b is now the return value of f2 which is function f1
+		var b = a();
+				
+		// return value is f1() which is 10
+		return b();
+				
+		// above code is equivalent to
+		return f2()();
+	}
+			</code></pre>
+			
+			<h4 class="section-h4">Function parameters</h4>
+			<p>Functions aren’t very useful if you can’t pass values to them so you can provide a parameter list in the function declaration. Gravity performs no check on the number of parameters so you can call a function providing more or less parameters.</p> 
+			<pre><code class="swift">
+	func sum(a, b) {
+		return a + b;
+	}
+			
+	// execute the sum function
+	// and returns 30 as result
+	sum(10,20);
+			</code></pre>
+			
+			<p>If a function is called with missing arguments (less than declared), the missing values are set to <strong>undefined</strong>.</p>
+			<pre><code class="swift">
+	// sum modified to take in account missing arguments
+	func sum(a, b) {
+		// equivalent to if (a == undefined) a = 30;
+		if (!a) a = 30;
+		
+		// equivalent to if (b == undefined) b = 50;
+		if (!b) b = 50;
+		
+		return a + b;
+	}
+			
+	// execute the sum function without any argument
+	// a has a 30 default value and b has a 50 default value
+	// return value is 80
+	sum();
+			</code></pre>
+			
+			<p>If a function is called with more arguments (more than declared), the additional arguments can be accessed using the <strong>_args</strong> array.</p>
+			<pre><code class="swift">
+	// sum modified to accept a variable number of arguments
+	func sum() {
+		var tot = 0;
+		for (var i in 0..<_args.count()) {
+			tot += _args[i];
+		}
+		return tot;
+	}
+			
+	// execute the sum function with a variable number
+	// of arguments returns 550 as result
+	sum(10,20,30,40,50,60,70,80,90,100);
+			</code></pre>
+			
+			<h4 class="section-h4">Recursion</h4>
+			<p>Function recursion is fully supported in Gravity (current function can be accessed using the _func reserved keyword):</p> 
+			<pre><code class="swift">
+	func fibonacci (n) {
+		if (n<2) return n;
+		// could be written as return _func(n-2) + _func(n-1)
+		return fibonacci(n-2) + fibonacci(n-1);
+ 	}
+ 
+	func main() {
+		return fibonacci(20);
+ 	}
+			</code></pre>
+			
+			<h4 class="section-h4">Returning values</h4>
+			<p>A function without a return statement returns <strong>null</strong> by default. You can explicitly return a value using a return statement.</p> 
+			
+         	</div>
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

+ 107 - 0
docs/getting-started.html

@@ -0,0 +1,107 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity: Getting started</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="stylesheets/styles.css">
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li class="active"><a href="index.html">Gravity</a></li>
+				<li><a href="internals/index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>INTRODUCTION</h4>
+				<ul>
+					<li><a href="index.html"><span>Introduction</span></a></li>
+					<li><a href="getting-started.html" class="active"><span>Getting Started</span></a></li>
+				</ul>
+				<h4>LANGUAGE GUIDE</h4>
+				<ul>
+					<li><a href="syntax.html"><span>Syntax</span></a></li>
+					<li><a href="operators.html"><span>Operators</span></a></li>
+					<li><a href="types.html"><span>Types</span></a></li>
+					<li><a href="lists.html"><span>Lists</span></a></li>
+					<li><a href="maps.html"><span>Maps</span></a></li>
+					<li><a href="enum.html"><span>Enum</span></a></li>
+					<li><a href="functions.html"><span>Functions</span></a></li>
+					<li><a href="closures.html"><span>Closures</span></a></li>
+					<li><a href="classes.html"><span>Classes</span></a></li>
+					<li><a href="control-flow.html"><span>Control Flow</span></a></li>
+					<li><a href="loops.html"><span>Loops</span></a></li>
+					<li><a href="fibers.html"><span>Fibers</span></a></li>
+				</ul>
+				<h4>ADVANCED</h4>
+				<ul>
+					<li><a href="api.html"><span>Embedding API</span></a></li>
+					<li><a href="system.html"><span>System class</span></a></li>
+					<li><a href="unit-test.html"><span>Unit test</span></a></li>
+					<li><a href="contributing.html"><span>Contributing</span></a></li>
+				</ul>
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+			
+			<!-- BEGIN CONTENT -->
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">Getting started</h1><hr>
+         				
+			<p class="section-content">
+				TO DO</p>
+         	</div>
+         	<!-- END CONTENT -->
+         	
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

+ 110 - 0
docs/index.html

@@ -0,0 +1,110 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="stylesheets/styles.css">
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li class="active"><a href="index.html">Gravity</a></li>
+				<li><a href="internals/index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>INTRODUCTION</h4>
+				<ul>
+					<li><a href="index.html" class="active"><span>Introduction</span></a></li>
+					<li><a href="getting-started.html"><span>Getting Started</span></a></li>
+				</ul>
+				<h4>LANGUAGE GUIDE</h4>
+				<ul>
+					<li><a href="syntax.html"><span>Syntax</span></a></li>
+					<li><a href="operators.html"><span>Operators</span></a></li>
+					<li><a href="types.html"><span>Types</span></a></li>
+					<li><a href="lists.html"><span>Lists</span></a></li>
+					<li><a href="maps.html"><span>Maps</span></a></li>
+					<li><a href="enum.html"><span>Enum</span></a></li>
+					<li><a href="functions.html"><span>Functions</span></a></li>
+					<li><a href="closures.html"><span>Closures</span></a></li>
+					<li><a href="classes.html"><span>Classes</span></a></li>
+					<li><a href="control-flow.html"><span>Control Flow</span></a></li>
+					<li><a href="loops.html"><span>Loops</span></a></li>
+					<li><a href="fibers.html"><span>Fibers</span></a></li>
+				</ul>
+				<h4>ADVANCED</h4>
+				<ul>
+					<li><a href="api.html"><span>Embedding API</span></a></li>
+					<li><a href="system.html"><span>System class</span></a></li>
+					<li><a href="unit-test.html"><span>Unit test</span></a></li>
+					<li><a href="contributing.html"><span>Contributing</span></a></li>
+				</ul>
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+			
+			<!-- BEGIN CONTENT -->
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">Introduction</h1><hr>
+         				
+			<p class="section-content">
+				<strong>Gravity</strong> is a powerful, dynamically typed, lightweight, embeddable programming language written in C without any external dependency (except stdlib). It is a class based concurrent scripting language with a modern <a href="https://github.com/apple/swift">Swift</a> like syntax.<br><br>
+				<strong>Gravity</strong> supports procedural programming, object-oriented programming, functional programming and data-driven programming. Thanks to built-in special methods it can also be used as a prototype-based programming language.</p>
+				<img class="section-image" src="images/logo.png" width="78px" height="86px">
+				<p><strong>Gravity</strong> has been developed from scratch for the <a href="http://creolabs.com/">Creo</a> project in order to offer an easy way to write portable code for the iOS and Android platforms. It is written in portable C code that can be compiled in any platform using a C99 compiler. VM code is about 2K lines long, multipass compiler code is about 3K lines and shared code is about 2K lines. Compiler and virtual machine together add less than 200KB to the executable size in a 64bit system.</p>
+         	</div>
+         	<!-- END CONTENT -->
+         	
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

+ 0 - 1
docs/index.md

@@ -1 +0,0 @@
-Hello World

+ 136 - 0
docs/internals/1_changelog.html

@@ -0,0 +1,136 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity: Changelog</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="../scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="../stylesheets/styles.css">
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="../images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li><a href="../index.html">Gravity</a></li>
+				<li class="active"><a href="index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>1. OVERVIEW</h4>
+				<ul>
+					<li><a href="index.html"><span>Introduction</span></a></li>
+					<li><a href="1_changelog.html" class="active"><span>Changelog</span></a></li>
+					<li><a href="1_files.html"><span>Gravity files</span></a></li>
+				</ul>
+				
+				<h4>2. PREREQUISITES</h4>
+				<ul>
+					<li><a href="2_overview.html"><span>Overview</span></a></li>
+					<li><a href="2_array.html"><span>Array</span></a></li>
+					<li><a href="2_hash.html"><span>Hash</span></a></li>
+					<li><a href="2_memory.html"><span>Memory</span></a></li>
+					<li><a href="2_utils.html"><span>Utils</span></a></li>
+					<li><a href="2_json.html"><span>JSON</span></a></li>
+					<li><a href="2_visitor.html"><span>Visitor Pattern</span></a></li>
+					<li><a href="2_vm.html"><span>Stack vs Register VM</span></a></li>
+					<li><a href="2_class.html"><span>Class and metaclass</span></a></li>
+				</ul>
+				
+				<h4>3. COMPILER</h4>
+				<ul>
+					<li><a href="3_overview.html"><span>Overview</span></a></li>
+					<li><a href="3_grammar.html"><span>Grammar</span></a></li>
+					<li><a href="3_lexer.html"><span>Lexer</span></a></li>
+					<li><a href="3_parser.html"><span>Parser</span></a></li>
+					<li><a href="3_prattparser.html"><span>Pratt Parser</span></a></li>
+					<li><a href="3_ast.html"><span>AST</span></a></li>
+					<li><a href="3_symboltable.html"><span>Symbol Table</span></a></li>
+					<li><a href="3_semantic.html"><span>Semantic Analyses</span></a></li>
+					<li><a href="3_opcodes.html"><span>Opcodes</span></a></li>
+					<li><a href="3_ircode.html"><span>IRCode</span></a></li>
+					<li><a href="3_codegen.html"><span>Code Generation</span></a></li>
+					<li><a href="3_optimizer.html"><span>Optimizer</span></a></li>
+					<li><a href="3_bytecode.html"><span>Bytecode</span></a></li>
+				</ul>
+				
+				<h4>4. RUNTIME</h4>
+				<ul>
+					<li><a href="4_overview.html"><span>Overview</span></a></li>
+					<li><a href="4_objmodel.html"><span>Object Model</span></a></li>
+					<li><a href="4_memory.html"><span>Memory Ownership</span></a></li>
+					<li><a href="4_vm.html"><span>Virtual Machine</span></a></li>
+					<li><a href="4_performance.html"><span>Efficient Interpreter</span></a></li>
+					<li><a href="4_base.html"><span>Base Classes</span></a></li>
+					<li><a href="4_gc.html"><span>Garbage Collector</span></a></li>
+				</ul>
+				
+				<h4>5. LLVM</h4>
+				<ul>
+					<li><a href="5_overview.html"><span>Overview</span></a></li>
+					<li><a href="5_jit.html"><span>LLVM JIT</span></a></li>
+				</ul>
+				
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+			
+			<!-- BEGIN CONTENT -->
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">Change log</h1><hr>
+         		<p><span class="label label-success">March 02, 2017</span></p>
+				<ul>
+					<li>First public release</li>
+				</ul>
+				
+			</div>
+         	<!-- END CONTENT -->
+         	
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="../scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

+ 175 - 0
docs/internals/1_files.html

@@ -0,0 +1,175 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity: Files</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="../scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="../stylesheets/styles.css">
+    <script src="https://use.fontawesome.com/2e9ff283e5.js"></script>
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="../images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li><a href="../index.html">Gravity</a></li>
+				<li class="active"><a href="index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>1. OVERVIEW</h4>
+				<ul>
+					<li><a href="index.html"><span>Introduction</span></a></li>
+					<li><a href="1_changelog.html"><span>Changelog</span></a></li>
+					<li><a href="1_files.html" class="active"><span>Gravity files</span></a></li>
+				</ul>
+				
+				<h4>2. PREREQUISITES</h4>
+				<ul>
+					<li><a href="2_overview.html"><span>Overview</span></a></li>
+					<li><a href="2_array.html"><span>Array</span></a></li>
+					<li><a href="2_hash.html"><span>Hash</span></a></li>
+					<li><a href="2_memory.html"><span>Memory</span></a></li>
+					<li><a href="2_utils.html"><span>Utils</span></a></li>
+					<li><a href="2_json.html"><span>JSON</span></a></li>
+					<li><a href="2_visitor.html"><span>Visitor Pattern</span></a></li>
+					<li><a href="2_vm.html"><span>Stack vs Register VM</span></a></li>
+					<li><a href="2_class.html"><span>Class and metaclass</span></a></li>
+				</ul>
+				
+				<h4>3. COMPILER</h4>
+				<ul>
+					<li><a href="3_overview.html"><span>Overview</span></a></li>
+					<li><a href="3_grammar.html"><span>Grammar</span></a></li>
+					<li><a href="3_lexer.html"><span>Lexer</span></a></li>
+					<li><a href="3_parser.html"><span>Parser</span></a></li>
+					<li><a href="3_prattparser.html"><span>Pratt Parser</span></a></li>
+					<li><a href="3_ast.html"><span>AST</span></a></li>
+					<li><a href="3_symboltable.html"><span>Symbol Table</span></a></li>
+					<li><a href="3_semantic.html"><span>Semantic Analyses</span></a></li>
+					<li><a href="3_opcodes.html"><span>Opcodes</span></a></li>
+					<li><a href="3_ircode.html"><span>IRCode</span></a></li>
+					<li><a href="3_codegen.html"><span>Code Generation</span></a></li>
+					<li><a href="3_optimizer.html"><span>Optimizer</span></a></li>
+					<li><a href="3_bytecode.html"><span>Bytecode</span></a></li>
+				</ul>
+				
+				<h4>4. RUNTIME</h4>
+				<ul>
+					<li><a href="4_overview.html"><span>Overview</span></a></li>
+					<li><a href="4_objmodel.html"><span>Object Model</span></a></li>
+					<li><a href="4_memory.html"><span>Memory Ownership</span></a></li>
+					<li><a href="4_vm.html"><span>Virtual Machine</span></a></li>
+					<li><a href="4_performance.html"><span>Efficient Interpreter</span></a></li>
+					<li><a href="4_base.html"><span>Base Classes</span></a></li>
+					<li><a href="4_gc.html"><span>Garbage Collector</span></a></li>
+				</ul>
+				
+				<h4>5. LLVM</h4>
+				<ul>
+					<li><a href="5_overview.html"><span>Overview</span></a></li>
+					<li><a href="5_jit.html"><span>LLVM JIT</span></a></li>
+				</ul>
+				
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+			
+			<!-- BEGIN CONTENT -->
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">Gravity files</h1><hr>
+         				
+			<p class="section-content">
+				In order to increase modularity, Gravity is divided into 4 main components and each one (except shared) is completely independent from the others. In this way there is a clear separation between the compiler itself that end up producing the bytecode and the virtual machine that is responsible to execute that bytecode.
+			</p>
+			<p style="color: #7E267E;"><i class="fa fa-folder-o" aria-hidden="true"></i> Utils</p>
+			<ul style="list-style: none;">
+				<li style="color: #7E267E; margin: 8px 0;"><i class="fa fa-file-text-o" aria-hidden="true"></i> gravity_utils: <span style="color: #797979;">Collects useful functions extensively used by other files. Time, IO, strings, UTF-8 and many other functions can be found in this file.</span></li>
+				<li style="color: #7E267E; margin: 8px 0;"><i class="fa fa-file-text-o" aria-hidden="true"></i> gravity_json: <span style="color: #797979;">Very efficient JSON parser from <a href="https://github.com/udp/json-parser">https://github.com/udp/json-parser</a>.</span></li>
+				<li style="color: #7E267E; margin: 8px 0;"><i class="fa fa-file-text-o" aria-hidden="true"></i> gravity_debug: <span style="color: #797979;">Contains the gravity_disassemble function used for debugging purpose.</span></li>
+				<li style="color: #7E267E; margin: 8px 0;"><i class="fa fa-file-text-o" aria-hidden="true"></i> gravity_objc: <span style="color: #797979;">Official objc bridge used in the <a href="http://creolabs.com">Creo</a> project (not yet committed).</span></li>
+			</ul>
+			<p style="color: #7E267E;"><i class="fa fa-folder-o" aria-hidden="true"></i> Compiler</p>
+			<ul style="list-style: none;">
+				<li style="color: #7E267E; margin: 8px 0;"><i class="fa fa-file-text-o" aria-hidden="true"></i> debug_macros: <span style="color: #797979;">Debug macros used internally during development.</span></li>
+				<li style="color: #7E267E; margin: 8px 0;"><i class="fa fa-file-text-o" aria-hidden="true"></i> gravity_ast: <span style="color: #797979;">Abstract syntax tree implementation.</span></li>
+				<li style="color: #7E267E; margin: 8px 0;"><i class="fa fa-file-text-o" aria-hidden="true"></i> gravity_codegen: <span style="color: #797979;">Code generation module.</span></li>
+				<li style="color: #7E267E; margin: 8px 0;"><i class="fa fa-file-text-o" aria-hidden="true"></i> gravity_compiler: <span style="color: #797979;">Main compiler module that can hides other internal modules.</span></li>
+				<li style="color: #7E267E; margin: 8px 0;"><i class="fa fa-file-text-o" aria-hidden="true"></i> gravity_ircode: <span style="color: #797979;">Intermediate code and register allocation management.</span></li>
+				<li style="color: #7E267E; margin: 8px 0;"><i class="fa fa-file-text-o" aria-hidden="true"></i> gravity_lexer: <span style="color: #797979;">Lexer implementation.</span></li>
+				<li style="color: #7E267E; margin: 8px 0;"><i class="fa fa-file-text-o" aria-hidden="true"></i> gravity_optimizer: <span style="color: #797979;">Optimizer and bytecode finalyzer.</span></li>
+				<li style="color: #7E267E; margin: 8px 0;"><i class="fa fa-file-text-o" aria-hidden="true"></i> gravity_parser: <span style="color: #797979;">Parser implementation and syntax checker.</span></li>
+				<li style="color: #7E267E; margin: 8px 0;"><i class="fa fa-file-text-o" aria-hidden="true"></i> gravity_semacheck1: <span style="color: #797979;">Semantic checker step 1 (used for non-local identifiers).</span></li>
+				<li style="color: #7E267E; margin: 8px 0;"><i class="fa fa-file-text-o" aria-hidden="true"></i> gravity_semacheck2: <span style="color: #797979;">Semantic checker step 2 (used for local identifiers).</span></li>
+				<li style="color: #7E267E; margin: 8px 0;"><i class="fa fa-file-text-o" aria-hidden="true"></i> gravity_symboltable: <span style="color: #797979;">Symbol table management and creation.</span></li>
+				<li style="color: #7E267E; margin: 8px 0;"><i class="fa fa-file-text-o" aria-hidden="true"></i> gravity_token: <span style="color: #797979;">Tokenizer implementation.</span></li>
+				<li style="color: #7E267E; margin: 8px 0;"><i class="fa fa-file-text-o" aria-hidden="true"></i> gravity_visitor: <span style="color: #797979;">Visitor patter for C.</span></li>
+			</ul>
+			<p style="color: #7E267E;"><i class="fa fa-folder-o" aria-hidden="true"></i> Shared</p>
+			<ul style="list-style: none;">
+				<li style="color: #7E267E; margin: 8px 0;"><i class="fa fa-file-text-o" aria-hidden="true"></i> gravity_array: <span style="color: #797979;">Dynamic array macros implementation from <a href="https://github.com/attractivechaos/klib/blob/master/kvec.h">https://github.com/attractivechaos/klib/blob/master/kvec.h</a>.</span></li>
+				<li style="color: #7E267E; margin: 8px 0;"><i class="fa fa-file-text-o" aria-hidden="true"></i> gravity_delegate: <span style="color: #797979;">This is where utilities are collected in a single file.</span></li>
+				<li style="color: #7E267E; margin: 8px 0;"><i class="fa fa-file-text-o" aria-hidden="true"></i> gravity_hash: <span style="color: #797979;">Hash table implementation.</span></li>
+				<li style="color: #7E267E; margin: 8px 0;"><i class="fa fa-file-text-o" aria-hidden="true"></i> gravity_macros: <span style="color: #797979;">Useful macros mainly used at runtime.</span></li>
+				<li style="color: #7E267E; margin: 8px 0;"><i class="fa fa-file-text-o" aria-hidden="true"></i> gravity_memory: <span style="color: #797979;">Memory management module with built-in leaks checker for MacOS.</span></li>
+				<li style="color: #7E267E; margin: 8px 0;"><i class="fa fa-file-text-o" aria-hidden="true"></i> gravity_opcodes: <span style="color: #797979;">Enum opcodes officially supported by Gravity.</span></li>
+				<li style="color: #7E267E; margin: 8px 0;"><i class="fa fa-file-text-o" aria-hidden="true"></i> gravity_value: <span style="color: #797979;">One of the most important module that declare the struct of each object and value used inside Gravity.</span></li>
+			</ul>
+			<p style="color: #7E267E;"><i class="fa fa-folder-o" aria-hidden="true"></i> Runtime</p>
+			<ul style="list-style: none;">
+				<li style="color: #7E267E; margin: 8px 0;"><i class="fa fa-file-text-o" aria-hidden="true"></i> gravity_core: <span style="color: #797979;">Core classes implementation and definition.</span></li>
+				<li style="color: #7E267E; margin: 8px 0;"><i class="fa fa-file-text-o" aria-hidden="true"></i> gravity_vm: <span style="color: #797979;">Interpreter and garbage collector implementation.</span></li>
+				<li style="color: #7E267E; margin: 8px 0;"><i class="fa fa-file-text-o" aria-hidden="true"></i> gravity_vmmacros: <span style="color: #797979;">Collects various macros used by the Virtual Machine.</span></li>
+			</ul>
+			</div>
+         	<!-- END CONTENT -->
+         	
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="../scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

+ 132 - 0
docs/internals/2_array.html

@@ -0,0 +1,132 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity: Array</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="../scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="../stylesheets/styles.css">
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="../images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li><a href="../index.html">Gravity</a></li>
+				<li class="active"><a href="index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>1. OVERVIEW</h4>
+				<ul>
+					<li><a href="index.html"><span>Introduction</span></a></li>
+					<li><a href="1_changelog.html"><span>Changelog</span></a></li>
+					<li><a href="1_files.html"><span>Gravity files</span></a></li>
+				</ul>
+				
+				<h4>2. PREREQUISITES</h4>
+				<ul>
+					<li><a href="2_overview.html"><span>Overview</span></a></li>
+					<li><a href="2_array.html" class="active"><span>Array</span></a></li>
+					<li><a href="2_hash.html"><span>Hash</span></a></li>
+					<li><a href="2_memory.html"><span>Memory</span></a></li>
+					<li><a href="2_utils.html"><span>Utils</span></a></li>
+					<li><a href="2_json.html"><span>JSON</span></a></li>
+					<li><a href="2_visitor.html"><span>Visitor Pattern</span></a></li>
+					<li><a href="2_vm.html"><span>Stack vs Register VM</span></a></li>
+					<li><a href="2_class.html"><span>Class and metaclass</span></a></li>
+				</ul>
+				
+				<h4>3. COMPILER</h4>
+				<ul>
+					<li><a href="3_overview.html"><span>Overview</span></a></li>
+					<li><a href="3_grammar.html"><span>Grammar</span></a></li>
+					<li><a href="3_lexer.html"><span>Lexer</span></a></li>
+					<li><a href="3_parser.html"><span>Parser</span></a></li>
+					<li><a href="3_prattparser.html"><span>Pratt Parser</span></a></li>
+					<li><a href="3_ast.html"><span>AST</span></a></li>
+					<li><a href="3_symboltable.html"><span>Symbol Table</span></a></li>
+					<li><a href="3_semantic.html"><span>Semantic Analyses</span></a></li>
+					<li><a href="3_opcodes.html"><span>Opcodes</span></a></li>
+					<li><a href="3_ircode.html"><span>IRCode</span></a></li>
+					<li><a href="3_codegen.html"><span>Code Generation</span></a></li>
+					<li><a href="3_optimizer.html"><span>Optimizer</span></a></li>
+					<li><a href="3_bytecode.html"><span>Bytecode</span></a></li>
+				</ul>
+				
+				<h4>4. RUNTIME</h4>
+				<ul>
+					<li><a href="4_overview.html"><span>Overview</span></a></li>
+					<li><a href="4_objmodel.html"><span>Object Model</span></a></li>
+					<li><a href="4_memory.html"><span>Memory Ownership</span></a></li>
+					<li><a href="4_vm.html"><span>Virtual Machine</span></a></li>
+					<li><a href="4_performance.html"><span>Efficient Interpreter</span></a></li>
+					<li><a href="4_base.html"><span>Base Classes</span></a></li>
+					<li><a href="4_gc.html"><span>Garbage Collector</span></a></li>
+				</ul>
+				
+				<h4>5. LLVM</h4>
+				<ul>
+					<li><a href="5_overview.html"><span>Overview</span></a></li>
+					<li><a href="5_jit.html"><span>LLVM JIT</span></a></li>
+				</ul>
+				
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+			
+			<!-- BEGIN CONTENT -->
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">Array</h1><hr>
+         	<p>Content will be available soon.</p>
+			</div>
+         	<!-- END CONTENT -->
+         	
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="../scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

+ 132 - 0
docs/internals/2_class.html

@@ -0,0 +1,132 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity: Class and metaclass</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="../scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="../stylesheets/styles.css">
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="../images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li><a href="../index.html">Gravity</a></li>
+				<li class="active"><a href="index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>1. OVERVIEW</h4>
+				<ul>
+					<li><a href="index.html"><span>Introduction</span></a></li>
+					<li><a href="1_changelog.html"><span>Changelog</span></a></li>
+					<li><a href="1_files.html"><span>Gravity files</span></a></li>
+				</ul>
+				
+				<h4>2. PREREQUISITES</h4>
+				<ul>
+					<li><a href="2_overview.html"><span>Overview</span></a></li>
+					<li><a href="2_array.html"><span>Array</span></a></li>
+					<li><a href="2_hash.html"><span>Hash</span></a></li>
+					<li><a href="2_memory.html"><span>Memory</span></a></li>
+					<li><a href="2_utils.html"><span>Utils</span></a></li>
+					<li><a href="2_json.html"><span>JSON</span></a></li>
+					<li><a href="2_visitor.html"><span>Visitor Pattern</span></a></li>
+					<li><a href="2_vm.html"><span>Stack vs Register VM</span></a></li>
+					<li><a href="2_class.html" class="active"><span>Class and metaclass</span></a></li>
+				</ul>
+				
+				<h4>3. COMPILER</h4>
+				<ul>
+					<li><a href="3_overview.html"><span>Overview</span></a></li>
+					<li><a href="3_grammar.html"><span>Grammar</span></a></li>
+					<li><a href="3_lexer.html"><span>Lexer</span></a></li>
+					<li><a href="3_parser.html"><span>Parser</span></a></li>
+					<li><a href="3_prattparser.html"><span>Pratt Parser</span></a></li>
+					<li><a href="3_ast.html"><span>AST</span></a></li>
+					<li><a href="3_symboltable.html"><span>Symbol Table</span></a></li>
+					<li><a href="3_semantic.html"><span>Semantic Analyses</span></a></li>
+					<li><a href="3_opcodes.html"><span>Opcodes</span></a></li>
+					<li><a href="3_ircode.html"><span>IRCode</span></a></li>
+					<li><a href="3_codegen.html"><span>Code Generation</span></a></li>
+					<li><a href="3_optimizer.html"><span>Optimizer</span></a></li>
+					<li><a href="3_bytecode.html"><span>Bytecode</span></a></li>
+				</ul>
+				
+				<h4>4. RUNTIME</h4>
+				<ul>
+					<li><a href="4_overview.html"><span>Overview</span></a></li>
+					<li><a href="4_objmodel.html"><span>Object Model</span></a></li>
+					<li><a href="4_memory.html"><span>Memory Ownership</span></a></li>
+					<li><a href="4_vm.html"><span>Virtual Machine</span></a></li>
+					<li><a href="4_performance.html"><span>Efficient Interpreter</span></a></li>
+					<li><a href="4_base.html"><span>Base Classes</span></a></li>
+					<li><a href="4_gc.html"><span>Garbage Collector</span></a></li>
+				</ul>
+				
+				<h4>5. LLVM</h4>
+				<ul>
+					<li><a href="5_overview.html"><span>Overview</span></a></li>
+					<li><a href="5_jit.html"><span>LLVM JIT</span></a></li>
+				</ul>
+				
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+			
+			<!-- BEGIN CONTENT -->
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">Class and metaclass</h1><hr>
+         	<p>Content will be available soon.</p>
+			</div>
+         	<!-- END CONTENT -->
+         	
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="../scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

+ 132 - 0
docs/internals/2_hash.html

@@ -0,0 +1,132 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity: Hash</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="../scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="../stylesheets/styles.css">
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="../images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li><a href="../index.html">Gravity</a></li>
+				<li class="active"><a href="index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>1. OVERVIEW</h4>
+				<ul>
+					<li><a href="index.html"><span>Introduction</span></a></li>
+					<li><a href="1_changelog.html"><span>Changelog</span></a></li>
+					<li><a href="1_files.html"><span>Gravity files</span></a></li>
+				</ul>
+				
+				<h4>2. PREREQUISITES</h4>
+				<ul>
+					<li><a href="2_overview.html"><span>Overview</span></a></li>
+					<li><a href="2_array.html"><span>Array</span></a></li>
+					<li><a href="2_hash.html" class="active"><span>Hash</span></a></li>
+					<li><a href="2_memory.html"><span>Memory</span></a></li>
+					<li><a href="2_utils.html"><span>Utils</span></a></li>
+					<li><a href="2_json.html"><span>JSON</span></a></li>
+					<li><a href="2_visitor.html"><span>Visitor Pattern</span></a></li>
+					<li><a href="2_vm.html"><span>Stack vs Register VM</span></a></li>
+					<li><a href="2_class.html"><span>Class and metaclass</span></a></li>
+				</ul>
+				
+				<h4>3. COMPILER</h4>
+				<ul>
+					<li><a href="3_overview.html"><span>Overview</span></a></li>
+					<li><a href="3_grammar.html"><span>Grammar</span></a></li>
+					<li><a href="3_lexer.html"><span>Lexer</span></a></li>
+					<li><a href="3_parser.html"><span>Parser</span></a></li>
+					<li><a href="3_prattparser.html"><span>Pratt Parser</span></a></li>
+					<li><a href="3_ast.html"><span>AST</span></a></li>
+					<li><a href="3_symboltable.html"><span>Symbol Table</span></a></li>
+					<li><a href="3_semantic.html"><span>Semantic Analyses</span></a></li>
+					<li><a href="3_opcodes.html"><span>Opcodes</span></a></li>
+					<li><a href="3_ircode.html"><span>IRCode</span></a></li>
+					<li><a href="3_codegen.html"><span>Code Generation</span></a></li>
+					<li><a href="3_optimizer.html"><span>Optimizer</span></a></li>
+					<li><a href="3_bytecode.html"><span>Bytecode</span></a></li>
+				</ul>
+				
+				<h4>4. RUNTIME</h4>
+				<ul>
+					<li><a href="4_overview.html"><span>Overview</span></a></li>
+					<li><a href="4_objmodel.html"><span>Object Model</span></a></li>
+					<li><a href="4_memory.html"><span>Memory Ownership</span></a></li>
+					<li><a href="4_vm.html"><span>Virtual Machine</span></a></li>
+					<li><a href="4_performance.html"><span>Efficient Interpreter</span></a></li>
+					<li><a href="4_base.html"><span>Base Classes</span></a></li>
+					<li><a href="4_gc.html"><span>Garbage Collector</span></a></li>
+				</ul>
+				
+				<h4>5. LLVM</h4>
+				<ul>
+					<li><a href="5_overview.html"><span>Overview</span></a></li>
+					<li><a href="5_jit.html"><span>LLVM JIT</span></a></li>
+				</ul>
+				
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+			
+			<!-- BEGIN CONTENT -->
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">Hash</h1><hr>
+         	<p>Content will be available soon.</p>
+			</div>
+         	<!-- END CONTENT -->
+         	
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="../scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

+ 132 - 0
docs/internals/2_json.html

@@ -0,0 +1,132 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity: JSON</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="../scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="../stylesheets/styles.css">
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="../images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li><a href="../index.html">Gravity</a></li>
+				<li class="active"><a href="index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>1. OVERVIEW</h4>
+				<ul>
+					<li><a href="index.html"><span>Introduction</span></a></li>
+					<li><a href="1_changelog.html"><span>Changelog</span></a></li>
+					<li><a href="1_files.html"><span>Gravity files</span></a></li>
+				</ul>
+				
+				<h4>2. PREREQUISITES</h4>
+				<ul>
+					<li><a href="2_overview.html"><span>Overview</span></a></li>
+					<li><a href="2_array.html"><span>Array</span></a></li>
+					<li><a href="2_hash.html"><span>Hash</span></a></li>
+					<li><a href="2_memory.html"><span>Memory</span></a></li>
+					<li><a href="2_utils.html" class="active"><span>Utils</span></a></li>
+					<li><a href="2_json.html"><span>JSON</span></a></li>
+					<li><a href="2_visitor.html"><span>Visitor Pattern</span></a></li>
+					<li><a href="2_vm.html"><span>Stack vs Register VM</span></a></li>
+					<li><a href="2_class.html"><span>Class and metaclass</span></a></li>
+				</ul>
+				
+				<h4>3. COMPILER</h4>
+				<ul>
+					<li><a href="3_overview.html"><span>Overview</span></a></li>
+					<li><a href="3_grammar.html"><span>Grammar</span></a></li>
+					<li><a href="3_lexer.html"><span>Lexer</span></a></li>
+					<li><a href="3_parser.html"><span>Parser</span></a></li>
+					<li><a href="3_prattparser.html"><span>Pratt Parser</span></a></li>
+					<li><a href="3_ast.html"><span>AST</span></a></li>
+					<li><a href="3_symboltable.html"><span>Symbol Table</span></a></li>
+					<li><a href="3_semantic.html"><span>Semantic Analyses</span></a></li>
+					<li><a href="3_opcodes.html"><span>Opcodes</span></a></li>
+					<li><a href="3_ircode.html"><span>IRCode</span></a></li>
+					<li><a href="3_codegen.html"><span>Code Generation</span></a></li>
+					<li><a href="3_optimizer.html"><span>Optimizer</span></a></li>
+					<li><a href="3_bytecode.html"><span>Bytecode</span></a></li>
+				</ul>
+				
+				<h4>4. RUNTIME</h4>
+				<ul>
+					<li><a href="4_overview.html"><span>Overview</span></a></li>
+					<li><a href="4_objmodel.html"><span>Object Model</span></a></li>
+					<li><a href="4_memory.html"><span>Memory Ownership</span></a></li>
+					<li><a href="4_vm.html"><span>Virtual Machine</span></a></li>
+					<li><a href="4_performance.html"><span>Efficient Interpreter</span></a></li>
+					<li><a href="4_base.html"><span>Base Classes</span></a></li>
+					<li><a href="4_gc.html"><span>Garbage Collector</span></a></li>
+				</ul>
+				
+				<h4>5. LLVM</h4>
+				<ul>
+					<li><a href="5_overview.html"><span>Overview</span></a></li>
+					<li><a href="5_jit.html"><span>LLVM JIT</span></a></li>
+				</ul>
+				
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+			
+			<!-- BEGIN CONTENT -->
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">JSON</h1><hr>
+         	<p>Content will be available soon.</p>
+			</div>
+         	<!-- END CONTENT -->
+         	
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="../scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

+ 132 - 0
docs/internals/2_memory.html

@@ -0,0 +1,132 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity: Memory</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="../scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="../stylesheets/styles.css">
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="../images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li><a href="../index.html">Gravity</a></li>
+				<li class="active"><a href="index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>1. OVERVIEW</h4>
+				<ul>
+					<li><a href="index.html"><span>Introduction</span></a></li>
+					<li><a href="1_changelog.html"><span>Changelog</span></a></li>
+					<li><a href="1_files.html"><span>Gravity files</span></a></li>
+				</ul>
+				
+				<h4>2. PREREQUISITES</h4>
+				<ul>
+					<li><a href="2_overview.html"><span>Overview</span></a></li>
+					<li><a href="2_array.html"><span>Array</span></a></li>
+					<li><a href="2_hash.html"><span>Hash</span></a></li>
+					<li><a href="2_memory.html" class="active"><span>Memory</span></a></li>
+					<li><a href="2_utils.html"><span>Utils</span></a></li>
+					<li><a href="2_json.html"><span>JSON</span></a></li>
+					<li><a href="2_visitor.html"><span>Visitor Pattern</span></a></li>
+					<li><a href="2_vm.html"><span>Stack vs Register VM</span></a></li>
+					<li><a href="2_class.html"><span>Class and metaclass</span></a></li>
+				</ul>
+				
+				<h4>3. COMPILER</h4>
+				<ul>
+					<li><a href="3_overview.html"><span>Overview</span></a></li>
+					<li><a href="3_grammar.html"><span>Grammar</span></a></li>
+					<li><a href="3_lexer.html"><span>Lexer</span></a></li>
+					<li><a href="3_parser.html"><span>Parser</span></a></li>
+					<li><a href="3_prattparser.html"><span>Pratt Parser</span></a></li>
+					<li><a href="3_ast.html"><span>AST</span></a></li>
+					<li><a href="3_symboltable.html"><span>Symbol Table</span></a></li>
+					<li><a href="3_semantic.html"><span>Semantic Analyses</span></a></li>
+					<li><a href="3_opcodes.html"><span>Opcodes</span></a></li>
+					<li><a href="3_ircode.html"><span>IRCode</span></a></li>
+					<li><a href="3_codegen.html"><span>Code Generation</span></a></li>
+					<li><a href="3_optimizer.html"><span>Optimizer</span></a></li>
+					<li><a href="3_bytecode.html"><span>Bytecode</span></a></li>
+				</ul>
+				
+				<h4>4. RUNTIME</h4>
+				<ul>
+					<li><a href="4_overview.html"><span>Overview</span></a></li>
+					<li><a href="4_objmodel.html"><span>Object Model</span></a></li>
+					<li><a href="4_memory.html"><span>Memory Ownership</span></a></li>
+					<li><a href="4_vm.html"><span>Virtual Machine</span></a></li>
+					<li><a href="4_performance.html"><span>Efficient Interpreter</span></a></li>
+					<li><a href="4_base.html"><span>Base Classes</span></a></li>
+					<li><a href="4_gc.html"><span>Garbage Collector</span></a></li>
+				</ul>
+				
+				<h4>5. LLVM</h4>
+				<ul>
+					<li><a href="5_overview.html"><span>Overview</span></a></li>
+					<li><a href="5_jit.html"><span>LLVM JIT</span></a></li>
+				</ul>
+				
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+			
+			<!-- BEGIN CONTENT -->
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">Memory</h1><hr>
+         	<p>Content will be available soon.</p>
+			</div>
+         	<!-- END CONTENT -->
+         	
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="../scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

+ 132 - 0
docs/internals/2_overview.html

@@ -0,0 +1,132 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity: Overview</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="../scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="../stylesheets/styles.css">
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="../images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li><a href="../index.html">Gravity</a></li>
+				<li class="active"><a href="index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>1. OVERVIEW</h4>
+				<ul>
+					<li><a href="index.html"><span>Introduction</span></a></li>
+					<li><a href="1_changelog.html"><span>Changelog</span></a></li>
+					<li><a href="1_files.html"><span>Gravity files</span></a></li>
+				</ul>
+				
+				<h4>2. PREREQUISITES</h4>
+				<ul>
+					<li><a href="2_overview.html" class="active"><span>Overview</span></a></li>
+					<li><a href="2_array.html"><span>Array</span></a></li>
+					<li><a href="2_hash.html"><span>Hash</span></a></li>
+					<li><a href="2_memory.html"><span>Memory</span></a></li>
+					<li><a href="2_utils.html"><span>Utils</span></a></li>
+					<li><a href="2_json.html"><span>JSON</span></a></li>
+					<li><a href="2_visitor.html"><span>Visitor Pattern</span></a></li>
+					<li><a href="2_vm.html"><span>Stack vs Register VM</span></a></li>
+					<li><a href="2_class.html"><span>Class and metaclass</span></a></li>
+				</ul>
+				
+				<h4>3. COMPILER</h4>
+				<ul>
+					<li><a href="3_overview.html"><span>Overview</span></a></li>
+					<li><a href="3_grammar.html"><span>Grammar</span></a></li>
+					<li><a href="3_lexer.html"><span>Lexer</span></a></li>
+					<li><a href="3_parser.html"><span>Parser</span></a></li>
+					<li><a href="3_prattparser.html"><span>Pratt Parser</span></a></li>
+					<li><a href="3_ast.html"><span>AST</span></a></li>
+					<li><a href="3_symboltable.html"><span>Symbol Table</span></a></li>
+					<li><a href="3_semantic.html"><span>Semantic Analyses</span></a></li>
+					<li><a href="3_opcodes.html"><span>Opcodes</span></a></li>
+					<li><a href="3_ircode.html"><span>IRCode</span></a></li>
+					<li><a href="3_codegen.html"><span>Code Generation</span></a></li>
+					<li><a href="3_optimizer.html"><span>Optimizer</span></a></li>
+					<li><a href="3_bytecode.html"><span>Bytecode</span></a></li>
+				</ul>
+				
+				<h4>4. RUNTIME</h4>
+				<ul>
+					<li><a href="4_overview.html"><span>Overview</span></a></li>
+					<li><a href="4_objmodel.html"><span>Object Model</span></a></li>
+					<li><a href="4_memory.html"><span>Memory Ownership</span></a></li>
+					<li><a href="4_vm.html"><span>Virtual Machine</span></a></li>
+					<li><a href="4_performance.html"><span>Efficient Interpreter</span></a></li>
+					<li><a href="4_base.html"><span>Base Classes</span></a></li>
+					<li><a href="4_gc.html"><span>Garbage Collector</span></a></li>
+				</ul>
+				
+				<h4>5. LLVM</h4>
+				<ul>
+					<li><a href="5_overview.html"><span>Overview</span></a></li>
+					<li><a href="5_jit.html"><span>LLVM JIT</span></a></li>
+				</ul>
+				
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+			
+			<!-- BEGIN CONTENT -->
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">Overview</h1><hr>
+         	<p>Content will be available soon.</p>
+			</div>
+         	<!-- END CONTENT -->
+         	
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="../scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

+ 132 - 0
docs/internals/2_utils.html

@@ -0,0 +1,132 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity: Utils</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="../scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="../stylesheets/styles.css">
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="../images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li><a href="../index.html">Gravity</a></li>
+				<li class="active"><a href="index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>1. OVERVIEW</h4>
+				<ul>
+					<li><a href="index.html"><span>Introduction</span></a></li>
+					<li><a href="1_changelog.html"><span>Changelog</span></a></li>
+					<li><a href="1_files.html"><span>Gravity files</span></a></li>
+				</ul>
+				
+				<h4>2. PREREQUISITES</h4>
+				<ul>
+					<li><a href="2_overview.html"><span>Overview</span></a></li>
+					<li><a href="2_array.html"><span>Array</span></a></li>
+					<li><a href="2_hash.html"><span>Hash</span></a></li>
+					<li><a href="2_memory.html"><span>Memory</span></a></li>
+					<li><a href="2_utils.html" class="active"><span>Utils</span></a></li>
+					<li><a href="2_json.html"><span>JSON</span></a></li>
+					<li><a href="2_visitor.html"><span>Visitor Pattern</span></a></li>
+					<li><a href="2_vm.html"><span>Stack vs Register VM</span></a></li>
+					<li><a href="2_class.html"><span>Class and metaclass</span></a></li>
+				</ul>
+				
+				<h4>3. COMPILER</h4>
+				<ul>
+					<li><a href="3_overview.html"><span>Overview</span></a></li>
+					<li><a href="3_grammar.html"><span>Grammar</span></a></li>
+					<li><a href="3_lexer.html"><span>Lexer</span></a></li>
+					<li><a href="3_parser.html"><span>Parser</span></a></li>
+					<li><a href="3_prattparser.html"><span>Pratt Parser</span></a></li>
+					<li><a href="3_ast.html"><span>AST</span></a></li>
+					<li><a href="3_symboltable.html"><span>Symbol Table</span></a></li>
+					<li><a href="3_semantic.html"><span>Semantic Analyses</span></a></li>
+					<li><a href="3_opcodes.html"><span>Opcodes</span></a></li>
+					<li><a href="3_ircode.html"><span>IRCode</span></a></li>
+					<li><a href="3_codegen.html"><span>Code Generation</span></a></li>
+					<li><a href="3_optimizer.html"><span>Optimizer</span></a></li>
+					<li><a href="3_bytecode.html"><span>Bytecode</span></a></li>
+				</ul>
+				
+				<h4>4. RUNTIME</h4>
+				<ul>
+					<li><a href="4_overview.html"><span>Overview</span></a></li>
+					<li><a href="4_objmodel.html"><span>Object Model</span></a></li>
+					<li><a href="4_memory.html"><span>Memory Ownership</span></a></li>
+					<li><a href="4_vm.html"><span>Virtual Machine</span></a></li>
+					<li><a href="4_performance.html"><span>Efficient Interpreter</span></a></li>
+					<li><a href="4_base.html"><span>Base Classes</span></a></li>
+					<li><a href="4_gc.html"><span>Garbage Collector</span></a></li>
+				</ul>
+				
+				<h4>5. LLVM</h4>
+				<ul>
+					<li><a href="5_overview.html"><span>Overview</span></a></li>
+					<li><a href="5_jit.html"><span>LLVM JIT</span></a></li>
+				</ul>
+				
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+			
+			<!-- BEGIN CONTENT -->
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">Utils</h1><hr>
+         	<p>Content will be available soon.</p>
+			</div>
+         	<!-- END CONTENT -->
+         	
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="../scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

+ 132 - 0
docs/internals/2_visitor.html

@@ -0,0 +1,132 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity: Visitor Pattern</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="../scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="../stylesheets/styles.css">
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="../images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li><a href="../index.html">Gravity</a></li>
+				<li class="active"><a href="index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>1. OVERVIEW</h4>
+				<ul>
+					<li><a href="index.html"><span>Introduction</span></a></li>
+					<li><a href="1_changelog.html"><span>Changelog</span></a></li>
+					<li><a href="1_files.html"><span>Gravity files</span></a></li>
+				</ul>
+				
+				<h4>2. PREREQUISITES</h4>
+				<ul>
+					<li><a href="2_overview.html"><span>Overview</span></a></li>
+					<li><a href="2_array.html"><span>Array</span></a></li>
+					<li><a href="2_hash.html"><span>Hash</span></a></li>
+					<li><a href="2_memory.html"><span>Memory</span></a></li>
+					<li><a href="2_utils.html"><span>Utils</span></a></li>
+					<li><a href="2_json.html"><span>JSON</span></a></li>
+					<li><a href="2_visitor.html" class="active"><span>Visitor Pattern</span></a></li>
+					<li><a href="2_vm.html"><span>Stack vs Register VM</span></a></li>
+					<li><a href="2_class.html"><span>Class and metaclass</span></a></li>
+				</ul>
+				
+				<h4>3. COMPILER</h4>
+				<ul>
+					<li><a href="3_overview.html"><span>Overview</span></a></li>
+					<li><a href="3_grammar.html"><span>Grammar</span></a></li>
+					<li><a href="3_lexer.html"><span>Lexer</span></a></li>
+					<li><a href="3_parser.html"><span>Parser</span></a></li>
+					<li><a href="3_prattparser.html"><span>Pratt Parser</span></a></li>
+					<li><a href="3_ast.html"><span>AST</span></a></li>
+					<li><a href="3_symboltable.html"><span>Symbol Table</span></a></li>
+					<li><a href="3_semantic.html"><span>Semantic Analyses</span></a></li>
+					<li><a href="3_opcodes.html"><span>Opcodes</span></a></li>
+					<li><a href="3_ircode.html"><span>IRCode</span></a></li>
+					<li><a href="3_codegen.html"><span>Code Generation</span></a></li>
+					<li><a href="3_optimizer.html"><span>Optimizer</span></a></li>
+					<li><a href="3_bytecode.html"><span>Bytecode</span></a></li>
+				</ul>
+				
+				<h4>4. RUNTIME</h4>
+				<ul>
+					<li><a href="4_overview.html"><span>Overview</span></a></li>
+					<li><a href="4_objmodel.html"><span>Object Model</span></a></li>
+					<li><a href="4_memory.html"><span>Memory Ownership</span></a></li>
+					<li><a href="4_vm.html"><span>Virtual Machine</span></a></li>
+					<li><a href="4_performance.html"><span>Efficient Interpreter</span></a></li>
+					<li><a href="4_base.html"><span>Base Classes</span></a></li>
+					<li><a href="4_gc.html"><span>Garbage Collector</span></a></li>
+				</ul>
+				
+				<h4>5. LLVM</h4>
+				<ul>
+					<li><a href="5_overview.html"><span>Overview</span></a></li>
+					<li><a href="5_jit.html"><span>LLVM JIT</span></a></li>
+				</ul>
+				
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+			
+			<!-- BEGIN CONTENT -->
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">Visitor Pattern</h1><hr>
+         	<p>Content will be available soon.</p>
+			</div>
+         	<!-- END CONTENT -->
+         	
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="../scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

+ 132 - 0
docs/internals/2_vm.html

@@ -0,0 +1,132 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity: Stack vs Register VM</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="../scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="../stylesheets/styles.css">
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="../images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li><a href="../index.html">Gravity</a></li>
+				<li class="active"><a href="index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>1. OVERVIEW</h4>
+				<ul>
+					<li><a href="index.html"><span>Introduction</span></a></li>
+					<li><a href="1_changelog.html"><span>Changelog</span></a></li>
+					<li><a href="1_files.html"><span>Gravity files</span></a></li>
+				</ul>
+				
+				<h4>2. PREREQUISITES</h4>
+				<ul>
+					<li><a href="2_overview.html"><span>Overview</span></a></li>
+					<li><a href="2_array.html"><span>Array</span></a></li>
+					<li><a href="2_hash.html"><span>Hash</span></a></li>
+					<li><a href="2_memory.html"><span>Memory</span></a></li>
+					<li><a href="2_utils.html"><span>Utils</span></a></li>
+					<li><a href="2_json.html"><span>JSON</span></a></li>
+					<li><a href="2_visitor.html"><span>Visitor Pattern</span></a></li>
+					<li><a href="2_vm.html" class="active"><span>Stack vs Register VM</span></a></li>
+					<li><a href="2_class.html"><span>Class and metaclass</span></a></li>
+				</ul>
+				
+				<h4>3. COMPILER</h4>
+				<ul>
+					<li><a href="3_overview.html"><span>Overview</span></a></li>
+					<li><a href="3_grammar.html"><span>Grammar</span></a></li>
+					<li><a href="3_lexer.html"><span>Lexer</span></a></li>
+					<li><a href="3_parser.html"><span>Parser</span></a></li>
+					<li><a href="3_prattparser.html"><span>Pratt Parser</span></a></li>
+					<li><a href="3_ast.html"><span>AST</span></a></li>
+					<li><a href="3_symboltable.html"><span>Symbol Table</span></a></li>
+					<li><a href="3_semantic.html"><span>Semantic Analyses</span></a></li>
+					<li><a href="3_opcodes.html"><span>Opcodes</span></a></li>
+					<li><a href="3_ircode.html"><span>IRCode</span></a></li>
+					<li><a href="3_codegen.html"><span>Code Generation</span></a></li>
+					<li><a href="3_optimizer.html"><span>Optimizer</span></a></li>
+					<li><a href="3_bytecode.html"><span>Bytecode</span></a></li>
+				</ul>
+				
+				<h4>4. RUNTIME</h4>
+				<ul>
+					<li><a href="4_overview.html"><span>Overview</span></a></li>
+					<li><a href="4_objmodel.html"><span>Object Model</span></a></li>
+					<li><a href="4_memory.html"><span>Memory Ownership</span></a></li>
+					<li><a href="4_vm.html"><span>Virtual Machine</span></a></li>
+					<li><a href="4_performance.html"><span>Efficient Interpreter</span></a></li>
+					<li><a href="4_base.html"><span>Base Classes</span></a></li>
+					<li><a href="4_gc.html"><span>Garbage Collector</span></a></li>
+				</ul>
+				
+				<h4>5. LLVM</h4>
+				<ul>
+					<li><a href="5_overview.html"><span>Overview</span></a></li>
+					<li><a href="5_jit.html"><span>LLVM JIT</span></a></li>
+				</ul>
+				
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+			
+			<!-- BEGIN CONTENT -->
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">Stack vs Register VM</h1><hr>
+         	<p>Content will be available soon.</p>
+			</div>
+         	<!-- END CONTENT -->
+         	
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="../scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

+ 132 - 0
docs/internals/3_ast.html

@@ -0,0 +1,132 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity: Abstract Syntax Tree</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="../scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="../stylesheets/styles.css">
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="../images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li><a href="../index.html">Gravity</a></li>
+				<li class="active"><a href="index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>1. OVERVIEW</h4>
+				<ul>
+					<li><a href="index.html"><span>Introduction</span></a></li>
+					<li><a href="1_changelog.html"><span>Changelog</span></a></li>
+					<li><a href="1_files.html"><span>Gravity files</span></a></li>
+				</ul>
+				
+				<h4>2. PREREQUISITES</h4>
+				<ul>
+					<li><a href="2_overview.html"><span>Overview</span></a></li>
+					<li><a href="2_array.html"><span>Array</span></a></li>
+					<li><a href="2_hash.html"><span>Hash</span></a></li>
+					<li><a href="2_memory.html"><span>Memory</span></a></li>
+					<li><a href="2_utils.html"><span>Utils</span></a></li>
+					<li><a href="2_json.html"><span>JSON</span></a></li>
+					<li><a href="2_visitor.html"><span>Visitor Pattern</span></a></li>
+					<li><a href="2_vm.html"><span>Stack vs Register VM</span></a></li>
+					<li><a href="2_class.html"><span>Class and metaclass</span></a></li>
+				</ul>
+				
+				<h4>3. COMPILER</h4>
+				<ul>
+					<li><a href="3_overview.html"><span>Overview</span></a></li>
+					<li><a href="3_grammar.html"><span>Grammar</span></a></li>
+					<li><a href="3_lexer.html"><span>Lexer</span></a></li>
+					<li><a href="3_parser.html"><span>Parser</span></a></li>
+					<li><a href="3_prattparser.html"><span>Pratt Parser</span></a></li>
+					<li><a href="3_ast.html" class="active"><span>AST</span></a></li>
+					<li><a href="3_symboltable.html"><span>Symbol Table</span></a></li>
+					<li><a href="3_semantic.html"><span>Semantic Analyses</span></a></li>
+					<li><a href="3_opcodes.html"><span>Opcodes</span></a></li>
+					<li><a href="3_ircode.html"><span>IRCode</span></a></li>
+					<li><a href="3_codegen.html"><span>Code Generation</span></a></li>
+					<li><a href="3_optimizer.html"><span>Optimizer</span></a></li>
+					<li><a href="3_bytecode.html"><span>Bytecode</span></a></li>
+				</ul>
+				
+				<h4>4. RUNTIME</h4>
+				<ul>
+					<li><a href="4_overview.html"><span>Overview</span></a></li>
+					<li><a href="4_objmodel.html"><span>Object Model</span></a></li>
+					<li><a href="4_memory.html"><span>Memory Ownership</span></a></li>
+					<li><a href="4_vm.html"><span>Virtual Machine</span></a></li>
+					<li><a href="4_performance.html"><span>Efficient Interpreter</span></a></li>
+					<li><a href="4_base.html"><span>Base Classes</span></a></li>
+					<li><a href="4_gc.html"><span>Garbage Collector</span></a></li>
+				</ul>
+				
+				<h4>5. LLVM</h4>
+				<ul>
+					<li><a href="5_overview.html"><span>Overview</span></a></li>
+					<li><a href="5_jit.html"><span>LLVM JIT</span></a></li>
+				</ul>
+				
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+			
+			<!-- BEGIN CONTENT -->
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">Abstract Syntax Tree</h1><hr>
+         	<p>Content will be available soon.</p>
+			</div>
+         	<!-- END CONTENT -->
+         	
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="../scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

+ 132 - 0
docs/internals/3_bytecode.html

@@ -0,0 +1,132 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity: Bytecode</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="../scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="../stylesheets/styles.css">
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="../images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li><a href="../index.html">Gravity</a></li>
+				<li class="active"><a href="index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>1. OVERVIEW</h4>
+				<ul>
+					<li><a href="index.html"><span>Introduction</span></a></li>
+					<li><a href="1_changelog.html"><span>Changelog</span></a></li>
+					<li><a href="1_files.html"><span>Gravity files</span></a></li>
+				</ul>
+				
+				<h4>2. PREREQUISITES</h4>
+				<ul>
+					<li><a href="2_overview.html"><span>Overview</span></a></li>
+					<li><a href="2_array.html"><span>Array</span></a></li>
+					<li><a href="2_hash.html"><span>Hash</span></a></li>
+					<li><a href="2_memory.html"><span>Memory</span></a></li>
+					<li><a href="2_utils.html"><span>Utils</span></a></li>
+					<li><a href="2_json.html"><span>JSON</span></a></li>
+					<li><a href="2_visitor.html"><span>Visitor Pattern</span></a></li>
+					<li><a href="2_vm.html"><span>Stack vs Register VM</span></a></li>
+					<li><a href="2_class.html"><span>Class and metaclass</span></a></li>
+				</ul>
+				
+				<h4>3. COMPILER</h4>
+				<ul>
+					<li><a href="3_overview.html"><span>Overview</span></a></li>
+					<li><a href="3_grammar.html"><span>Grammar</span></a></li>
+					<li><a href="3_lexer.html"><span>Lexer</span></a></li>
+					<li><a href="3_parser.html"><span>Parser</span></a></li>
+					<li><a href="3_prattparser.html"><span>Pratt Parser</span></a></li>
+					<li><a href="3_ast.html"><span>AST</span></a></li>
+					<li><a href="3_symboltable.html"><span>Symbol Table</span></a></li>
+					<li><a href="3_semantic.html"><span>Semantic Analyses</span></a></li>
+					<li><a href="3_opcodes.html"><span>Opcodes</span></a></li>
+					<li><a href="3_ircode.html"><span>IRCode</span></a></li>
+					<li><a href="3_codegen.html"><span>Code Generation</span></a></li>
+					<li><a href="3_optimizer.html"><span>Optimizer</span></a></li>
+					<li><a href="3_bytecode.html" class="active"><span>Bytecode</span></a></li>
+				</ul>
+				
+				<h4>4. RUNTIME</h4>
+				<ul>
+					<li><a href="4_overview.html"><span>Overview</span></a></li>
+					<li><a href="4_objmodel.html"><span>Object Model</span></a></li>
+					<li><a href="4_memory.html"><span>Memory Ownership</span></a></li>
+					<li><a href="4_vm.html"><span>Virtual Machine</span></a></li>
+					<li><a href="4_performance.html"><span>Efficient Interpreter</span></a></li>
+					<li><a href="4_base.html"><span>Base Classes</span></a></li>
+					<li><a href="4_gc.html"><span>Garbage Collector</span></a></li>
+				</ul>
+				
+				<h4>5. LLVM</h4>
+				<ul>
+					<li><a href="5_overview.html"><span>Overview</span></a></li>
+					<li><a href="5_jit.html"><span>LLVM JIT</span></a></li>
+				</ul>
+				
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+			
+			<!-- BEGIN CONTENT -->
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">Bytecode</h1><hr>
+         	<p>Content will be available soon.</p>
+			</div>
+         	<!-- END CONTENT -->
+         	
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="../scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

+ 132 - 0
docs/internals/3_codegen.html

@@ -0,0 +1,132 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity: Code Generation</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="../scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="../stylesheets/styles.css">
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="../images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li><a href="../index.html">Gravity</a></li>
+				<li class="active"><a href="index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>1. OVERVIEW</h4>
+				<ul>
+					<li><a href="index.html"><span>Introduction</span></a></li>
+					<li><a href="1_changelog.html"><span>Changelog</span></a></li>
+					<li><a href="1_files.html"><span>Gravity files</span></a></li>
+				</ul>
+				
+				<h4>2. PREREQUISITES</h4>
+				<ul>
+					<li><a href="2_overview.html"><span>Overview</span></a></li>
+					<li><a href="2_array.html"><span>Array</span></a></li>
+					<li><a href="2_hash.html"><span>Hash</span></a></li>
+					<li><a href="2_memory.html"><span>Memory</span></a></li>
+					<li><a href="2_utils.html"><span>Utils</span></a></li>
+					<li><a href="2_json.html"><span>JSON</span></a></li>
+					<li><a href="2_visitor.html"><span>Visitor Pattern</span></a></li>
+					<li><a href="2_vm.html"><span>Stack vs Register VM</span></a></li>
+					<li><a href="2_class.html"><span>Class and metaclass</span></a></li>
+				</ul>
+				
+				<h4>3. COMPILER</h4>
+				<ul>
+					<li><a href="3_overview.html"><span>Overview</span></a></li>
+					<li><a href="3_grammar.html"><span>Grammar</span></a></li>
+					<li><a href="3_lexer.html"><span>Lexer</span></a></li>
+					<li><a href="3_parser.html"><span>Parser</span></a></li>
+					<li><a href="3_prattparser.html"><span>Pratt Parser</span></a></li>
+					<li><a href="3_ast.html"><span>AST</span></a></li>
+					<li><a href="3_symboltable.html"><span>Symbol Table</span></a></li>
+					<li><a href="3_semantic.html"><span>Semantic Analyses</span></a></li>
+					<li><a href="3_opcodes.html"><span>Opcodes</span></a></li>
+					<li><a href="3_ircode.html"><span>IRCode</span></a></li>
+					<li><a href="3_codegen.html" class="active"><span>Code Generation</span></a></li>
+					<li><a href="3_optimizer.html"><span>Optimizer</span></a></li>
+					<li><a href="3_bytecode.html"><span>Bytecode</span></a></li>
+				</ul>
+				
+				<h4>4. RUNTIME</h4>
+				<ul>
+					<li><a href="4_overview.html"><span>Overview</span></a></li>
+					<li><a href="4_objmodel.html"><span>Object Model</span></a></li>
+					<li><a href="4_memory.html"><span>Memory Ownership</span></a></li>
+					<li><a href="4_vm.html"><span>Virtual Machine</span></a></li>
+					<li><a href="4_performance.html"><span>Efficient Interpreter</span></a></li>
+					<li><a href="4_base.html"><span>Base Classes</span></a></li>
+					<li><a href="4_gc.html"><span>Garbage Collector</span></a></li>
+				</ul>
+				
+				<h4>5. LLVM</h4>
+				<ul>
+					<li><a href="5_overview.html"><span>Overview</span></a></li>
+					<li><a href="5_jit.html"><span>LLVM JIT</span></a></li>
+				</ul>
+				
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+			
+			<!-- BEGIN CONTENT -->
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">Code Generation</h1><hr>
+         	<p>Content will be available soon.</p>
+			</div>
+         	<!-- END CONTENT -->
+         	
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="../scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

+ 132 - 0
docs/internals/3_grammar.html

@@ -0,0 +1,132 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity: Grammar</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="../scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="../stylesheets/styles.css">
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="../images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li><a href="../index.html">Gravity</a></li>
+				<li class="active"><a href="index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>1. OVERVIEW</h4>
+				<ul>
+					<li><a href="index.html"><span>Introduction</span></a></li>
+					<li><a href="1_changelog.html"><span>Changelog</span></a></li>
+					<li><a href="1_files.html"><span>Gravity files</span></a></li>
+				</ul>
+				
+				<h4>2. PREREQUISITES</h4>
+				<ul>
+					<li><a href="2_overview.html"><span>Overview</span></a></li>
+					<li><a href="2_array.html"><span>Array</span></a></li>
+					<li><a href="2_hash.html"><span>Hash</span></a></li>
+					<li><a href="2_memory.html"><span>Memory</span></a></li>
+					<li><a href="2_utils.html"><span>Utils</span></a></li>
+					<li><a href="2_json.html"><span>JSON</span></a></li>
+					<li><a href="2_visitor.html"><span>Visitor Pattern</span></a></li>
+					<li><a href="2_vm.html"><span>Stack vs Register VM</span></a></li>
+					<li><a href="2_class.html"><span>Class and metaclass</span></a></li>
+				</ul>
+				
+				<h4>3. COMPILER</h4>
+				<ul>
+					<li><a href="3_overview.html"><span>Overview</span></a></li>
+					<li><a href="3_grammar.html" class="active"><span>Grammar</span></a></li>
+					<li><a href="3_lexer.html"><span>Lexer</span></a></li>
+					<li><a href="3_parser.html"><span>Parser</span></a></li>
+					<li><a href="3_prattparser.html"><span>Pratt Parser</span></a></li>
+					<li><a href="3_ast.html"><span>AST</span></a></li>
+					<li><a href="3_symboltable.html"><span>Symbol Table</span></a></li>
+					<li><a href="3_semantic.html"><span>Semantic Analyses</span></a></li>
+					<li><a href="3_opcodes.html"><span>Opcodes</span></a></li>
+					<li><a href="3_ircode.html"><span>IRCode</span></a></li>
+					<li><a href="3_codegen.html"><span>Code Generation</span></a></li>
+					<li><a href="3_optimizer.html"><span>Optimizer</span></a></li>
+					<li><a href="3_bytecode.html"><span>Bytecode</span></a></li>
+				</ul>
+				
+				<h4>4. RUNTIME</h4>
+				<ul>
+					<li><a href="4_overview.html"><span>Overview</span></a></li>
+					<li><a href="4_objmodel.html"><span>Object Model</span></a></li>
+					<li><a href="4_memory.html"><span>Memory Ownership</span></a></li>
+					<li><a href="4_vm.html"><span>Virtual Machine</span></a></li>
+					<li><a href="4_performance.html"><span>Efficient Interpreter</span></a></li>
+					<li><a href="4_base.html"><span>Base Classes</span></a></li>
+					<li><a href="4_gc.html"><span>Garbage Collector</span></a></li>
+				</ul>
+				
+				<h4>5. LLVM</h4>
+				<ul>
+					<li><a href="5_overview.html"><span>Overview</span></a></li>
+					<li><a href="5_jit.html"><span>LLVM JIT</span></a></li>
+				</ul>
+				
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+			
+			<!-- BEGIN CONTENT -->
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">Grammar</h1><hr>
+         	<p>Content will be available soon.</p>
+			</div>
+         	<!-- END CONTENT -->
+         	
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="../scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

+ 132 - 0
docs/internals/3_ircode.html

@@ -0,0 +1,132 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity: Intermediate Representation</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="../scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="../stylesheets/styles.css">
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="../images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li><a href="../index.html">Gravity</a></li>
+				<li class="active"><a href="index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>1. OVERVIEW</h4>
+				<ul>
+					<li><a href="index.html"><span>Introduction</span></a></li>
+					<li><a href="1_changelog.html"><span>Changelog</span></a></li>
+					<li><a href="1_files.html"><span>Gravity files</span></a></li>
+				</ul>
+				
+				<h4>2. PREREQUISITES</h4>
+				<ul>
+					<li><a href="2_overview.html"><span>Overview</span></a></li>
+					<li><a href="2_array.html"><span>Array</span></a></li>
+					<li><a href="2_hash.html"><span>Hash</span></a></li>
+					<li><a href="2_memory.html"><span>Memory</span></a></li>
+					<li><a href="2_utils.html"><span>Utils</span></a></li>
+					<li><a href="2_json.html"><span>JSON</span></a></li>
+					<li><a href="2_visitor.html"><span>Visitor Pattern</span></a></li>
+					<li><a href="2_vm.html"><span>Stack vs Register VM</span></a></li>
+					<li><a href="2_class.html"><span>Class and metaclass</span></a></li>
+				</ul>
+				
+				<h4>3. COMPILER</h4>
+				<ul>
+					<li><a href="3_overview.html"><span>Overview</span></a></li>
+					<li><a href="3_grammar.html"><span>Grammar</span></a></li>
+					<li><a href="3_lexer.html"><span>Lexer</span></a></li>
+					<li><a href="3_parser.html"><span>Parser</span></a></li>
+					<li><a href="3_prattparser.html"><span>Pratt Parser</span></a></li>
+					<li><a href="3_ast.html"><span>AST</span></a></li>
+					<li><a href="3_symboltable.html"><span>Symbol Table</span></a></li>
+					<li><a href="3_semantic.html"><span>Semantic Analyses</span></a></li>
+					<li><a href="3_opcodes.html"><span>Opcodes</span></a></li>
+					<li><a href="3_ircode.html" class="active"><span>IRCode</span></a></li>
+					<li><a href="3_codegen.html"><span>Code Generation</span></a></li>
+					<li><a href="3_optimizer.html"><span>Optimizer</span></a></li>
+					<li><a href="3_bytecode.html"><span>Bytecode</span></a></li>
+				</ul>
+				
+				<h4>4. RUNTIME</h4>
+				<ul>
+					<li><a href="4_overview.html"><span>Overview</span></a></li>
+					<li><a href="4_objmodel.html"><span>Object Model</span></a></li>
+					<li><a href="4_memory.html"><span>Memory Ownership</span></a></li>
+					<li><a href="4_vm.html"><span>Virtual Machine</span></a></li>
+					<li><a href="4_performance.html"><span>Efficient Interpreter</span></a></li>
+					<li><a href="4_base.html"><span>Base Classes</span></a></li>
+					<li><a href="4_gc.html"><span>Garbage Collector</span></a></li>
+				</ul>
+				
+				<h4>5. LLVM</h4>
+				<ul>
+					<li><a href="5_overview.html"><span>Overview</span></a></li>
+					<li><a href="5_jit.html"><span>LLVM JIT</span></a></li>
+				</ul>
+				
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+			
+			<!-- BEGIN CONTENT -->
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">Intermediate Representation</h1><hr>
+         	<p>Content will be available soon.</p>
+			</div>
+         	<!-- END CONTENT -->
+         	
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="../scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

+ 132 - 0
docs/internals/3_lexer.html

@@ -0,0 +1,132 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity: Lexer</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="../scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="../stylesheets/styles.css">
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="../images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li><a href="../index.html">Gravity</a></li>
+				<li class="active"><a href="index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>1. OVERVIEW</h4>
+				<ul>
+					<li><a href="index.html"><span>Introduction</span></a></li>
+					<li><a href="1_changelog.html"><span>Changelog</span></a></li>
+					<li><a href="1_files.html"><span>Gravity files</span></a></li>
+				</ul>
+				
+				<h4>2. PREREQUISITES</h4>
+				<ul>
+					<li><a href="2_overview.html"><span>Overview</span></a></li>
+					<li><a href="2_array.html"><span>Array</span></a></li>
+					<li><a href="2_hash.html"><span>Hash</span></a></li>
+					<li><a href="2_memory.html"><span>Memory</span></a></li>
+					<li><a href="2_utils.html"><span>Utils</span></a></li>
+					<li><a href="2_json.html"><span>JSON</span></a></li>
+					<li><a href="2_visitor.html"><span>Visitor Pattern</span></a></li>
+					<li><a href="2_vm.html"><span>Stack vs Register VM</span></a></li>
+					<li><a href="2_class.html"><span>Class and metaclass</span></a></li>
+				</ul>
+				
+				<h4>3. COMPILER</h4>
+				<ul>
+					<li><a href="3_overview.html"><span>Overview</span></a></li>
+					<li><a href="3_grammar.html"><span>Grammar</span></a></li>
+					<li><a href="3_lexer.html" class="active"><span>Lexer</span></a></li>
+					<li><a href="3_parser.html"><span>Parser</span></a></li>
+					<li><a href="3_prattparser.html"><span>Pratt Parser</span></a></li>
+					<li><a href="3_ast.html"><span>AST</span></a></li>
+					<li><a href="3_symboltable.html"><span>Symbol Table</span></a></li>
+					<li><a href="3_semantic.html"><span>Semantic Analyses</span></a></li>
+					<li><a href="3_opcodes.html"><span>Opcodes</span></a></li>
+					<li><a href="3_ircode.html"><span>IRCode</span></a></li>
+					<li><a href="3_codegen.html"><span>Code Generation</span></a></li>
+					<li><a href="3_optimizer.html"><span>Optimizer</span></a></li>
+					<li><a href="3_bytecode.html"><span>Bytecode</span></a></li>
+				</ul>
+				
+				<h4>4. RUNTIME</h4>
+				<ul>
+					<li><a href="4_overview.html"><span>Overview</span></a></li>
+					<li><a href="4_objmodel.html"><span>Object Model</span></a></li>
+					<li><a href="4_memory.html"><span>Memory Ownership</span></a></li>
+					<li><a href="4_vm.html"><span>Virtual Machine</span></a></li>
+					<li><a href="4_performance.html"><span>Efficient Interpreter</span></a></li>
+					<li><a href="4_base.html"><span>Base Classes</span></a></li>
+					<li><a href="4_gc.html"><span>Garbage Collector</span></a></li>
+				</ul>
+				
+				<h4>5. LLVM</h4>
+				<ul>
+					<li><a href="5_overview.html"><span>Overview</span></a></li>
+					<li><a href="5_jit.html"><span>LLVM JIT</span></a></li>
+				</ul>
+				
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+			
+			<!-- BEGIN CONTENT -->
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">Lexer</h1><hr>
+         	<p>Content will be available soon.</p>
+			</div>
+         	<!-- END CONTENT -->
+         	
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="../scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

+ 132 - 0
docs/internals/3_opcodes.html

@@ -0,0 +1,132 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity: VM Opcodes</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="../scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="../stylesheets/styles.css">
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="../images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li><a href="../index.html">Gravity</a></li>
+				<li class="active"><a href="index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>1. OVERVIEW</h4>
+				<ul>
+					<li><a href="index.html"><span>Introduction</span></a></li>
+					<li><a href="1_changelog.html"><span>Changelog</span></a></li>
+					<li><a href="1_files.html"><span>Gravity files</span></a></li>
+				</ul>
+				
+				<h4>2. PREREQUISITES</h4>
+				<ul>
+					<li><a href="2_overview.html"><span>Overview</span></a></li>
+					<li><a href="2_array.html"><span>Array</span></a></li>
+					<li><a href="2_hash.html"><span>Hash</span></a></li>
+					<li><a href="2_memory.html"><span>Memory</span></a></li>
+					<li><a href="2_utils.html"><span>Utils</span></a></li>
+					<li><a href="2_json.html"><span>JSON</span></a></li>
+					<li><a href="2_visitor.html"><span>Visitor Pattern</span></a></li>
+					<li><a href="2_vm.html"><span>Stack vs Register VM</span></a></li>
+					<li><a href="2_class.html"><span>Class and metaclass</span></a></li>
+				</ul>
+				
+				<h4>3. COMPILER</h4>
+				<ul>
+					<li><a href="3_overview.html"><span>Overview</span></a></li>
+					<li><a href="3_grammar.html"><span>Grammar</span></a></li>
+					<li><a href="3_lexer.html"><span>Lexer</span></a></li>
+					<li><a href="3_parser.html"><span>Parser</span></a></li>
+					<li><a href="3_prattparser.html"><span>Pratt Parser</span></a></li>
+					<li><a href="3_ast.html"><span>AST</span></a></li>
+					<li><a href="3_symboltable.html"><span>Symbol Table</span></a></li>
+					<li><a href="3_semantic.html"><span>Semantic Analyses</span></a></li>
+					<li><a href="3_opcodes.html" class="active"><span>Opcodes</span></a></li>
+					<li><a href="3_ircode.html"><span>IRCode</span></a></li>
+					<li><a href="3_codegen.html"><span>Code Generation</span></a></li>
+					<li><a href="3_optimizer.html"><span>Optimizer</span></a></li>
+					<li><a href="3_bytecode.html"><span>Bytecode</span></a></li>
+				</ul>
+				
+				<h4>4. RUNTIME</h4>
+				<ul>
+					<li><a href="4_overview.html"><span>Overview</span></a></li>
+					<li><a href="4_objmodel.html"><span>Object Model</span></a></li>
+					<li><a href="4_memory.html"><span>Memory Ownership</span></a></li>
+					<li><a href="4_vm.html"><span>Virtual Machine</span></a></li>
+					<li><a href="4_performance.html"><span>Efficient Interpreter</span></a></li>
+					<li><a href="4_base.html"><span>Base Classes</span></a></li>
+					<li><a href="4_gc.html"><span>Garbage Collector</span></a></li>
+				</ul>
+				
+				<h4>5. LLVM</h4>
+				<ul>
+					<li><a href="5_overview.html"><span>Overview</span></a></li>
+					<li><a href="5_jit.html"><span>LLVM JIT</span></a></li>
+				</ul>
+				
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+			
+			<!-- BEGIN CONTENT -->
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">VM Opcodes</h1><hr>
+         	<p>Content will be available soon.</p>
+			</div>
+         	<!-- END CONTENT -->
+         	
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="../scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

+ 132 - 0
docs/internals/3_optimizer.html

@@ -0,0 +1,132 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity: Optimizer</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="../scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="../stylesheets/styles.css">
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="../images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li><a href="../index.html">Gravity</a></li>
+				<li class="active"><a href="index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>1. OVERVIEW</h4>
+				<ul>
+					<li><a href="index.html"><span>Introduction</span></a></li>
+					<li><a href="1_changelog.html"><span>Changelog</span></a></li>
+					<li><a href="1_files.html"><span>Gravity files</span></a></li>
+				</ul>
+				
+				<h4>2. PREREQUISITES</h4>
+				<ul>
+					<li><a href="2_overview.html"><span>Overview</span></a></li>
+					<li><a href="2_array.html"><span>Array</span></a></li>
+					<li><a href="2_hash.html"><span>Hash</span></a></li>
+					<li><a href="2_memory.html"><span>Memory</span></a></li>
+					<li><a href="2_utils.html"><span>Utils</span></a></li>
+					<li><a href="2_json.html"><span>JSON</span></a></li>
+					<li><a href="2_visitor.html"><span>Visitor Pattern</span></a></li>
+					<li><a href="2_vm.html"><span>Stack vs Register VM</span></a></li>
+					<li><a href="2_class.html"><span>Class and metaclass</span></a></li>
+				</ul>
+				
+				<h4>3. COMPILER</h4>
+				<ul>
+					<li><a href="3_overview.html"><span>Overview</span></a></li>
+					<li><a href="3_grammar.html"><span>Grammar</span></a></li>
+					<li><a href="3_lexer.html"><span>Lexer</span></a></li>
+					<li><a href="3_parser.html"><span>Parser</span></a></li>
+					<li><a href="3_prattparser.html"><span>Pratt Parser</span></a></li>
+					<li><a href="3_ast.html"><span>AST</span></a></li>
+					<li><a href="3_symboltable.html"><span>Symbol Table</span></a></li>
+					<li><a href="3_semantic.html"><span>Semantic Analyses</span></a></li>
+					<li><a href="3_opcodes.html"><span>Opcodes</span></a></li>
+					<li><a href="3_ircode.html"><span>IRCode</span></a></li>
+					<li><a href="3_codegen.html"><span>Code Generation</span></a></li>
+					<li><a href="3_optimizer.html" class="active"><span>Optimizer</span></a></li>
+					<li><a href="3_bytecode.html"><span>Bytecode</span></a></li>
+				</ul>
+				
+				<h4>4. RUNTIME</h4>
+				<ul>
+					<li><a href="4_overview.html"><span>Overview</span></a></li>
+					<li><a href="4_objmodel.html"><span>Object Model</span></a></li>
+					<li><a href="4_memory.html"><span>Memory Ownership</span></a></li>
+					<li><a href="4_vm.html"><span>Virtual Machine</span></a></li>
+					<li><a href="4_performance.html"><span>Efficient Interpreter</span></a></li>
+					<li><a href="4_base.html"><span>Base Classes</span></a></li>
+					<li><a href="4_gc.html"><span>Garbage Collector</span></a></li>
+				</ul>
+				
+				<h4>5. LLVM</h4>
+				<ul>
+					<li><a href="5_overview.html"><span>Overview</span></a></li>
+					<li><a href="5_jit.html"><span>LLVM JIT</span></a></li>
+				</ul>
+				
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+			
+			<!-- BEGIN CONTENT -->
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">Optimizer</h1><hr>
+         	<p>Content will be available soon.</p>
+			</div>
+         	<!-- END CONTENT -->
+         	
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="../scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

+ 132 - 0
docs/internals/3_overview.html

@@ -0,0 +1,132 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity: Compiler Overview</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="../scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="../stylesheets/styles.css">
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="../images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li><a href="../index.html">Gravity</a></li>
+				<li class="active"><a href="index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>1. OVERVIEW</h4>
+				<ul>
+					<li><a href="index.html"><span>Introduction</span></a></li>
+					<li><a href="1_changelog.html"><span>Changelog</span></a></li>
+					<li><a href="1_files.html"><span>Gravity files</span></a></li>
+				</ul>
+				
+				<h4>2. PREREQUISITES</h4>
+				<ul>
+					<li><a href="2_overview.html"><span>Overview</span></a></li>
+					<li><a href="2_array.html"><span>Array</span></a></li>
+					<li><a href="2_hash.html"><span>Hash</span></a></li>
+					<li><a href="2_memory.html"><span>Memory</span></a></li>
+					<li><a href="2_utils.html"><span>Utils</span></a></li>
+					<li><a href="2_json.html"><span>JSON</span></a></li>
+					<li><a href="2_visitor.html"><span>Visitor Pattern</span></a></li>
+					<li><a href="2_vm.html"><span>Stack vs Register VM</span></a></li>
+					<li><a href="2_class.html"><span>Class and metaclass</span></a></li>
+				</ul>
+				
+				<h4>3. COMPILER</h4>
+				<ul>
+					<li><a href="3_overview.html" class="active"><span>Overview</span></a></li>
+					<li><a href="3_grammar.html"><span>Grammar</span></a></li>
+					<li><a href="3_lexer.html"><span>Lexer</span></a></li>
+					<li><a href="3_parser.html"><span>Parser</span></a></li>
+					<li><a href="3_prattparser.html"><span>Pratt Parser</span></a></li>
+					<li><a href="3_ast.html"><span>AST</span></a></li>
+					<li><a href="3_symboltable.html"><span>Symbol Table</span></a></li>
+					<li><a href="3_semantic.html"><span>Semantic Analyses</span></a></li>
+					<li><a href="3_opcodes.html"><span>Opcodes</span></a></li>
+					<li><a href="3_ircode.html"><span>IRCode</span></a></li>
+					<li><a href="3_codegen.html"><span>Code Generation</span></a></li>
+					<li><a href="3_optimizer.html"><span>Optimizer</span></a></li>
+					<li><a href="3_bytecode.html"><span>Bytecode</span></a></li>
+				</ul>
+				
+				<h4>4. RUNTIME</h4>
+				<ul>
+					<li><a href="4_overview.html"><span>Overview</span></a></li>
+					<li><a href="4_objmodel.html"><span>Object Model</span></a></li>
+					<li><a href="4_memory.html"><span>Memory Ownership</span></a></li>
+					<li><a href="4_vm.html"><span>Virtual Machine</span></a></li>
+					<li><a href="4_performance.html"><span>Efficient Interpreter</span></a></li>
+					<li><a href="4_base.html"><span>Base Classes</span></a></li>
+					<li><a href="4_gc.html"><span>Garbage Collector</span></a></li>
+				</ul>
+				
+				<h4>5. LLVM</h4>
+				<ul>
+					<li><a href="5_overview.html"><span>Overview</span></a></li>
+					<li><a href="5_jit.html"><span>LLVM JIT</span></a></li>
+				</ul>
+				
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+			
+			<!-- BEGIN CONTENT -->
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">Compiler Overview</h1><hr>
+         	<p>Content will be available soon.</p>
+			</div>
+         	<!-- END CONTENT -->
+         	
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="../scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

+ 132 - 0
docs/internals/3_parser.html

@@ -0,0 +1,132 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity: Parser</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="../scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="../stylesheets/styles.css">
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="../images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li><a href="../index.html">Gravity</a></li>
+				<li class="active"><a href="index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>1. OVERVIEW</h4>
+				<ul>
+					<li><a href="index.html"><span>Introduction</span></a></li>
+					<li><a href="1_changelog.html"><span>Changelog</span></a></li>
+					<li><a href="1_files.html"><span>Gravity files</span></a></li>
+				</ul>
+				
+				<h4>2. PREREQUISITES</h4>
+				<ul>
+					<li><a href="2_overview.html"><span>Overview</span></a></li>
+					<li><a href="2_array.html"><span>Array</span></a></li>
+					<li><a href="2_hash.html"><span>Hash</span></a></li>
+					<li><a href="2_memory.html"><span>Memory</span></a></li>
+					<li><a href="2_utils.html"><span>Utils</span></a></li>
+					<li><a href="2_json.html"><span>JSON</span></a></li>
+					<li><a href="2_visitor.html"><span>Visitor Pattern</span></a></li>
+					<li><a href="2_vm.html"><span>Stack vs Register VM</span></a></li>
+					<li><a href="2_class.html"><span>Class and metaclass</span></a></li>
+				</ul>
+				
+				<h4>3. COMPILER</h4>
+				<ul>
+					<li><a href="3_overview.html"><span>Overview</span></a></li>
+					<li><a href="3_grammar.html"><span>Grammar</span></a></li>
+					<li><a href="3_lexer.html"><span>Lexer</span></a></li>
+					<li><a href="3_parser.html" class="active"><span>Parser</span></a></li>
+					<li><a href="3_prattparser.html"><span>Pratt Parser</span></a></li>
+					<li><a href="3_ast.html"><span>AST</span></a></li>
+					<li><a href="3_symboltable.html"><span>Symbol Table</span></a></li>
+					<li><a href="3_semantic.html"><span>Semantic Analyses</span></a></li>
+					<li><a href="3_opcodes.html"><span>Opcodes</span></a></li>
+					<li><a href="3_ircode.html"><span>IRCode</span></a></li>
+					<li><a href="3_codegen.html"><span>Code Generation</span></a></li>
+					<li><a href="3_optimizer.html"><span>Optimizer</span></a></li>
+					<li><a href="3_bytecode.html"><span>Bytecode</span></a></li>
+				</ul>
+				
+				<h4>4. RUNTIME</h4>
+				<ul>
+					<li><a href="4_overview.html"><span>Overview</span></a></li>
+					<li><a href="4_objmodel.html"><span>Object Model</span></a></li>
+					<li><a href="4_memory.html"><span>Memory Ownership</span></a></li>
+					<li><a href="4_vm.html"><span>Virtual Machine</span></a></li>
+					<li><a href="4_performance.html"><span>Efficient Interpreter</span></a></li>
+					<li><a href="4_base.html"><span>Base Classes</span></a></li>
+					<li><a href="4_gc.html"><span>Garbage Collector</span></a></li>
+				</ul>
+				
+				<h4>5. LLVM</h4>
+				<ul>
+					<li><a href="5_overview.html"><span>Overview</span></a></li>
+					<li><a href="5_jit.html"><span>LLVM JIT</span></a></li>
+				</ul>
+				
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+			
+			<!-- BEGIN CONTENT -->
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">Parser</h1><hr>
+         	<p>Content will be available soon.</p>
+			</div>
+         	<!-- END CONTENT -->
+         	
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="../scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

+ 132 - 0
docs/internals/3_prattparser.html

@@ -0,0 +1,132 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity: Pratt Parser</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="../scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="../stylesheets/styles.css">
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="../images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li><a href="../index.html">Gravity</a></li>
+				<li class="active"><a href="index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>1. OVERVIEW</h4>
+				<ul>
+					<li><a href="index.html"><span>Introduction</span></a></li>
+					<li><a href="1_changelog.html"><span>Changelog</span></a></li>
+					<li><a href="1_files.html"><span>Gravity files</span></a></li>
+				</ul>
+				
+				<h4>2. PREREQUISITES</h4>
+				<ul>
+					<li><a href="2_overview.html"><span>Overview</span></a></li>
+					<li><a href="2_array.html"><span>Array</span></a></li>
+					<li><a href="2_hash.html"><span>Hash</span></a></li>
+					<li><a href="2_memory.html"><span>Memory</span></a></li>
+					<li><a href="2_utils.html"><span>Utils</span></a></li>
+					<li><a href="2_json.html"><span>JSON</span></a></li>
+					<li><a href="2_visitor.html"><span>Visitor Pattern</span></a></li>
+					<li><a href="2_vm.html"><span>Stack vs Register VM</span></a></li>
+					<li><a href="2_class.html"><span>Class and metaclass</span></a></li>
+				</ul>
+				
+				<h4>3. COMPILER</h4>
+				<ul>
+					<li><a href="3_overview.html"><span>Overview</span></a></li>
+					<li><a href="3_grammar.html"><span>Grammar</span></a></li>
+					<li><a href="3_lexer.html"><span>Lexer</span></a></li>
+					<li><a href="3_parser.html"><span>Parser</span></a></li>
+					<li><a href="3_prattparser.html" class="active"><span>Pratt Parser</span></a></li>
+					<li><a href="3_ast.html"><span>AST</span></a></li>
+					<li><a href="3_symboltable.html"><span>Symbol Table</span></a></li>
+					<li><a href="3_semantic.html"><span>Semantic Analyses</span></a></li>
+					<li><a href="3_opcodes.html"><span>Opcodes</span></a></li>
+					<li><a href="3_ircode.html"><span>IRCode</span></a></li>
+					<li><a href="3_codegen.html"><span>Code Generation</span></a></li>
+					<li><a href="3_optimizer.html"><span>Optimizer</span></a></li>
+					<li><a href="3_bytecode.html"><span>Bytecode</span></a></li>
+				</ul>
+				
+				<h4>4. RUNTIME</h4>
+				<ul>
+					<li><a href="4_overview.html"><span>Overview</span></a></li>
+					<li><a href="4_objmodel.html"><span>Object Model</span></a></li>
+					<li><a href="4_memory.html"><span>Memory Ownership</span></a></li>
+					<li><a href="4_vm.html"><span>Virtual Machine</span></a></li>
+					<li><a href="4_performance.html"><span>Efficient Interpreter</span></a></li>
+					<li><a href="4_base.html"><span>Base Classes</span></a></li>
+					<li><a href="4_gc.html"><span>Garbage Collector</span></a></li>
+				</ul>
+				
+				<h4>5. LLVM</h4>
+				<ul>
+					<li><a href="5_overview.html"><span>Overview</span></a></li>
+					<li><a href="5_jit.html"><span>LLVM JIT</span></a></li>
+				</ul>
+				
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+			
+			<!-- BEGIN CONTENT -->
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">Pratt Parser</h1><hr>
+         	<p>Content will be available soon.</p>
+			</div>
+         	<!-- END CONTENT -->
+         	
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="../scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

+ 132 - 0
docs/internals/3_semantic.html

@@ -0,0 +1,132 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity: Semantic Analyses</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="../scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="../stylesheets/styles.css">
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="../images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li><a href="../index.html">Gravity</a></li>
+				<li class="active"><a href="index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>1. OVERVIEW</h4>
+				<ul>
+					<li><a href="index.html"><span>Introduction</span></a></li>
+					<li><a href="1_changelog.html"><span>Changelog</span></a></li>
+					<li><a href="1_files.html"><span>Gravity files</span></a></li>
+				</ul>
+				
+				<h4>2. PREREQUISITES</h4>
+				<ul>
+					<li><a href="2_overview.html"><span>Overview</span></a></li>
+					<li><a href="2_array.html"><span>Array</span></a></li>
+					<li><a href="2_hash.html"><span>Hash</span></a></li>
+					<li><a href="2_memory.html"><span>Memory</span></a></li>
+					<li><a href="2_utils.html"><span>Utils</span></a></li>
+					<li><a href="2_json.html"><span>JSON</span></a></li>
+					<li><a href="2_visitor.html"><span>Visitor Pattern</span></a></li>
+					<li><a href="2_vm.html"><span>Stack vs Register VM</span></a></li>
+					<li><a href="2_class.html"><span>Class and metaclass</span></a></li>
+				</ul>
+				
+				<h4>3. COMPILER</h4>
+				<ul>
+					<li><a href="3_overview.html"><span>Overview</span></a></li>
+					<li><a href="3_grammar.html"><span>Grammar</span></a></li>
+					<li><a href="3_lexer.html"><span>Lexer</span></a></li>
+					<li><a href="3_parser.html"><span>Parser</span></a></li>
+					<li><a href="3_prattparser.html"><span>Pratt Parser</span></a></li>
+					<li><a href="3_ast.html"><span>AST</span></a></li>
+					<li><a href="3_symboltable.html"><span>Symbol Table</span></a></li>
+					<li><a href="3_semantic.html" class="active"><span>Semantic Analyses</span></a></li>
+					<li><a href="3_opcodes.html"><span>Opcodes</span></a></li>
+					<li><a href="3_ircode.html"><span>IRCode</span></a></li>
+					<li><a href="3_codegen.html"><span>Code Generation</span></a></li>
+					<li><a href="3_optimizer.html"><span>Optimizer</span></a></li>
+					<li><a href="3_bytecode.html"><span>Bytecode</span></a></li>
+				</ul>
+				
+				<h4>4. RUNTIME</h4>
+				<ul>
+					<li><a href="4_overview.html"><span>Overview</span></a></li>
+					<li><a href="4_objmodel.html"><span>Object Model</span></a></li>
+					<li><a href="4_memory.html"><span>Memory Ownership</span></a></li>
+					<li><a href="4_vm.html"><span>Virtual Machine</span></a></li>
+					<li><a href="4_performance.html"><span>Efficient Interpreter</span></a></li>
+					<li><a href="4_base.html"><span>Base Classes</span></a></li>
+					<li><a href="4_gc.html"><span>Garbage Collector</span></a></li>
+				</ul>
+				
+				<h4>5. LLVM</h4>
+				<ul>
+					<li><a href="5_overview.html"><span>Overview</span></a></li>
+					<li><a href="5_jit.html"><span>LLVM JIT</span></a></li>
+				</ul>
+				
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+			
+			<!-- BEGIN CONTENT -->
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">Semantic Analyses</h1><hr>
+         	<p>Content will be available soon.</p>
+			</div>
+         	<!-- END CONTENT -->
+         	
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="../scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

+ 132 - 0
docs/internals/3_symboltable.html

@@ -0,0 +1,132 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity: Symbol Table</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="../scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="../stylesheets/styles.css">
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="../images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li><a href="../index.html">Gravity</a></li>
+				<li class="active"><a href="index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>1. OVERVIEW</h4>
+				<ul>
+					<li><a href="index.html"><span>Introduction</span></a></li>
+					<li><a href="1_changelog.html"><span>Changelog</span></a></li>
+					<li><a href="1_files.html"><span>Gravity files</span></a></li>
+				</ul>
+				
+				<h4>2. PREREQUISITES</h4>
+				<ul>
+					<li><a href="2_overview.html"><span>Overview</span></a></li>
+					<li><a href="2_array.html"><span>Array</span></a></li>
+					<li><a href="2_hash.html"><span>Hash</span></a></li>
+					<li><a href="2_memory.html"><span>Memory</span></a></li>
+					<li><a href="2_utils.html"><span>Utils</span></a></li>
+					<li><a href="2_json.html"><span>JSON</span></a></li>
+					<li><a href="2_visitor.html"><span>Visitor Pattern</span></a></li>
+					<li><a href="2_vm.html"><span>Stack vs Register VM</span></a></li>
+					<li><a href="2_class.html"><span>Class and metaclass</span></a></li>
+				</ul>
+				
+				<h4>3. COMPILER</h4>
+				<ul>
+					<li><a href="3_overview.html"><span>Overview</span></a></li>
+					<li><a href="3_grammar.html"><span>Grammar</span></a></li>
+					<li><a href="3_lexer.html"><span>Lexer</span></a></li>
+					<li><a href="3_parser.html"><span>Parser</span></a></li>
+					<li><a href="3_prattparser.html"><span>Pratt Parser</span></a></li>
+					<li><a href="3_ast.html"><span>AST</span></a></li>
+					<li><a href="3_symboltable.html" class="active"><span>Symbol Table</span></a></li>
+					<li><a href="3_semantic.html"><span>Semantic Analyses</span></a></li>
+					<li><a href="3_opcodes.html"><span>Opcodes</span></a></li>
+					<li><a href="3_ircode.html"><span>IRCode</span></a></li>
+					<li><a href="3_codegen.html"><span>Code Generation</span></a></li>
+					<li><a href="3_optimizer.html"><span>Optimizer</span></a></li>
+					<li><a href="3_bytecode.html"><span>Bytecode</span></a></li>
+				</ul>
+				
+				<h4>4. RUNTIME</h4>
+				<ul>
+					<li><a href="4_overview.html"><span>Overview</span></a></li>
+					<li><a href="4_objmodel.html"><span>Object Model</span></a></li>
+					<li><a href="4_memory.html"><span>Memory Ownership</span></a></li>
+					<li><a href="4_vm.html"><span>Virtual Machine</span></a></li>
+					<li><a href="4_performance.html"><span>Efficient Interpreter</span></a></li>
+					<li><a href="4_base.html"><span>Base Classes</span></a></li>
+					<li><a href="4_gc.html"><span>Garbage Collector</span></a></li>
+				</ul>
+				
+				<h4>5. LLVM</h4>
+				<ul>
+					<li><a href="5_overview.html"><span>Overview</span></a></li>
+					<li><a href="5_jit.html"><span>LLVM JIT</span></a></li>
+				</ul>
+				
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+			
+			<!-- BEGIN CONTENT -->
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">Symbol Table</h1><hr>
+         	<p>Content will be available soon.</p>
+			</div>
+         	<!-- END CONTENT -->
+         	
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="../scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

+ 132 - 0
docs/internals/4_base.html

@@ -0,0 +1,132 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity: Base Classes</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="../scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="../stylesheets/styles.css">
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="../images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li><a href="../index.html">Gravity</a></li>
+				<li class="active"><a href="index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>1. OVERVIEW</h4>
+				<ul>
+					<li><a href="index.html"><span>Introduction</span></a></li>
+					<li><a href="1_changelog.html"><span>Changelog</span></a></li>
+					<li><a href="1_files.html"><span>Gravity files</span></a></li>
+				</ul>
+				
+				<h4>2. PREREQUISITES</h4>
+				<ul>
+					<li><a href="2_overview.html"><span>Overview</span></a></li>
+					<li><a href="2_array.html"><span>Array</span></a></li>
+					<li><a href="2_hash.html"><span>Hash</span></a></li>
+					<li><a href="2_memory.html"><span>Memory</span></a></li>
+					<li><a href="2_utils.html"><span>Utils</span></a></li>
+					<li><a href="2_json.html"><span>JSON</span></a></li>
+					<li><a href="2_visitor.html"><span>Visitor Pattern</span></a></li>
+					<li><a href="2_vm.html"><span>Stack vs Register VM</span></a></li>
+					<li><a href="2_class.html"><span>Class and metaclass</span></a></li>
+				</ul>
+				
+				<h4>3. COMPILER</h4>
+				<ul>
+					<li><a href="3_overview.html"><span>Overview</span></a></li>
+					<li><a href="3_grammar.html"><span>Grammar</span></a></li>
+					<li><a href="3_lexer.html"><span>Lexer</span></a></li>
+					<li><a href="3_parser.html"><span>Parser</span></a></li>
+					<li><a href="3_prattparser.html"><span>Pratt Parser</span></a></li>
+					<li><a href="3_ast.html"><span>AST</span></a></li>
+					<li><a href="3_symboltable.html"><span>Symbol Table</span></a></li>
+					<li><a href="3_semantic.html"><span>Semantic Analyses</span></a></li>
+					<li><a href="3_opcodes.html"><span>Opcodes</span></a></li>
+					<li><a href="3_ircode.html"><span>IRCode</span></a></li>
+					<li><a href="3_codegen.html"><span>Code Generation</span></a></li>
+					<li><a href="3_optimizer.html"><span>Optimizer</span></a></li>
+					<li><a href="3_bytecode.html"><span>Bytecode</span></a></li>
+				</ul>
+				
+				<h4>4. RUNTIME</h4>
+				<ul>
+					<li><a href="4_overview.html"><span>Overview</span></a></li>
+					<li><a href="4_objmodel.html"><span>Object Model</span></a></li>
+					<li><a href="4_memory.html"><span>Memory Ownership</span></a></li>
+					<li><a href="4_vm.html"><span>Virtual Machine</span></a></li>
+					<li><a href="4_performance.html"><span>Efficient Interpreter</span></a></li>
+					<li><a href="4_base.html" class="active"><span>Base Classes</span></a></li>
+					<li><a href="4_gc.html"><span>Garbage Collector</span></a></li>
+				</ul>
+				
+				<h4>5. LLVM</h4>
+				<ul>
+					<li><a href="5_overview.html"><span>Overview</span></a></li>
+					<li><a href="5_jit.html"><span>LLVM JIT</span></a></li>
+				</ul>
+				
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+			
+			<!-- BEGIN CONTENT -->
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">Base Classes</h1><hr>
+         	<p>Content will be available soon.</p>
+			</div>
+         	<!-- END CONTENT -->
+         	
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="../scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

+ 132 - 0
docs/internals/4_gc.html

@@ -0,0 +1,132 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity: Garbage Collector</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="../scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="../stylesheets/styles.css">
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="../images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li><a href="../index.html">Gravity</a></li>
+				<li class="active"><a href="index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>1. OVERVIEW</h4>
+				<ul>
+					<li><a href="index.html"><span>Introduction</span></a></li>
+					<li><a href="1_changelog.html"><span>Changelog</span></a></li>
+					<li><a href="1_files.html"><span>Gravity files</span></a></li>
+				</ul>
+				
+				<h4>2. PREREQUISITES</h4>
+				<ul>
+					<li><a href="2_overview.html"><span>Overview</span></a></li>
+					<li><a href="2_array.html"><span>Array</span></a></li>
+					<li><a href="2_hash.html"><span>Hash</span></a></li>
+					<li><a href="2_memory.html"><span>Memory</span></a></li>
+					<li><a href="2_utils.html"><span>Utils</span></a></li>
+					<li><a href="2_json.html"><span>JSON</span></a></li>
+					<li><a href="2_visitor.html"><span>Visitor Pattern</span></a></li>
+					<li><a href="2_vm.html"><span>Stack vs Register VM</span></a></li>
+					<li><a href="2_class.html"><span>Class and metaclass</span></a></li>
+				</ul>
+				
+				<h4>3. COMPILER</h4>
+				<ul>
+					<li><a href="3_overview.html"><span>Overview</span></a></li>
+					<li><a href="3_grammar.html"><span>Grammar</span></a></li>
+					<li><a href="3_lexer.html"><span>Lexer</span></a></li>
+					<li><a href="3_parser.html"><span>Parser</span></a></li>
+					<li><a href="3_prattparser.html"><span>Pratt Parser</span></a></li>
+					<li><a href="3_ast.html"><span>AST</span></a></li>
+					<li><a href="3_symboltable.html"><span>Symbol Table</span></a></li>
+					<li><a href="3_semantic.html"><span>Semantic Analyses</span></a></li>
+					<li><a href="3_opcodes.html"><span>Opcodes</span></a></li>
+					<li><a href="3_ircode.html"><span>IRCode</span></a></li>
+					<li><a href="3_codegen.html"><span>Code Generation</span></a></li>
+					<li><a href="3_optimizer.html"><span>Optimizer</span></a></li>
+					<li><a href="3_bytecode.html"><span>Bytecode</span></a></li>
+				</ul>
+				
+				<h4>4. RUNTIME</h4>
+				<ul>
+					<li><a href="4_overview.html"><span>Overview</span></a></li>
+					<li><a href="4_objmodel.html"><span>Object Model</span></a></li>
+					<li><a href="4_memory.html"><span>Memory Ownership</span></a></li>
+					<li><a href="4_vm.html"><span>Virtual Machine</span></a></li>
+					<li><a href="4_performance.html"><span>Efficient Interpreter</span></a></li>
+					<li><a href="4_base.html"><span>Base Classes</span></a></li>
+					<li><a href="4_gc.html" class="active"><span>Garbage Collector</span></a></li>
+				</ul>
+				
+				<h4>5. LLVM</h4>
+				<ul>
+					<li><a href="5_overview.html"><span>Overview</span></a></li>
+					<li><a href="5_jit.html"><span>LLVM JIT</span></a></li>
+				</ul>
+				
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+			
+			<!-- BEGIN CONTENT -->
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">Garbage Collector</h1><hr>
+         	<p>Content will be available soon.</p>
+			</div>
+         	<!-- END CONTENT -->
+         	
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="../scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

+ 132 - 0
docs/internals/4_memory.html

@@ -0,0 +1,132 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity: Memory Ownership</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="../scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="../stylesheets/styles.css">
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="../images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li><a href="../index.html">Gravity</a></li>
+				<li class="active"><a href="index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>1. OVERVIEW</h4>
+				<ul>
+					<li><a href="index.html"><span>Introduction</span></a></li>
+					<li><a href="1_changelog.html"><span>Changelog</span></a></li>
+					<li><a href="1_files.html"><span>Gravity files</span></a></li>
+				</ul>
+				
+				<h4>2. PREREQUISITES</h4>
+				<ul>
+					<li><a href="2_overview.html"><span>Overview</span></a></li>
+					<li><a href="2_array.html"><span>Array</span></a></li>
+					<li><a href="2_hash.html"><span>Hash</span></a></li>
+					<li><a href="2_memory.html"><span>Memory</span></a></li>
+					<li><a href="2_utils.html"><span>Utils</span></a></li>
+					<li><a href="2_json.html"><span>JSON</span></a></li>
+					<li><a href="2_visitor.html"><span>Visitor Pattern</span></a></li>
+					<li><a href="2_vm.html"><span>Stack vs Register VM</span></a></li>
+					<li><a href="2_class.html"><span>Class and metaclass</span></a></li>
+				</ul>
+				
+				<h4>3. COMPILER</h4>
+				<ul>
+					<li><a href="3_overview.html"><span>Overview</span></a></li>
+					<li><a href="3_grammar.html"><span>Grammar</span></a></li>
+					<li><a href="3_lexer.html"><span>Lexer</span></a></li>
+					<li><a href="3_parser.html"><span>Parser</span></a></li>
+					<li><a href="3_prattparser.html"><span>Pratt Parser</span></a></li>
+					<li><a href="3_ast.html"><span>AST</span></a></li>
+					<li><a href="3_symboltable.html"><span>Symbol Table</span></a></li>
+					<li><a href="3_semantic.html"><span>Semantic Analyses</span></a></li>
+					<li><a href="3_opcodes.html"><span>Opcodes</span></a></li>
+					<li><a href="3_ircode.html"><span>IRCode</span></a></li>
+					<li><a href="3_codegen.html"><span>Code Generation</span></a></li>
+					<li><a href="3_optimizer.html"><span>Optimizer</span></a></li>
+					<li><a href="3_bytecode.html"><span>Bytecode</span></a></li>
+				</ul>
+				
+				<h4>4. RUNTIME</h4>
+				<ul>
+					<li><a href="4_overview.html"><span>Overview</span></a></li>
+					<li><a href="4_objmodel.html"><span>Object Model</span></a></li>
+					<li><a href="4_memory.html" class="active"><span>Memory Ownership</span></a></li>
+					<li><a href="4_vm.html"><span>Virtual Machine</span></a></li>
+					<li><a href="4_performance.html"><span>Efficient Interpreter</span></a></li>
+					<li><a href="4_base.html"><span>Base Classes</span></a></li>
+					<li><a href="4_gc.html"><span>Garbage Collector</span></a></li>
+				</ul>
+				
+				<h4>5. LLVM</h4>
+				<ul>
+					<li><a href="5_overview.html"><span>Overview</span></a></li>
+					<li><a href="5_jit.html"><span>LLVM JIT</span></a></li>
+				</ul>
+				
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+			
+			<!-- BEGIN CONTENT -->
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">Memory Ownership</h1><hr>
+         	<p>Content will be available soon.</p>
+			</div>
+         	<!-- END CONTENT -->
+         	
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="../scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

+ 132 - 0
docs/internals/4_objmodel.html

@@ -0,0 +1,132 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity: Object Model</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="../scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="../stylesheets/styles.css">
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="../images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li><a href="../index.html">Gravity</a></li>
+				<li class="active"><a href="index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>1. OVERVIEW</h4>
+				<ul>
+					<li><a href="index.html"><span>Introduction</span></a></li>
+					<li><a href="1_changelog.html"><span>Changelog</span></a></li>
+					<li><a href="1_files.html"><span>Gravity files</span></a></li>
+				</ul>
+				
+				<h4>2. PREREQUISITES</h4>
+				<ul>
+					<li><a href="2_overview.html"><span>Overview</span></a></li>
+					<li><a href="2_array.html"><span>Array</span></a></li>
+					<li><a href="2_hash.html"><span>Hash</span></a></li>
+					<li><a href="2_memory.html"><span>Memory</span></a></li>
+					<li><a href="2_utils.html"><span>Utils</span></a></li>
+					<li><a href="2_json.html"><span>JSON</span></a></li>
+					<li><a href="2_visitor.html"><span>Visitor Pattern</span></a></li>
+					<li><a href="2_vm.html"><span>Stack vs Register VM</span></a></li>
+					<li><a href="2_class.html"><span>Class and metaclass</span></a></li>
+				</ul>
+				
+				<h4>3. COMPILER</h4>
+				<ul>
+					<li><a href="3_overview.html"><span>Overview</span></a></li>
+					<li><a href="3_grammar.html"><span>Grammar</span></a></li>
+					<li><a href="3_lexer.html"><span>Lexer</span></a></li>
+					<li><a href="3_parser.html"><span>Parser</span></a></li>
+					<li><a href="3_prattparser.html"><span>Pratt Parser</span></a></li>
+					<li><a href="3_ast.html"><span>AST</span></a></li>
+					<li><a href="3_symboltable.html"><span>Symbol Table</span></a></li>
+					<li><a href="3_semantic.html"><span>Semantic Analyses</span></a></li>
+					<li><a href="3_opcodes.html"><span>Opcodes</span></a></li>
+					<li><a href="3_ircode.html"><span>IRCode</span></a></li>
+					<li><a href="3_codegen.html"><span>Code Generation</span></a></li>
+					<li><a href="3_optimizer.html"><span>Optimizer</span></a></li>
+					<li><a href="3_bytecode.html"><span>Bytecode</span></a></li>
+				</ul>
+				
+				<h4>4. RUNTIME</h4>
+				<ul>
+					<li><a href="4_overview.html"><span>Overview</span></a></li>
+					<li><a href="4_objmodel.html" class="active"><span>Object Model</span></a></li>
+					<li><a href="4_memory.html"><span>Memory Ownership</span></a></li>
+					<li><a href="4_vm.html"><span>Virtual Machine</span></a></li>
+					<li><a href="4_performance.html"><span>Efficient Interpreter</span></a></li>
+					<li><a href="4_base.html"><span>Base Classes</span></a></li>
+					<li><a href="4_gc.html"><span>Garbage Collector</span></a></li>
+				</ul>
+				
+				<h4>5. LLVM</h4>
+				<ul>
+					<li><a href="5_overview.html"><span>Overview</span></a></li>
+					<li><a href="5_jit.html"><span>LLVM JIT</span></a></li>
+				</ul>
+				
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+			
+			<!-- BEGIN CONTENT -->
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">Object Model</h1><hr>
+         	<p>Content will be available soon.</p>
+			</div>
+         	<!-- END CONTENT -->
+         	
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="../scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

+ 132 - 0
docs/internals/4_overview.html

@@ -0,0 +1,132 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity: Runtime Overview</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="../scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="../stylesheets/styles.css">
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="../images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li><a href="../index.html">Gravity</a></li>
+				<li class="active"><a href="index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>1. OVERVIEW</h4>
+				<ul>
+					<li><a href="index.html"><span>Introduction</span></a></li>
+					<li><a href="1_changelog.html"><span>Changelog</span></a></li>
+					<li><a href="1_files.html"><span>Gravity files</span></a></li>
+				</ul>
+				
+				<h4>2. PREREQUISITES</h4>
+				<ul>
+					<li><a href="2_overview.html"><span>Overview</span></a></li>
+					<li><a href="2_array.html"><span>Array</span></a></li>
+					<li><a href="2_hash.html"><span>Hash</span></a></li>
+					<li><a href="2_memory.html"><span>Memory</span></a></li>
+					<li><a href="2_utils.html"><span>Utils</span></a></li>
+					<li><a href="2_json.html"><span>JSON</span></a></li>
+					<li><a href="2_visitor.html"><span>Visitor Pattern</span></a></li>
+					<li><a href="2_vm.html"><span>Stack vs Register VM</span></a></li>
+					<li><a href="2_class.html"><span>Class and metaclass</span></a></li>
+				</ul>
+				
+				<h4>3. COMPILER</h4>
+				<ul>
+					<li><a href="3_overview.html"><span>Overview</span></a></li>
+					<li><a href="3_grammar.html"><span>Grammar</span></a></li>
+					<li><a href="3_lexer.html"><span>Lexer</span></a></li>
+					<li><a href="3_parser.html"><span>Parser</span></a></li>
+					<li><a href="3_prattparser.html"><span>Pratt Parser</span></a></li>
+					<li><a href="3_ast.html"><span>AST</span></a></li>
+					<li><a href="3_symboltable.html"><span>Symbol Table</span></a></li>
+					<li><a href="3_semantic.html"><span>Semantic Analyses</span></a></li>
+					<li><a href="3_opcodes.html"><span>Opcodes</span></a></li>
+					<li><a href="3_ircode.html"><span>IRCode</span></a></li>
+					<li><a href="3_codegen.html"><span>Code Generation</span></a></li>
+					<li><a href="3_optimizer.html"><span>Optimizer</span></a></li>
+					<li><a href="3_bytecode.html"><span>Bytecode</span></a></li>
+				</ul>
+				
+				<h4>4. RUNTIME</h4>
+				<ul>
+					<li><a href="4_overview.html" class="active"><span>Overview</span></a></li>
+					<li><a href="4_objmodel.html"><span>Object Model</span></a></li>
+					<li><a href="4_memory.html"><span>Memory Ownership</span></a></li>
+					<li><a href="4_vm.html"><span>Virtual Machine</span></a></li>
+					<li><a href="4_performance.html"><span>Efficient Interpreter</span></a></li>
+					<li><a href="4_base.html"><span>Base Classes</span></a></li>
+					<li><a href="4_gc.html"><span>Garbage Collector</span></a></li>
+				</ul>
+				
+				<h4>5. LLVM</h4>
+				<ul>
+					<li><a href="5_overview.html"><span>Overview</span></a></li>
+					<li><a href="5_jit.html"><span>LLVM JIT</span></a></li>
+				</ul>
+				
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+			
+			<!-- BEGIN CONTENT -->
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">Runtime Overview</h1><hr>
+         	<p>Content will be available soon.</p>
+			</div>
+         	<!-- END CONTENT -->
+         	
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="../scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

+ 132 - 0
docs/internals/4_performance.html

@@ -0,0 +1,132 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity: Efficient Interpreter</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="../scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="../stylesheets/styles.css">
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="../images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li><a href="../index.html">Gravity</a></li>
+				<li class="active"><a href="index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>1. OVERVIEW</h4>
+				<ul>
+					<li><a href="index.html"><span>Introduction</span></a></li>
+					<li><a href="1_changelog.html"><span>Changelog</span></a></li>
+					<li><a href="1_files.html"><span>Gravity files</span></a></li>
+				</ul>
+				
+				<h4>2. PREREQUISITES</h4>
+				<ul>
+					<li><a href="2_overview.html"><span>Overview</span></a></li>
+					<li><a href="2_array.html"><span>Array</span></a></li>
+					<li><a href="2_hash.html"><span>Hash</span></a></li>
+					<li><a href="2_memory.html"><span>Memory</span></a></li>
+					<li><a href="2_utils.html"><span>Utils</span></a></li>
+					<li><a href="2_json.html"><span>JSON</span></a></li>
+					<li><a href="2_visitor.html"><span>Visitor Pattern</span></a></li>
+					<li><a href="2_vm.html"><span>Stack vs Register VM</span></a></li>
+					<li><a href="2_class.html"><span>Class and metaclass</span></a></li>
+				</ul>
+				
+				<h4>3. COMPILER</h4>
+				<ul>
+					<li><a href="3_overview.html"><span>Overview</span></a></li>
+					<li><a href="3_grammar.html"><span>Grammar</span></a></li>
+					<li><a href="3_lexer.html"><span>Lexer</span></a></li>
+					<li><a href="3_parser.html"><span>Parser</span></a></li>
+					<li><a href="3_prattparser.html"><span>Pratt Parser</span></a></li>
+					<li><a href="3_ast.html"><span>AST</span></a></li>
+					<li><a href="3_symboltable.html"><span>Symbol Table</span></a></li>
+					<li><a href="3_semantic.html"><span>Semantic Analyses</span></a></li>
+					<li><a href="3_opcodes.html"><span>Opcodes</span></a></li>
+					<li><a href="3_ircode.html"><span>IRCode</span></a></li>
+					<li><a href="3_codegen.html"><span>Code Generation</span></a></li>
+					<li><a href="3_optimizer.html"><span>Optimizer</span></a></li>
+					<li><a href="3_bytecode.html"><span>Bytecode</span></a></li>
+				</ul>
+				
+				<h4>4. RUNTIME</h4>
+				<ul>
+					<li><a href="4_overview.html"><span>Overview</span></a></li>
+					<li><a href="4_objmodel.html"><span>Object Model</span></a></li>
+					<li><a href="4_memory.html"><span>Memory Ownership</span></a></li>
+					<li><a href="4_vm.html"><span>Virtual Machine</span></a></li>
+					<li><a href="4_performance.html" class="active"><span>Efficient Interpreter</span></a></li>
+					<li><a href="4_base.html"><span>Base Classes</span></a></li>
+					<li><a href="4_gc.html"><span>Garbage Collector</span></a></li>
+				</ul>
+				
+				<h4>5. LLVM</h4>
+				<ul>
+					<li><a href="5_overview.html"><span>Overview</span></a></li>
+					<li><a href="5_jit.html"><span>LLVM JIT</span></a></li>
+				</ul>
+				
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+			
+			<!-- BEGIN CONTENT -->
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">Efficient Interpreter</h1><hr>
+         	<p>Content will be available soon.</p>
+			</div>
+         	<!-- END CONTENT -->
+         	
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="../scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

+ 132 - 0
docs/internals/4_vm.html

@@ -0,0 +1,132 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity: Virtual Machine</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="../scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="../stylesheets/styles.css">
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="../images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li><a href="../index.html">Gravity</a></li>
+				<li class="active"><a href="index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>1. OVERVIEW</h4>
+				<ul>
+					<li><a href="index.html"><span>Introduction</span></a></li>
+					<li><a href="1_changelog.html"><span>Changelog</span></a></li>
+					<li><a href="1_files.html"><span>Gravity files</span></a></li>
+				</ul>
+				
+				<h4>2. PREREQUISITES</h4>
+				<ul>
+					<li><a href="2_overview.html"><span>Overview</span></a></li>
+					<li><a href="2_array.html"><span>Array</span></a></li>
+					<li><a href="2_hash.html"><span>Hash</span></a></li>
+					<li><a href="2_memory.html"><span>Memory</span></a></li>
+					<li><a href="2_utils.html"><span>Utils</span></a></li>
+					<li><a href="2_json.html"><span>JSON</span></a></li>
+					<li><a href="2_visitor.html"><span>Visitor Pattern</span></a></li>
+					<li><a href="2_vm.html"><span>Stack vs Register VM</span></a></li>
+					<li><a href="2_class.html"><span>Class and metaclass</span></a></li>
+				</ul>
+				
+				<h4>3. COMPILER</h4>
+				<ul>
+					<li><a href="3_overview.html"><span>Overview</span></a></li>
+					<li><a href="3_grammar.html"><span>Grammar</span></a></li>
+					<li><a href="3_lexer.html"><span>Lexer</span></a></li>
+					<li><a href="3_parser.html"><span>Parser</span></a></li>
+					<li><a href="3_prattparser.html"><span>Pratt Parser</span></a></li>
+					<li><a href="3_ast.html"><span>AST</span></a></li>
+					<li><a href="3_symboltable.html"><span>Symbol Table</span></a></li>
+					<li><a href="3_semantic.html"><span>Semantic Analyses</span></a></li>
+					<li><a href="3_opcodes.html"><span>Opcodes</span></a></li>
+					<li><a href="3_ircode.html"><span>IRCode</span></a></li>
+					<li><a href="3_codegen.html"><span>Code Generation</span></a></li>
+					<li><a href="3_optimizer.html"><span>Optimizer</span></a></li>
+					<li><a href="3_bytecode.html"><span>Bytecode</span></a></li>
+				</ul>
+				
+				<h4>4. RUNTIME</h4>
+				<ul>
+					<li><a href="4_overview.html"><span>Overview</span></a></li>
+					<li><a href="4_objmodel.html"><span>Object Model</span></a></li>
+					<li><a href="4_memory.html"><span>Memory Ownership</span></a></li>
+					<li><a href="4_vm.html" class="active"><span>Virtual Machine</span></a></li>
+					<li><a href="4_performance.html"><span>Efficient Interpreter</span></a></li>
+					<li><a href="4_base.html"><span>Base Classes</span></a></li>
+					<li><a href="4_gc.html"><span>Garbage Collector</span></a></li>
+				</ul>
+				
+				<h4>5. LLVM</h4>
+				<ul>
+					<li><a href="5_overview.html"><span>Overview</span></a></li>
+					<li><a href="5_jit.html"><span>LLVM JIT</span></a></li>
+				</ul>
+				
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+			
+			<!-- BEGIN CONTENT -->
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">Virtual Machine</h1><hr>
+         	<p>Content will be available soon.</p>
+			</div>
+         	<!-- END CONTENT -->
+         	
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="../scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

+ 132 - 0
docs/internals/5_jit.html

@@ -0,0 +1,132 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity: LLVM JIT</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="../scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="../stylesheets/styles.css">
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="../images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li><a href="../index.html">Gravity</a></li>
+				<li class="active"><a href="index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>1. OVERVIEW</h4>
+				<ul>
+					<li><a href="index.html"><span>Introduction</span></a></li>
+					<li><a href="1_changelog.html"><span>Changelog</span></a></li>
+					<li><a href="1_files.html"><span>Gravity files</span></a></li>
+				</ul>
+				
+				<h4>2. PREREQUISITES</h4>
+				<ul>
+					<li><a href="2_overview.html"><span>Overview</span></a></li>
+					<li><a href="2_array.html"><span>Array</span></a></li>
+					<li><a href="2_hash.html"><span>Hash</span></a></li>
+					<li><a href="2_memory.html"><span>Memory</span></a></li>
+					<li><a href="2_utils.html"><span>Utils</span></a></li>
+					<li><a href="2_json.html"><span>JSON</span></a></li>
+					<li><a href="2_visitor.html"><span>Visitor Pattern</span></a></li>
+					<li><a href="2_vm.html"><span>Stack vs Register VM</span></a></li>
+					<li><a href="2_class.html"><span>Class and metaclass</span></a></li>
+				</ul>
+				
+				<h4>3. COMPILER</h4>
+				<ul>
+					<li><a href="3_overview.html"><span>Overview</span></a></li>
+					<li><a href="3_grammar.html"><span>Grammar</span></a></li>
+					<li><a href="3_lexer.html"><span>Lexer</span></a></li>
+					<li><a href="3_parser.html"><span>Parser</span></a></li>
+					<li><a href="3_prattparser.html"><span>Pratt Parser</span></a></li>
+					<li><a href="3_ast.html"><span>AST</span></a></li>
+					<li><a href="3_symboltable.html"><span>Symbol Table</span></a></li>
+					<li><a href="3_semantic.html"><span>Semantic Analyses</span></a></li>
+					<li><a href="3_opcodes.html"><span>Opcodes</span></a></li>
+					<li><a href="3_ircode.html"><span>IRCode</span></a></li>
+					<li><a href="3_codegen.html"><span>Code Generation</span></a></li>
+					<li><a href="3_optimizer.html"><span>Optimizer</span></a></li>
+					<li><a href="3_bytecode.html"><span>Bytecode</span></a></li>
+				</ul>
+				
+				<h4>4. RUNTIME</h4>
+				<ul>
+					<li><a href="4_overview.html"><span>Overview</span></a></li>
+					<li><a href="4_objmodel.html"><span>Object Model</span></a></li>
+					<li><a href="4_memory.html"><span>Memory Ownership</span></a></li>
+					<li><a href="4_vm.html"><span>Virtual Machine</span></a></li>
+					<li><a href="4_performance.html"><span>Efficient Interpreter</span></a></li>
+					<li><a href="4_base.html"><span>Base Classes</span></a></li>
+					<li><a href="4_gc.html"><span>Garbage Collector</span></a></li>
+				</ul>
+				
+				<h4>5. LLVM</h4>
+				<ul>
+					<li><a href="5_overview.html"><span>Overview</span></a></li>
+					<li><a href="5_jit.html" class="active"><span>LLVM JIT</span></a></li>
+				</ul>
+				
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+			
+			<!-- BEGIN CONTENT -->
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">LLVM JIT</h1><hr>
+         	<p>Content will be available soon.</p>
+			</div>
+         	<!-- END CONTENT -->
+         	
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="../scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

+ 132 - 0
docs/internals/5_overview.html

@@ -0,0 +1,132 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity: LLVM Overview</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="../scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="../stylesheets/styles.css">
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="../images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li><a href="../index.html">Gravity</a></li>
+				<li class="active"><a href="index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>1. OVERVIEW</h4>
+				<ul>
+					<li><a href="index.html"><span>Introduction</span></a></li>
+					<li><a href="1_changelog.html"><span>Changelog</span></a></li>
+					<li><a href="1_files.html"><span>Gravity files</span></a></li>
+				</ul>
+				
+				<h4>2. PREREQUISITES</h4>
+				<ul>
+					<li><a href="2_overview.html"><span>Overview</span></a></li>
+					<li><a href="2_array.html"><span>Array</span></a></li>
+					<li><a href="2_hash.html"><span>Hash</span></a></li>
+					<li><a href="2_memory.html"><span>Memory</span></a></li>
+					<li><a href="2_utils.html"><span>Utils</span></a></li>
+					<li><a href="2_json.html"><span>JSON</span></a></li>
+					<li><a href="2_visitor.html"><span>Visitor Pattern</span></a></li>
+					<li><a href="2_vm.html"><span>Stack vs Register VM</span></a></li>
+					<li><a href="2_class.html"><span>Class and metaclass</span></a></li>
+				</ul>
+				
+				<h4>3. COMPILER</h4>
+				<ul>
+					<li><a href="3_overview.html"><span>Overview</span></a></li>
+					<li><a href="3_grammar.html"><span>Grammar</span></a></li>
+					<li><a href="3_lexer.html"><span>Lexer</span></a></li>
+					<li><a href="3_parser.html"><span>Parser</span></a></li>
+					<li><a href="3_prattparser.html"><span>Pratt Parser</span></a></li>
+					<li><a href="3_ast.html"><span>AST</span></a></li>
+					<li><a href="3_symboltable.html"><span>Symbol Table</span></a></li>
+					<li><a href="3_semantic.html"><span>Semantic Analyses</span></a></li>
+					<li><a href="3_opcodes.html"><span>Opcodes</span></a></li>
+					<li><a href="3_ircode.html"><span>IRCode</span></a></li>
+					<li><a href="3_codegen.html"><span>Code Generation</span></a></li>
+					<li><a href="3_optimizer.html"><span>Optimizer</span></a></li>
+					<li><a href="3_bytecode.html"><span>Bytecode</span></a></li>
+				</ul>
+				
+				<h4>4. RUNTIME</h4>
+				<ul>
+					<li><a href="4_overview.html"><span>Overview</span></a></li>
+					<li><a href="4_objmodel.html"><span>Object Model</span></a></li>
+					<li><a href="4_memory.html"><span>Memory Ownership</span></a></li>
+					<li><a href="4_vm.html"><span>Virtual Machine</span></a></li>
+					<li><a href="4_performance.html"><span>Efficient Interpreter</span></a></li>
+					<li><a href="4_base.html"><span>Base Classes</span></a></li>
+					<li><a href="4_gc.html"><span>Garbage Collector</span></a></li>
+				</ul>
+				
+				<h4>5. LLVM</h4>
+				<ul>
+					<li><a href="5_overview.html" class="active"><span>Overview</span></a></li>
+					<li><a href="5_jit.html"><span>LLVM JIT</span></a></li>
+				</ul>
+				
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+			
+			<!-- BEGIN CONTENT -->
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">LLVM Overview</h1><hr>
+         	<p>Content will be available soon.</p>
+			</div>
+         	<!-- END CONTENT -->
+         	
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="../scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

+ 144 - 0
docs/internals/index.html

@@ -0,0 +1,144 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity: Internals</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="../scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="../stylesheets/styles.css">
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="../images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li><a href="../index.html">Gravity</a></li>
+				<li class="active"><a href="index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>1. OVERVIEW</h4>
+				<ul>
+					<li><a href="index.html" class="active"><span>Introduction</span></a></li>
+					<li><a href="1_changelog.html"><span>Changelog</span></a></li>
+					<li><a href="1_files.html"><span>Gravity files</span></a></li>
+				</ul>
+				
+				<h4>2. PREREQUISITES</h4>
+				<ul>
+					<li><a href="2_overview.html"><span>Overview</span></a></li>
+					<li><a href="2_array.html"><span>Array</span></a></li>
+					<li><a href="2_hash.html"><span>Hash</span></a></li>
+					<li><a href="2_memory.html"><span>Memory</span></a></li>
+					<li><a href="2_utils.html"><span>Utils</span></a></li>
+					<li><a href="2_json.html"><span>JSON</span></a></li>
+					<li><a href="2_visitor.html"><span>Visitor Pattern</span></a></li>
+					<li><a href="2_vm.html"><span>Stack vs Register VM</span></a></li>
+					<li><a href="2_class.html"><span>Class and metaclass</span></a></li>
+				</ul>
+				
+				<h4>3. COMPILER</h4>
+				<ul>
+					<li><a href="3_overview.html"><span>Overview</span></a></li>
+					<li><a href="3_grammar.html"><span>Grammar</span></a></li>
+					<li><a href="3_lexer.html"><span>Lexer</span></a></li>
+					<li><a href="3_parser.html"><span>Parser</span></a></li>
+					<li><a href="3_prattparser.html"><span>Pratt Parser</span></a></li>
+					<li><a href="3_ast.html"><span>AST</span></a></li>
+					<li><a href="3_symboltable.html"><span>Symbol Table</span></a></li>
+					<li><a href="3_semantic.html"><span>Semantic Analyses</span></a></li>
+					<li><a href="3_opcodes.html"><span>Opcodes</span></a></li>
+					<li><a href="3_ircode.html"><span>IRCode</span></a></li>
+					<li><a href="3_codegen.html"><span>Code Generation</span></a></li>
+					<li><a href="3_optimizer.html"><span>Optimizer</span></a></li>
+					<li><a href="3_bytecode.html"><span>Bytecode</span></a></li>
+				</ul>
+				
+				<h4>4. RUNTIME</h4>
+				<ul>
+					<li><a href="4_overview.html"><span>Overview</span></a></li>
+					<li><a href="4_objmodel.html"><span>Object Model</span></a></li>
+					<li><a href="4_memory.html"><span>Memory Ownership</span></a></li>
+					<li><a href="4_vm.html"><span>Virtual Machine</span></a></li>
+					<li><a href="4_performance.html"><span>Efficient Interpreter</span></a></li>
+					<li><a href="4_base.html"><span>Base Classes</span></a></li>
+					<li><a href="4_gc.html"><span>Garbage Collector</span></a></li>
+				</ul>
+				
+				<h4>5. LLVM</h4>
+				<ul>
+					<li><a href="5_overview.html"><span>Overview</span></a></li>
+					<li><a href="5_jit.html"><span>LLVM JIT</span></a></li>
+				</ul>
+				
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+			
+			<!-- BEGIN CONTENT -->
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">Introduction</h1><hr>
+         				
+			<p class="section-content">
+				When I started developing the Gravity programming language I knew nothing about how to develop an interpreter or how to traverse an AST. This project proved to be an invaluable experience to me and I am sure that developing a programming language from scratch is the best way to become a much better developer with a deeper understanding about what happens inside the compiler we use every single day.<br><br>
+				I'd like to collect all my experience in this book, trying to not assume any prior knowledge except the C language. This book guides you to gain the foundational knowledge required to write a new programming language from scratch and will give you concrete answers to questions like what is really a closure or how a garbage collector works under the hood.<br><br></p>
+				<h4 class="section-h4">Contributing</h4>
+				<p>If you find any grammatical issue, please report it using Github Issues. Or, if some sentence or paragraph is difficult to understand, feel free to make a pull request. This book is in active development and I'll regularly update and improve it. I am not a native English speaker so feel free to correct me if something is not properly written.<br><br>If you have any question related to the material or the development of the book, feel free to open a GitHub issue or to contact me.</p>
+				<h4 class="section-h4">About me</h4>
+				<p>I am Marco Bambini and you can reach me at:
+				<ul>
+					<li>Twitter: <a href="https://twitter.com/sqlabs">sqlabs</a></li>
+					<li>Email: <a href="mailto:[email protected]"><code>[email protected]</code></a></li>
+				</ul>
+				</p>
+			</div>
+         	<!-- END CONTENT -->
+         	
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="../scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

+ 150 - 0
docs/lists.html

@@ -0,0 +1,150 @@
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity: List</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="stylesheets/styles.css">
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li class="active"><a href="index.html">Gravity</a></li>
+				<li><a href="internals/index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>INTRODUCTION</h4>
+				<ul>
+					<li><a href="index.html"><span>Introduction</span></a></li>
+					<li><a href="getting-started.html"><span>Getting Started</span></a></li>
+				</ul>
+				<h4>LANGUAGE GUIDE</h4>
+				<ul>
+					<li><a href="syntax.html"><span>Syntax</span></a></li>
+					<li><a href="operators.html"><span>Operators</span></a></li>
+					<li><a href="types.html"><span>Types</span></a></li>
+					<li><a href="lists.html" class="active"><span>Lists</span></a></li>
+					<li><a href="maps.html"><span>Maps</span></a></li>
+					<li><a href="enum.html"><span>Enum</span></a></li>
+					<li><a href="functions.html"><span>Functions</span></a></li>
+					<li><a href="closures.html"><span>Closures</span></a></li>
+					<li><a href="classes.html"><span>Classes</span></a></li>
+					<li><a href="control-flow.html"><span>Control Flow</span></a></li>
+					<li><a href="loops.html"><span>Loops</span></a></li>
+					<li><a href="fibers.html"><span>Fibers</span></a></li>
+				</ul>
+				<h4>ADVANCED</h4>
+				<ul>
+					<li><a href="api.html"><span>Embedding API</span></a></li>
+					<li><a href="system.html"><span>System class</span></a></li>
+					<li><a href="unit-test.html"><span>Unit test</span></a></li>
+					<li><a href="contributing.html"><span>Contributing</span></a></li>
+				</ul>
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">List</h1><hr>
+			
+			<p class="section-content">
+			Lists (or arrays) are simple sequence of objects, their size is dynamic and their index starts always from 0. They provide fast random access to their elements. You can create a list by placing a sequence of comma-separated expressions inside square brackets:
+			</p>
+			<pre><code class="swift">
+	var r = [1, 2, "Hello", 3.1415, true];
+	
+	// list has a count property
+	var n = r.count;	// n is 5
+			</code></pre>
+			
+			<h4 class="section-h4">Accessing elements</h4>
+			<p>You can access an element from a list by calling the subscript operator [] on it with the index of the element you want. Like most languages, indexes start at zero:
+			</p>
+			<pre><code class="swift">
+	var names = ["Mark", "Andrew", "Paul", "Ross", "Frank", "Max"];
+	names[0];	// "Mark"
+	names[2];	// "Paul"
+			</code></pre>
+			
+			<p>Negative indices counts backwards from the end:</p>
+			<pre><code class="swift">
+	var names = ["Mark", "Andrew", "Paul", "Ross", "Frank", "Max"];
+	names[-1];	// "Max"
+	names[-2];	// "Frank"
+			</code></pre>
+			
+			<h4 class="section-h4">Iterating elements</h4>
+			<p>The subscript operator works well for finding values when you know the key you’re looking for, but sometimes you want to see everything that’s in the list. Since the List class implements the iterator method, you can easily use it in a for loop:</p> 
+			<pre><code class="swift">
+	var people = ["Mark", "Andrew", "Paul", "Ross", "Frank", "Max"];
+	for (var name in people) {
+		System.print("Current name is " + name);
+	}
+			</code></pre>
+			
+			<h4 class="section-h4">Adding elements</h4>
+			<p>A List instance can be expanded by setting an index greater than current list size:</p> 
+			<pre><code class="swift">
+	var list = [10,20,30,40,50];
+	list[30] = 22;	// list contains now 31 elements (index 0...30)
+			</code></pre>
+			
+			<h4 class="section-h4">List as a stack</h4>
+			<p>The List class implements the push/pop methods as a convenient way to threat a list as a stack:</p> 
+			<pre><code class="swift">
+	var list = [10,20,30,40,50];
+	list.push(100);		// add 100 to the list
+	var v1 = list.pop();	// pop 100
+	var v2 = list.pop();	// pop 50
+			</code></pre>
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

+ 199 - 0
docs/loops.html

@@ -0,0 +1,199 @@
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity: Loop</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="stylesheets/styles.css">
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li class="active"><a href="index.html">Gravity</a></li>
+				<li><a href="internals/index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>INTRODUCTION</h4>
+				<ul>
+					<li><a href="index.html"><span>Introduction</span></a></li>
+					<li><a href="getting-started.html"><span>Getting Started</span></a></li>
+				</ul>
+				<h4>LANGUAGE GUIDE</h4>
+				<ul>
+					<li><a href="syntax.html"><span>Syntax</span></a></li>
+					<li><a href="operators.html"><span>Operators</span></a></li>
+					<li><a href="types.html"><span>Types</span></a></li>
+					<li><a href="lists.html"><span>Lists</span></a></li>
+					<li><a href="maps.html"><span>Maps</span></a></li>
+					<li><a href="enum.html"><span>Enum</span></a></li>
+					<li><a href="functions.html"><span>Functions</span></a></li>
+					<li><a href="closures.html"><span>Closures</span></a></li>
+					<li><a href="classes.html"><span>Classes</span></a></li>
+					<li><a href="control-flow.html"><span>Control Flow</span></a></li>
+					<li><a href="loops.html" class="active"><span>Loops</span></a></li>
+					<li><a href="fibers.html"><span>Fibers</span></a></li>
+				</ul>
+				<h4>ADVANCED</h4>
+				<ul>
+					<li><a href="api.html"><span>Embedding API</span></a></li>
+					<li><a href="system.html"><span>System class</span></a></li>
+					<li><a href="unit-test.html"><span>Unit test</span></a></li>
+					<li><a href="contributing.html"><span>Contributing</span></a></li>
+				</ul>
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">Loop</h1><hr>
+			
+			<p class="section-content">
+			
+			<h4 class="section-h4">While loop</h4>
+			<p>A while loop performs a set of statements until a condition becomes false. These kinds of loops are best used when the number of iterations is not known before the first iteration begins.</p>
+			<pre><code class="swift">
+	func main() {
+		var i = 0;
+			
+		while (i < 50000) {
+			i += 1;
+		}
+			
+		return i;
+	}
+			</code></pre>
+			
+			<h4 class="section-h4">Repeat-while loop</h4>
+			<p>The other variation of the while loop, known as the repeat-while loop, performs a single pass through the loop block first, before considering the loop’s condition. It then continues to repeat the loop until the condition is false.
+			</p>
+			<pre><code class="swift">
+	func main() {
+		var i = 0;
+				
+		repeat {
+			i += 1;
+		} while (i < 50000);
+				
+		return i;
+	}
+			</code></pre>
+			
+			<h4 class="section-h4">For loop</h4>
+			<p>You can access an element from a list by calling the subscript operator [] on it with the index of the element you want. Like most languages, indexes start at zero:</p>
+			<pre><code class="swift">
+	var count = 0;
+	for (var i in 0...40) {
+		count += i;
+	}
+	return count;
+			</code></pre>
+			<p>The for in loop can be used over any object that support iteration like <a href="lists.html">Lists</a> or <a href="maps.html">Maps</a>.</p>
+         	
+         	<h4 class="section-h4">Loop method</h4>
+         	<p>Performing a loop is very common operation in any programming language, so Gravity adds a very convenient way to run a loop by adding a special loop method to some classes (Int, Range, List and Map) that accepts a <a href="closures.html">closure</a> as parameter:</p>
+         	<pre><code class="swift">
+	func main() {
+		4.loop({System.print("Hello World");});
+	}
+	// Output:
+	// Hello World
+	// Hello World
+	// Hello World
+	// Hello World
+         	</code></pre>
+         	<p>If we need to access the current index of the loop we can just rewrite the closure:</p>
+         	<pre><code class="swift">
+	func main() {
+		var target = 5;
+		target.loop(func (value){System.print("Hello World " + value);});
+	}
+	// Output:
+	// Hello World 0
+	// Hello World 1
+	// Hello World 2
+	// Hello World 3
+	// Hello World 4
+			</code></pre>
+			<p>Loop within a <a href="types.html">Range</a>:</p>
+         	<pre><code class="swift">
+	func main() {
+		var target = 0...4;
+		target.loop(func (value){System.print("Hello World " + value);});
+	}
+	// also in reverse order
+	func main() {
+		var target = 4...0;
+		target.loop(func (value){System.print("Hello World " + value);});
+	}
+			</code></pre>
+			<p>Loop within a <a href="lists.html">List</a>:</p>
+         	<pre><code class="swift">
+	func main() {
+		var target = [10,20,30,40,50,60,70,80,90];
+		target.loop(func (value){System.print("Hello World " + value);});
+	}
+			</code></pre>
+			<p>Loop within a <a href="maps.html">Map</a> where key is passed as closure argument (please note that key order is not preserved):</p>
+         	<pre><code class="swift">
+	func main() {
+		var target = ["key1":10,"key2":20,"key3":30,"key4":40];
+		target.loop(func (key){System.print(key);});
+	}
+	// Output:
+	// key1
+	// key2
+	// key4
+	// key3
+			</code></pre>
+         	</div>
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

+ 150 - 0
docs/maps.html

@@ -0,0 +1,150 @@
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity: Map</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="stylesheets/styles.css">
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li class="active"><a href="index.html">Gravity</a></li>
+				<li><a href="internals/index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>INTRODUCTION</h4>
+				<ul>
+					<li><a href="index.html"><span>Introduction</span></a></li>
+					<li><a href="getting-started.html"><span>Getting Started</span></a></li>
+				</ul>
+				<h4>LANGUAGE GUIDE</h4>
+				<ul>
+					<li><a href="syntax.html"><span>Syntax</span></a></li>
+					<li><a href="operators.html"><span>Operators</span></a></li>
+					<li><a href="types.html"><span>Types</span></a></li>
+					<li><a href="lists.html"><span>Lists</span></a></li>
+					<li><a href="maps.html" class="active"><span>Maps</span></a></li>
+					<li><a href="enum.html"><span>Enum</span></a></li>
+					<li><a href="functions.html"><span>Functions</span></a></li>
+					<li><a href="closures.html"><span>Closures</span></a></li>
+					<li><a href="classes.html"><span>Classes</span></a></li>
+					<li><a href="control-flow.html"><span>Control Flow</span></a></li>
+					<li><a href="loops.html"><span>Loops</span></a></li>
+					<li><a href="fibers.html"><span>Fibers</span></a></li>
+				</ul>
+				<h4>ADVANCED</h4>
+				<ul>
+					<li><a href="api.html"><span>Embedding API</span></a></li>
+					<li><a href="system.html"><span>System class</span></a></li>
+					<li><a href="unit-test.html"><span>Unit test</span></a></li>
+					<li><a href="contributing.html"><span>Contributing</span></a></li>
+				</ul>
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">Map</h1><hr>
+			
+			<p class="section-content">
+			Maps are associative containers implemented as pairs each of which maps a key to a value.
+			You can create a map by placing a series of comma-separated entries inside square brackets. Each entry is a key and a value separated by a colon:
+			</p>
+			<pre><code class="swift">
+	// create a new map with 4 entries
+	var d = ["Mark":1, "Andrew":2, "Paul":3, "Ross":4];
+	
+	// map has a count property
+	var n = d.count;	// n is 4
+	
+	// create an empty map
+	var map = [:];
+			</code></pre>
+			
+			<h4 class="section-h4">Looking up values</h4>
+			<p>You can access an element from a list by calling the subscript operator [] on it with the key of the element you want:
+			</p>
+			<pre><code class="swift">
+	var names = ["Mark":1, "Andrew":2, "Paul":3, "Ross":4];
+	names["Mark"];		// 1
+	names["Andrew"];	// 2
+			</code></pre>
+			
+			<h4 class="section-h4">Iterating elements</h4>
+			<p>The subscript operator works well for finding values when you know the key you’re looking for, but sometimes you want to see everything that’s in the map. Since the Map class implements the iterator method (through the keys method), you can easily use it in a for loop:</p> 
+			<pre><code class="swift">
+	var people = ["Mark":1, "Andrew":2, "Paul":3, "Ross":4];
+	for (var name in people.keys()) {
+		System.print("Current name is " + name);
+	}
+			</code></pre>
+			
+			<h4 class="section-h4">Adding elements</h4>
+			<p>An item can be added to a map simply settings a key/value:</p>
+			<pre><code class="swift">
+	var people = ["Mark":1, "Andrew":2, "Paul":3, "Ross":4];
+	map["Kiara"] = 5;	// map now contains the "Kiara" key with value 5
+			</code></pre>
+			
+			<h4 class="section-h4">Removing elements</h4>
+			<p>The remove method has been added to the map class as a conveniente way to remove keys:</p>
+			<pre><code class="swift">
+	var people = ["Mark":1, "Andrew":2, "Paul":3, "Ross":4];
+	people.remove("Paul");
+	people.remove("Ross");
+	return people.count; // 2 is returned in this case
+			</code></pre>
+			
+         	</div>
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

+ 222 - 0
docs/operators.html

@@ -0,0 +1,222 @@
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Gravity: Operators</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
+    <link rel="stylesheet" href="scripts/highlight/styles/github-gist.css">
+    <link rel="stylesheet" href="stylesheets/styles.css">
+  </head>
+  <body>
+
+	<!-- BEGIN NAVIGATION BAR -->
+	<nav class="navbar navbar-default navbar-fixed-top">
+		<div class="container">
+		<div class="navbar-header">
+			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+				<span class="sr-only">Toggle navigation</span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<a class="navbar-brand" href="http://gravity-lang.org"><img src="images/logo.png" width="32px" height="36px"></a>
+		</div>
+		<div id="navbar" class="navbar-collapse collapse">
+			<ul class="nav navbar-nav navbar-right">
+				<li class="active"><a href="index.html">Gravity</a></li>
+				<li><a href="internals/index.html">Internals</a></li>
+				<li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
+			</ul>
+		</div><!--/.nav-collapse -->
+	</div>
+	</nav>
+	<!-- END NAVIGATION BAR -->
+
+	<div class="container body-container">
+		<div class="main-content">
+			<div class="row">
+       	
+       		<!-- BEGIN SIDEBAR -->
+       		<div class="col-sm-3 border-right section-left">
+				<div saveheight="1" class="sidebar-nav">
+				<h4>INTRODUCTION</h4>
+				<ul>
+					<li><a href="index.html"><span>Introduction</span></a></li>
+					<li><a href="getting-started.html"><span>Getting Started</span></a></li>
+				</ul>
+				<h4>LANGUAGE GUIDE</h4>
+				<ul>
+					<li><a href="syntax.html"><span>Syntax</span></a></li>
+					<li><a href="operators.html" class="active"><span>Operators</span></a></li>
+					<li><a href="types.html"><span>Types</span></a></li>
+					<li><a href="lists.html"><span>Lists</span></a></li>
+					<li><a href="maps.html"><span>Maps</span></a></li>
+					<li><a href="enum.html"><span>Enum</span></a></li>
+					<li><a href="functions.html"><span>Functions</span></a></li>
+					<li><a href="closures.html"><span>Closures</span></a></li>
+					<li><a href="classes.html"><span>Classes</span></a></li>
+					<li><a href="control-flow.html"><span>Control Flow</span></a></li>
+					<li><a href="loops.html"><span>Loops</span></a></li>
+					<li><a href="fibers.html"><span>Fibers</span></a></li>
+				</ul>
+				<h4>ADVANCED</h4>
+				<ul>
+					<li><a href="api.html"><span>Embedding API</span></a></li>
+					<li><a href="system.html"><span>System class</span></a></li>
+					<li><a href="unit-test.html"><span>Unit test</span></a></li>
+					<li><a href="contributing.html"><span>Contributing</span></a></li>
+				</ul>
+				</div>
+			</div>
+			<!-- END SIDEBAR -->
+
+       		<div class="col-sm-9 border-left section-right">
+         	<h1 class="section-header">Operators</h1><hr>
+			
+			<p class="section-content">
+			An operator is a special symbol or phrase that you use to check, change, or combine values. For example, the addition operator (+) adds two numbers, as in <strong>var i = 1 + 2</strong>, and the logical AND operator (&&) combines two Boolean values, as in <strong>if (flag1 && flag2)</strong>.
+			<br><br>
+			Gravity supports most standard C operators and improves several capabilities to eliminate common coding errors. The assignment operator (=) does not return a value, to prevent it from being mistakenly used when the equal to operator (==) is intended. Gravity also provides two <a href="types.html">range</a> operators as a shortcut for expressing a range of values.
+			</p>
+			
+			<!-- ARITHMETIC -->
+			<h4 class="section-h4">Arithmetic Operators</h4>
+			<p>
+			<ul>
+				<li>Addition (+)</li>
+				<li>Subtraction (-)</li>
+				<li>Multiplication (*)</li>
+				<li>Division (/)</li>
+				<li>Reminder (%)</li>
+			</ul>
+			</p>
+			<pre><code class="swift">
+	var n1 = 1 + 2		// equals 3
+	var n2 = 5 - 3		// equals 2
+	var n3 = 2 * 3		// equals 6
+	var n4 = 10.0 / 2.5	// equals 4.0
+	var n5 = 9 % 4		// equals 1
+			</code></pre>
+			<p>Special attention has been placed in the division operator. A Division between two Int usually result in a Float in order to not truncate any decimal.</p>
+			
+			<!-- ASSIGNMENT -->
+			<h4 class="section-h4">Assignment Operator</h4>
+			<p>The assignment operator = initialize or update a value:</p>
+			<pre><code class="swift">
+	var a = 50;		// a = 50
+	var b = a;		// b = 50
+	var c = a * b;		// c = 50 * 50
+			</code></pre>
+			<p>Please note that contrary to many other programming languages, the assignment operator has no side effect, it means that it does not return any value.</p>
+
+			<!-- COMPARISON -->
+			<h4 class="section-h4">Comparison Operators</h4>
+			<p>The comparison operators return a Bool value to indicate whether or not the statement is true:</p>
+			<p>
+			<ul>
+				<li>Equal (==)</li>
+				<li>Not equal (!=)</li>
+				<li>Less than (<)</li>
+				<li>Less than or equal (<=)</li>
+				<li>Greater than (>)</li>
+				<li>Greater than or equal (>=)</li>
+				<li>Identical (===)</li>
+				<li>Not identical (!==)</li>
+				<li>Type check (isa)</li>
+				<li>Pattern match (~=)</li>
+			</ul>
+			</p>
+			<pre><code class="swift">
+	1 == 1		// true because 1 is equal to 1
+	1 != 2		// true because 1 is not equal to 2
+	1 < 2		// true because 1 is less than 2
+	1 <= 1		// true because 1 is less than or equal to 1
+	1 > 2		// false because 1 is not greater than 2
+	1 >= 1		// true because 1 is greater than or equal to 1
+	1 === 1		// true because 1 is identical to 1 (same value and same class)
+	1 isa Int	// true because 1 is of class Int
+			</code></pre>
+			<p>Gravity performs some conversions at runtime, so 1 == "1" but not 1 === '1'.</p>
+
+			<!-- LOGICAL -->
+			<h4 class="section-h4">Logical Operators</h4>
+			<p>The comparison operators return a Bool value to indicate whether or not the statement is true:</p>
+			<p>
+			<ul>
+				<li>Logical NOT (!)</li>
+				<li>Logical AND (&&)</li>
+				<li>Logical OR (||)</li>
+			</ul>
+			</p>
+			<pre><code class="swift">
+	!1		// false because 1 is true
+	1 && 0		// false because one of the two values is false
+	1 || 0		// true because one of the two values is true
+			</code></pre>
+			<p>In order to improve code readability the reserved keywords <strong>not, and, or</strong> has been introduces as an alisas to logical operators.</p>
+			
+			<!-- BITWISE -->
+			<h4 class="section-h4">Bitwise Operators</h4>
+			<p>
+			<ul>
+				<li>Bitwise shift left (<<)</li>
+				<li>Bitwise shift right (>>)</li>
+				<li>Bitwise AND (&)</li>
+				<li>Bitwise OR (|)</li>
+				<li>Bitwise XOR (^)</li>
+				<li>Bitwise NOT or one's complement (~)</li>
+			</ul>
+			</p>
+			<pre><code class="swift">
+	var n = 0B00110011;
+	var n1 = n << 2			// equals 11001100
+	var n2 = n >> 2			// equals 00001100
+	var n3 = n & 0B00001111		// equals 00000011
+	var n4 = n | 0B00001111		// equals 00111111
+	var n5 = n ^ 0B00001111		// equals 00111100
+	var n6 = ~n;			// equals 11001100
+			</code></pre>
+			
+			<!-- COMPOUND -->
+			<h4 class="section-h4">Compound Assignment Operators</h4>
+			<p>As a shortcut, assignment and operators can be combined together:
+			<ul>
+				<li>Multiply and assign (*=)</li>
+				<li>Divide and assign (/=)</li>
+				<li>Remainder and assign (%=)</li>
+				<li>Add and assign (+=)</li>
+				<li>Subtract and assign (-=)</li>
+				<li>Left bit shift and assign (<<=)</li>
+				<li>Right bit shift and assign (>>=)</li>
+				<li>Bitwise AND and assign (&=)</li>
+				<li>Bitwise XOR and assign (^=)</li>
+				<li>Bitwise OR and assign (|=)</li>
+			</ul>
+			</p>
+			
+         	</div>
+       	</div> <!-- /row -->
+       </div> <!-- /main-content -->
+     </div> <!-- /container -->
+
+	<!-- BEGIN FOOTER -->
+	<footer class="navbar-fixed-bottom">
+		<div class="container footer">
+			<p>
+			</p>
+		</div>
+	</footer>
+    <!-- END FOOTER -->
+	
+	<!-- Bootstrap JS -->
+	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+	
+	<!-- Highlights JS -->
+    <script src="scripts/highlight/highlight.min.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    
+	</body>
+</html>

File diff suppressed because it is too large
+ 1 - 0
docs/scripts/highlight/highlight.min.js


+ 108 - 0
docs/scripts/highlight/styles/agate.css

@@ -0,0 +1,108 @@
+/*!
+ * Agate by Taufik Nurrohman <https://github.com/tovic>
+ * ----------------------------------------------------
+ *
+ * #ade5fc
+ * #a2fca2
+ * #c6b4f0
+ * #d36363
+ * #fcc28c
+ * #fc9b9b
+ * #ffa
+ * #fff
+ * #333
+ * #62c8f3
+ * #888
+ *
+ */
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  padding: 0.5em;
+  background: #333;
+  color: white;
+}
+
+.hljs-name,
+.hljs-strong {
+  font-weight: bold;
+}
+
+.hljs-code,
+.hljs-emphasis {
+  font-style: italic;
+}
+
+.hljs-tag {
+  color: #62c8f3;
+}
+
+.hljs-variable,
+.hljs-template-variable,
+.hljs-selector-id,
+.hljs-selector-class {
+  color: #ade5fc;
+}
+
+.hljs-string,
+.hljs-bullet {
+  color: #a2fca2;
+}
+
+.hljs-type,
+.hljs-title,
+.hljs-section,
+.hljs-attribute,
+.hljs-quote,
+.hljs-built_in,
+.hljs-builtin-name {
+  color: #ffa;
+}
+
+.hljs-number,
+.hljs-symbol,
+.hljs-bullet {
+  color: #d36363;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-literal {
+  color: #fcc28c;
+}
+
+.hljs-comment,
+.hljs-deletion,
+.hljs-code {
+  color: #888;
+}
+
+.hljs-regexp,
+.hljs-link {
+  color: #c6b4f0;
+}
+
+.hljs-meta {
+  color: #fc9b9b;
+}
+
+.hljs-deletion {
+  background-color: #fc9b9b;
+  color: #333;
+}
+
+.hljs-addition {
+  background-color: #a2fca2;
+  color: #333;
+}
+
+.hljs a {
+  color: inherit;
+}
+
+.hljs a:focus,
+.hljs a:hover {
+  color: inherit;
+  text-decoration: underline;
+}

+ 66 - 0
docs/scripts/highlight/styles/androidstudio.css

@@ -0,0 +1,66 @@
+/*
+Date: 24 Fev 2015
+Author: Pedro Oliveira <kanytu@gmail . com>
+*/
+
+.hljs {
+  color: #a9b7c6;
+  background: #282b2e;
+  display: block;
+  overflow-x: auto;
+  padding: 0.5em;
+}
+
+.hljs-number,
+.hljs-literal,
+.hljs-symbol,
+.hljs-bullet {
+  color: #6897BB;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-deletion {
+  color: #cc7832;
+}
+
+.hljs-variable,
+.hljs-template-variable,
+.hljs-link {
+  color: #629755;
+}
+
+.hljs-comment,
+.hljs-quote {
+  color: #808080;
+}
+
+.hljs-meta {
+  color: #bbb529;
+}
+
+.hljs-string,
+.hljs-attribute,
+.hljs-addition {
+  color: #6A8759;
+}
+
+.hljs-section,
+.hljs-title,
+.hljs-type {
+  color: #ffc66d;
+}
+
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+  color: #e8bf6a;
+}
+
+.hljs-emphasis {
+  font-style: italic;
+}
+
+.hljs-strong {
+  font-weight: bold;
+}

+ 88 - 0
docs/scripts/highlight/styles/arduino-light.css

@@ -0,0 +1,88 @@
+/*
+
+Arduino® Light Theme - Stefania Mellai <[email protected]>
+
+*/
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  padding: 0.5em;
+  background: #FFFFFF;
+}
+
+.hljs,
+.hljs-subst {
+  color: #434f54;
+}
+
+.hljs-keyword,
+.hljs-attribute,
+.hljs-selector-tag,
+.hljs-doctag,
+.hljs-name {
+  color: #00979D;
+}
+
+.hljs-built_in,
+.hljs-literal,
+.hljs-bullet,
+.hljs-code,
+.hljs-addition {
+  color: #D35400;
+}
+
+.hljs-regexp,
+.hljs-symbol,
+.hljs-variable,
+.hljs-template-variable,
+.hljs-link,
+.hljs-selector-attr,
+.hljs-selector-pseudo {
+  color: #00979D;
+}
+
+.hljs-type,
+.hljs-string,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-quote,
+.hljs-template-tag,
+.hljs-deletion {
+  color: #005C5F;
+}
+
+.hljs-title,
+.hljs-section {
+  color: #880000;
+  font-weight: bold;
+}
+
+.hljs-comment {
+  color: rgba(149,165,166,.8);
+}
+
+.hljs-meta-keyword {
+  color: #728E00;
+}
+
+.hljs-meta {
+  color: #728E00;
+  color: #434f54;
+}
+
+.hljs-emphasis {
+  font-style: italic;
+}
+
+.hljs-strong {
+  font-weight: bold;
+}
+
+.hljs-function {
+  color: #728E00;
+}
+
+.hljs-number {
+  color: #8A7B52;  
+}

+ 73 - 0
docs/scripts/highlight/styles/arta.css

@@ -0,0 +1,73 @@
+/*
+Date: 17.V.2011
+Author: pumbur <[email protected]>
+*/
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  padding: 0.5em;
+  background: #222;
+}
+
+.hljs,
+.hljs-subst {
+  color: #aaa;
+}
+
+.hljs-section {
+  color: #fff;
+}
+
+.hljs-comment,
+.hljs-quote,
+.hljs-meta {
+  color: #444;
+}
+
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-regexp {
+  color: #ffcc33;
+}
+
+.hljs-number,
+.hljs-addition {
+  color: #00cc66;
+}
+
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-link {
+  color: #32aaee;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+  color: #6644aa;
+}
+
+.hljs-title,
+.hljs-variable,
+.hljs-deletion,
+.hljs-template-tag {
+  color: #bb1166;
+}
+
+.hljs-section,
+.hljs-doctag,
+.hljs-strong {
+  font-weight: bold;
+}
+
+.hljs-emphasis {
+  font-style: italic;
+}

+ 45 - 0
docs/scripts/highlight/styles/ascetic.css

@@ -0,0 +1,45 @@
+/*
+
+Original style from softwaremaniacs.org (c) Ivan Sagalaev <[email protected]>
+
+*/
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  padding: 0.5em;
+  background: white;
+  color: black;
+}
+
+.hljs-string,
+.hljs-variable,
+.hljs-template-variable,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-section,
+.hljs-addition,
+.hljs-attribute,
+.hljs-link {
+  color: #888;
+}
+
+.hljs-comment,
+.hljs-quote,
+.hljs-meta,
+.hljs-deletion {
+  color: #ccc;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-section,
+.hljs-name,
+.hljs-type,
+.hljs-strong {
+  font-weight: bold;
+}
+
+.hljs-emphasis {
+  font-style: italic;
+}

+ 83 - 0
docs/scripts/highlight/styles/atelier-cave-dark.css

@@ -0,0 +1,83 @@
+/* Base16 Atelier Cave Dark - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/cave) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Cave Comment */
+.hljs-comment,
+.hljs-quote {
+  color: #7e7887;
+}
+
+/* Atelier-Cave Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-regexp,
+.hljs-link,
+.hljs-tag,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+  color: #be4678;
+}
+
+/* Atelier-Cave Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+  color: #aa573c;
+}
+
+/* Atelier-Cave Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+  color: #2a9292;
+}
+
+/* Atelier-Cave Blue */
+.hljs-title,
+.hljs-section {
+  color: #576ddb;
+}
+
+/* Atelier-Cave Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+  color: #955ae7;
+}
+
+.hljs-deletion,
+.hljs-addition {
+  color: #19171c;
+  display: inline-block;
+  width: 100%;
+}
+
+.hljs-deletion {
+  background-color: #be4678;
+}
+
+.hljs-addition {
+  background-color: #2a9292;
+}
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  background: #19171c;
+  color: #8b8792;
+  padding: 0.5em;
+}
+
+.hljs-emphasis {
+  font-style: italic;
+}
+
+.hljs-strong {
+  font-weight: bold;
+}

+ 85 - 0
docs/scripts/highlight/styles/atelier-cave-light.css

@@ -0,0 +1,85 @@
+/* Base16 Atelier Cave Light - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/cave) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Cave Comment */
+.hljs-comment,
+.hljs-quote {
+  color: #655f6d;
+}
+
+/* Atelier-Cave Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+  color: #be4678;
+}
+
+/* Atelier-Cave Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+  color: #aa573c;
+}
+
+/* Atelier-Cave Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+  color: #2a9292;
+}
+
+/* Atelier-Cave Blue */
+.hljs-title,
+.hljs-section {
+  color: #576ddb;
+}
+
+/* Atelier-Cave Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+  color: #955ae7;
+}
+
+.hljs-deletion,
+.hljs-addition {
+  color: #19171c;
+  display: inline-block;
+  width: 100%;
+}
+
+.hljs-deletion {
+  background-color: #be4678;
+}
+
+.hljs-addition {
+  background-color: #2a9292;
+}
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  background: #efecf4;
+  color: #585260;
+  padding: 0.5em;
+}
+
+.hljs-emphasis {
+  font-style: italic;
+}
+
+.hljs-strong {
+  font-weight: bold;
+}

+ 69 - 0
docs/scripts/highlight/styles/atelier-dune-dark.css

@@ -0,0 +1,69 @@
+/* Base16 Atelier Dune Dark - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Dune Comment */
+.hljs-comment,
+.hljs-quote {
+  color: #999580;
+}
+
+/* Atelier-Dune Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+  color: #d73737;
+}
+
+/* Atelier-Dune Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+  color: #b65611;
+}
+
+/* Atelier-Dune Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+  color: #60ac39;
+}
+
+/* Atelier-Dune Blue */
+.hljs-title,
+.hljs-section {
+  color: #6684e1;
+}
+
+/* Atelier-Dune Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+  color: #b854d4;
+}
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  background: #20201d;
+  color: #a6a28c;
+  padding: 0.5em;
+}
+
+.hljs-emphasis {
+  font-style: italic;
+}
+
+.hljs-strong {
+  font-weight: bold;
+}

+ 69 - 0
docs/scripts/highlight/styles/atelier-dune-light.css

@@ -0,0 +1,69 @@
+/* Base16 Atelier Dune Light - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Dune Comment */
+.hljs-comment,
+.hljs-quote {
+  color: #7d7a68;
+}
+
+/* Atelier-Dune Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+  color: #d73737;
+}
+
+/* Atelier-Dune Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+  color: #b65611;
+}
+
+/* Atelier-Dune Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+  color: #60ac39;
+}
+
+/* Atelier-Dune Blue */
+.hljs-title,
+.hljs-section {
+  color: #6684e1;
+}
+
+/* Atelier-Dune Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+  color: #b854d4;
+}
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  background: #fefbec;
+  color: #6e6b5e;
+  padding: 0.5em;
+}
+
+.hljs-emphasis {
+  font-style: italic;
+}
+
+.hljs-strong {
+  font-weight: bold;
+}

+ 84 - 0
docs/scripts/highlight/styles/atelier-estuary-dark.css

@@ -0,0 +1,84 @@
+/* Base16 Atelier Estuary Dark - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/estuary) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Estuary Comment */
+.hljs-comment,
+.hljs-quote {
+  color: #878573;
+}
+
+/* Atelier-Estuary Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+  color: #ba6236;
+}
+
+/* Atelier-Estuary Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+  color: #ae7313;
+}
+
+/* Atelier-Estuary Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+  color: #7d9726;
+}
+
+/* Atelier-Estuary Blue */
+.hljs-title,
+.hljs-section {
+  color: #36a166;
+}
+
+/* Atelier-Estuary Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+  color: #5f9182;
+}
+
+.hljs-deletion,
+.hljs-addition {
+  color: #22221b;
+  display: inline-block;
+  width: 100%;
+}
+
+.hljs-deletion {
+  background-color: #ba6236;
+}
+
+.hljs-addition {
+  background-color: #7d9726;
+}
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  background: #22221b;
+  color: #929181;
+  padding: 0.5em;
+}
+
+.hljs-emphasis {
+  font-style: italic;
+}
+
+.hljs-strong {
+  font-weight: bold;
+}

+ 84 - 0
docs/scripts/highlight/styles/atelier-estuary-light.css

@@ -0,0 +1,84 @@
+/* Base16 Atelier Estuary Light - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/estuary) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Estuary Comment */
+.hljs-comment,
+.hljs-quote {
+  color: #6c6b5a;
+}
+
+/* Atelier-Estuary Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+  color: #ba6236;
+}
+
+/* Atelier-Estuary Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+  color: #ae7313;
+}
+
+/* Atelier-Estuary Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+  color: #7d9726;
+}
+
+/* Atelier-Estuary Blue */
+.hljs-title,
+.hljs-section {
+  color: #36a166;
+}
+
+/* Atelier-Estuary Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+  color: #5f9182;
+}
+
+.hljs-deletion,
+.hljs-addition {
+  color: #22221b;
+  display: inline-block;
+  width: 100%;
+}
+
+.hljs-deletion {
+  background-color: #ba6236;
+}
+
+.hljs-addition {
+  background-color: #7d9726;
+}
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  background: #f4f3ec;
+  color: #5f5e4e;
+  padding: 0.5em;
+}
+
+.hljs-emphasis {
+  font-style: italic;
+}
+
+.hljs-strong {
+  font-weight: bold;
+}

+ 69 - 0
docs/scripts/highlight/styles/atelier-forest-dark.css

@@ -0,0 +1,69 @@
+/* Base16 Atelier Forest Dark - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Forest Comment */
+.hljs-comment,
+.hljs-quote {
+  color: #9c9491;
+}
+
+/* Atelier-Forest Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+  color: #f22c40;
+}
+
+/* Atelier-Forest Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+  color: #df5320;
+}
+
+/* Atelier-Forest Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+  color: #7b9726;
+}
+
+/* Atelier-Forest Blue */
+.hljs-title,
+.hljs-section {
+  color: #407ee7;
+}
+
+/* Atelier-Forest Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+  color: #6666ea;
+}
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  background: #1b1918;
+  color: #a8a19f;
+  padding: 0.5em;
+}
+
+.hljs-emphasis {
+  font-style: italic;
+}
+
+.hljs-strong {
+  font-weight: bold;
+}

+ 69 - 0
docs/scripts/highlight/styles/atelier-forest-light.css

@@ -0,0 +1,69 @@
+/* Base16 Atelier Forest Light - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Forest Comment */
+.hljs-comment,
+.hljs-quote {
+  color: #766e6b;
+}
+
+/* Atelier-Forest Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+  color: #f22c40;
+}
+
+/* Atelier-Forest Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+  color: #df5320;
+}
+
+/* Atelier-Forest Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+  color: #7b9726;
+}
+
+/* Atelier-Forest Blue */
+.hljs-title,
+.hljs-section {
+  color: #407ee7;
+}
+
+/* Atelier-Forest Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+  color: #6666ea;
+}
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  background: #f1efee;
+  color: #68615e;
+  padding: 0.5em;
+}
+
+.hljs-emphasis {
+  font-style: italic;
+}
+
+.hljs-strong {
+  font-weight: bold;
+}

+ 69 - 0
docs/scripts/highlight/styles/atelier-heath-dark.css

@@ -0,0 +1,69 @@
+/* Base16 Atelier Heath Dark - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Heath Comment */
+.hljs-comment,
+.hljs-quote {
+  color: #9e8f9e;
+}
+
+/* Atelier-Heath Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+  color: #ca402b;
+}
+
+/* Atelier-Heath Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+  color: #a65926;
+}
+
+/* Atelier-Heath Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+  color: #918b3b;
+}
+
+/* Atelier-Heath Blue */
+.hljs-title,
+.hljs-section {
+  color: #516aec;
+}
+
+/* Atelier-Heath Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+  color: #7b59c0;
+}
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  background: #1b181b;
+  color: #ab9bab;
+  padding: 0.5em;
+}
+
+.hljs-emphasis {
+  font-style: italic;
+}
+
+.hljs-strong {
+  font-weight: bold;
+}

+ 69 - 0
docs/scripts/highlight/styles/atelier-heath-light.css

@@ -0,0 +1,69 @@
+/* Base16 Atelier Heath Light - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Heath Comment */
+.hljs-comment,
+.hljs-quote {
+  color: #776977;
+}
+
+/* Atelier-Heath Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+  color: #ca402b;
+}
+
+/* Atelier-Heath Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+  color: #a65926;
+}
+
+/* Atelier-Heath Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+  color: #918b3b;
+}
+
+/* Atelier-Heath Blue */
+.hljs-title,
+.hljs-section {
+  color: #516aec;
+}
+
+/* Atelier-Heath Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+  color: #7b59c0;
+}
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  background: #f7f3f7;
+  color: #695d69;
+  padding: 0.5em;
+}
+
+.hljs-emphasis {
+  font-style: italic;
+}
+
+.hljs-strong {
+  font-weight: bold;
+}

+ 69 - 0
docs/scripts/highlight/styles/atelier-lakeside-dark.css

@@ -0,0 +1,69 @@
+/* Base16 Atelier Lakeside Dark - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/lakeside) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Lakeside Comment */
+.hljs-comment,
+.hljs-quote {
+  color: #7195a8;
+}
+
+/* Atelier-Lakeside Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+  color: #d22d72;
+}
+
+/* Atelier-Lakeside Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+  color: #935c25;
+}
+
+/* Atelier-Lakeside Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+  color: #568c3b;
+}
+
+/* Atelier-Lakeside Blue */
+.hljs-title,
+.hljs-section {
+  color: #257fad;
+}
+
+/* Atelier-Lakeside Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+  color: #6b6bb8;
+}
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  background: #161b1d;
+  color: #7ea2b4;
+  padding: 0.5em;
+}
+
+.hljs-emphasis {
+  font-style: italic;
+}
+
+.hljs-strong {
+  font-weight: bold;
+}

+ 69 - 0
docs/scripts/highlight/styles/atelier-lakeside-light.css

@@ -0,0 +1,69 @@
+/* Base16 Atelier Lakeside Light - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/lakeside) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Lakeside Comment */
+.hljs-comment,
+.hljs-quote {
+  color: #5a7b8c;
+}
+
+/* Atelier-Lakeside Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+  color: #d22d72;
+}
+
+/* Atelier-Lakeside Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+  color: #935c25;
+}
+
+/* Atelier-Lakeside Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+  color: #568c3b;
+}
+
+/* Atelier-Lakeside Blue */
+.hljs-title,
+.hljs-section {
+  color: #257fad;
+}
+
+/* Atelier-Lakeside Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+  color: #6b6bb8;
+}
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  background: #ebf8ff;
+  color: #516d7b;
+  padding: 0.5em;
+}
+
+.hljs-emphasis {
+  font-style: italic;
+}
+
+.hljs-strong {
+  font-weight: bold;
+}

+ 84 - 0
docs/scripts/highlight/styles/atelier-plateau-dark.css

@@ -0,0 +1,84 @@
+/* Base16 Atelier Plateau Dark - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/plateau) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Plateau Comment */
+.hljs-comment,
+.hljs-quote {
+  color: #7e7777;
+}
+
+/* Atelier-Plateau Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+  color: #ca4949;
+}
+
+/* Atelier-Plateau Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+  color: #b45a3c;
+}
+
+/* Atelier-Plateau Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+  color: #4b8b8b;
+}
+
+/* Atelier-Plateau Blue */
+.hljs-title,
+.hljs-section {
+  color: #7272ca;
+}
+
+/* Atelier-Plateau Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+  color: #8464c4;
+}
+
+.hljs-deletion,
+.hljs-addition {
+  color: #1b1818;
+  display: inline-block;
+  width: 100%;
+}
+
+.hljs-deletion {
+  background-color: #ca4949;
+}
+
+.hljs-addition {
+  background-color: #4b8b8b;
+}
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  background: #1b1818;
+  color: #8a8585;
+  padding: 0.5em;
+}
+
+.hljs-emphasis {
+  font-style: italic;
+}
+
+.hljs-strong {
+  font-weight: bold;
+}

+ 84 - 0
docs/scripts/highlight/styles/atelier-plateau-light.css

@@ -0,0 +1,84 @@
+/* Base16 Atelier Plateau Light - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/plateau) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Plateau Comment */
+.hljs-comment,
+.hljs-quote {
+  color: #655d5d;
+}
+
+/* Atelier-Plateau Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+  color: #ca4949;
+}
+
+/* Atelier-Plateau Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+  color: #b45a3c;
+}
+
+/* Atelier-Plateau Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+  color: #4b8b8b;
+}
+
+/* Atelier-Plateau Blue */
+.hljs-title,
+.hljs-section {
+  color: #7272ca;
+}
+
+/* Atelier-Plateau Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+  color: #8464c4;
+}
+
+.hljs-deletion,
+.hljs-addition {
+  color: #1b1818;
+  display: inline-block;
+  width: 100%;
+}
+
+.hljs-deletion {
+  background-color: #ca4949;
+}
+
+.hljs-addition {
+  background-color: #4b8b8b;
+}
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  background: #f4ecec;
+  color: #585050;
+  padding: 0.5em;
+}
+
+.hljs-emphasis {
+  font-style: italic;
+}
+
+.hljs-strong {
+  font-weight: bold;
+}

+ 84 - 0
docs/scripts/highlight/styles/atelier-savanna-dark.css

@@ -0,0 +1,84 @@
+/* Base16 Atelier Savanna Dark - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/savanna) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Savanna Comment */
+.hljs-comment,
+.hljs-quote {
+  color: #78877d;
+}
+
+/* Atelier-Savanna Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+  color: #b16139;
+}
+
+/* Atelier-Savanna Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+  color: #9f713c;
+}
+
+/* Atelier-Savanna Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+  color: #489963;
+}
+
+/* Atelier-Savanna Blue */
+.hljs-title,
+.hljs-section {
+  color: #478c90;
+}
+
+/* Atelier-Savanna Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+  color: #55859b;
+}
+
+.hljs-deletion,
+.hljs-addition {
+  color: #171c19;
+  display: inline-block;
+  width: 100%;
+}
+
+.hljs-deletion {
+  background-color: #b16139;
+}
+
+.hljs-addition {
+  background-color: #489963;
+}
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  background: #171c19;
+  color: #87928a;
+  padding: 0.5em;
+}
+
+.hljs-emphasis {
+  font-style: italic;
+}
+
+.hljs-strong {
+  font-weight: bold;
+}

+ 84 - 0
docs/scripts/highlight/styles/atelier-savanna-light.css

@@ -0,0 +1,84 @@
+/* Base16 Atelier Savanna Light - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/savanna) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Savanna Comment */
+.hljs-comment,
+.hljs-quote {
+  color: #5f6d64;
+}
+
+/* Atelier-Savanna Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+  color: #b16139;
+}
+
+/* Atelier-Savanna Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+  color: #9f713c;
+}
+
+/* Atelier-Savanna Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+  color: #489963;
+}
+
+/* Atelier-Savanna Blue */
+.hljs-title,
+.hljs-section {
+  color: #478c90;
+}
+
+/* Atelier-Savanna Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+  color: #55859b;
+}
+
+.hljs-deletion,
+.hljs-addition {
+  color: #171c19;
+  display: inline-block;
+  width: 100%;
+}
+
+.hljs-deletion {
+  background-color: #b16139;
+}
+
+.hljs-addition {
+  background-color: #489963;
+}
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  background: #ecf4ee;
+  color: #526057;
+  padding: 0.5em;
+}
+
+.hljs-emphasis {
+  font-style: italic;
+}
+
+.hljs-strong {
+  font-weight: bold;
+}

+ 69 - 0
docs/scripts/highlight/styles/atelier-seaside-dark.css

@@ -0,0 +1,69 @@
+/* Base16 Atelier Seaside Dark - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Seaside Comment */
+.hljs-comment,
+.hljs-quote {
+  color: #809980;
+}
+
+/* Atelier-Seaside Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+  color: #e6193c;
+}
+
+/* Atelier-Seaside Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+  color: #87711d;
+}
+
+/* Atelier-Seaside Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+  color: #29a329;
+}
+
+/* Atelier-Seaside Blue */
+.hljs-title,
+.hljs-section {
+  color: #3d62f5;
+}
+
+/* Atelier-Seaside Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+  color: #ad2bee;
+}
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  background: #131513;
+  color: #8ca68c;
+  padding: 0.5em;
+}
+
+.hljs-emphasis {
+  font-style: italic;
+}
+
+.hljs-strong {
+  font-weight: bold;
+}

+ 69 - 0
docs/scripts/highlight/styles/atelier-seaside-light.css

@@ -0,0 +1,69 @@
+/* Base16 Atelier Seaside Light - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Seaside Comment */
+.hljs-comment,
+.hljs-quote {
+  color: #687d68;
+}
+
+/* Atelier-Seaside Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+  color: #e6193c;
+}
+
+/* Atelier-Seaside Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+  color: #87711d;
+}
+
+/* Atelier-Seaside Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+  color: #29a329;
+}
+
+/* Atelier-Seaside Blue */
+.hljs-title,
+.hljs-section {
+  color: #3d62f5;
+}
+
+/* Atelier-Seaside Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+  color: #ad2bee;
+}
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  background: #f4fbf4;
+  color: #5e6e5e;
+  padding: 0.5em;
+}
+
+.hljs-emphasis {
+  font-style: italic;
+}
+
+.hljs-strong {
+  font-weight: bold;
+}

+ 69 - 0
docs/scripts/highlight/styles/atelier-sulphurpool-dark.css

@@ -0,0 +1,69 @@
+/* Base16 Atelier Sulphurpool Dark - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/sulphurpool) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Sulphurpool Comment */
+.hljs-comment,
+.hljs-quote {
+  color: #898ea4;
+}
+
+/* Atelier-Sulphurpool Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+  color: #c94922;
+}
+
+/* Atelier-Sulphurpool Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+  color: #c76b29;
+}
+
+/* Atelier-Sulphurpool Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+  color: #ac9739;
+}
+
+/* Atelier-Sulphurpool Blue */
+.hljs-title,
+.hljs-section {
+  color: #3d8fd1;
+}
+
+/* Atelier-Sulphurpool Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+  color: #6679cc;
+}
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  background: #202746;
+  color: #979db4;
+  padding: 0.5em;
+}
+
+.hljs-emphasis {
+  font-style: italic;
+}
+
+.hljs-strong {
+  font-weight: bold;
+}

+ 69 - 0
docs/scripts/highlight/styles/atelier-sulphurpool-light.css

@@ -0,0 +1,69 @@
+/* Base16 Atelier Sulphurpool Light - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/sulphurpool) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Sulphurpool Comment */
+.hljs-comment,
+.hljs-quote {
+  color: #6b7394;
+}
+
+/* Atelier-Sulphurpool Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+  color: #c94922;
+}
+
+/* Atelier-Sulphurpool Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+  color: #c76b29;
+}
+
+/* Atelier-Sulphurpool Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+  color: #ac9739;
+}
+
+/* Atelier-Sulphurpool Blue */
+.hljs-title,
+.hljs-section {
+  color: #3d8fd1;
+}
+
+/* Atelier-Sulphurpool Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+  color: #6679cc;
+}
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  background: #f5f7ff;
+  color: #5e6687;
+  padding: 0.5em;
+}
+
+.hljs-emphasis {
+  font-style: italic;
+}
+
+.hljs-strong {
+  font-weight: bold;
+}

+ 96 - 0
docs/scripts/highlight/styles/atom-one-dark.css

@@ -0,0 +1,96 @@
+/*
+
+Atom One Dark by Daniel Gamage
+Original One Dark Syntax theme from https://github.com/atom/one-dark-syntax
+
+base:    #282c34
+mono-1:  #abb2bf
+mono-2:  #818896
+mono-3:  #5c6370
+hue-1:   #56b6c2
+hue-2:   #61aeee
+hue-3:   #c678dd
+hue-4:   #98c379
+hue-5:   #e06c75
+hue-5-2: #be5046
+hue-6:   #d19a66
+hue-6-2: #e6c07b
+
+*/
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  padding: 0.5em;
+  color: #abb2bf;
+  background: #282c34;
+}
+
+.hljs-comment,
+.hljs-quote {
+  color: #5c6370;
+  font-style: italic;
+}
+
+.hljs-doctag,
+.hljs-keyword,
+.hljs-formula {
+  color: #c678dd;
+}
+
+.hljs-section,
+.hljs-name,
+.hljs-selector-tag,
+.hljs-deletion,
+.hljs-subst {
+  color: #e06c75;
+}
+
+.hljs-literal {
+  color: #56b6c2;
+}
+
+.hljs-string,
+.hljs-regexp,
+.hljs-addition,
+.hljs-attribute,
+.hljs-meta-string {
+  color: #98c379;
+}
+
+.hljs-built_in,
+.hljs-class .hljs-title {
+  color: #e6c07b;
+}
+
+.hljs-attr,
+.hljs-variable,
+.hljs-template-variable,
+.hljs-type,
+.hljs-selector-class,
+.hljs-selector-attr,
+.hljs-selector-pseudo,
+.hljs-number {
+  color: #d19a66;
+}
+
+.hljs-symbol,
+.hljs-bullet,
+.hljs-link,
+.hljs-meta,
+.hljs-selector-id,
+.hljs-title {
+  color: #61aeee;
+}
+
+.hljs-emphasis {
+  font-style: italic;
+}
+
+.hljs-strong {
+  font-weight: bold;
+}
+
+.hljs-link {
+  text-decoration: underline;
+}

+ 96 - 0
docs/scripts/highlight/styles/atom-one-light.css

@@ -0,0 +1,96 @@
+/*
+
+Atom One Light by Daniel Gamage
+Original One Light Syntax theme from https://github.com/atom/one-light-syntax
+
+base:    #fafafa
+mono-1:  #383a42
+mono-2:  #686b77
+mono-3:  #a0a1a7
+hue-1:   #0184bb
+hue-2:   #4078f2
+hue-3:   #a626a4
+hue-4:   #50a14f
+hue-5:   #e45649
+hue-5-2: #c91243
+hue-6:   #986801
+hue-6-2: #c18401
+
+*/
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  padding: 0.5em;
+  color: #383a42;
+  background: #fafafa;
+}
+
+.hljs-comment,
+.hljs-quote {
+  color: #a0a1a7;
+  font-style: italic;
+}
+
+.hljs-doctag,
+.hljs-keyword,
+.hljs-formula {
+  color: #a626a4;
+}
+
+.hljs-section,
+.hljs-name,
+.hljs-selector-tag,
+.hljs-deletion,
+.hljs-subst {
+  color: #e45649;
+}
+
+.hljs-literal {
+  color: #0184bb;
+}
+
+.hljs-string,
+.hljs-regexp,
+.hljs-addition,
+.hljs-attribute,
+.hljs-meta-string {
+  color: #50a14f;
+}
+
+.hljs-built_in,
+.hljs-class .hljs-title {
+  color: #c18401;
+}
+
+.hljs-attr,
+.hljs-variable,
+.hljs-template-variable,
+.hljs-type,
+.hljs-selector-class,
+.hljs-selector-attr,
+.hljs-selector-pseudo,
+.hljs-number {
+  color: #986801;
+}
+
+.hljs-symbol,
+.hljs-bullet,
+.hljs-link,
+.hljs-meta,
+.hljs-selector-id,
+.hljs-title {
+  color: #4078f2;
+}
+
+.hljs-emphasis {
+  font-style: italic;
+}
+
+.hljs-strong {
+  font-weight: bold;
+}
+
+.hljs-link {
+  text-decoration: underline;
+}

+ 64 - 0
docs/scripts/highlight/styles/brown-paper.css

@@ -0,0 +1,64 @@
+/*
+
+Brown Paper style from goldblog.com.ua (c) Zaripov Yura <[email protected]>
+
+*/
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  padding: 0.5em;
+  background:#b7a68e url(./brown-papersq.png);
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-literal {
+  color:#005599;
+  font-weight:bold;
+}
+
+.hljs,
+.hljs-subst {
+  color: #363c69;
+}
+
+.hljs-string,
+.hljs-title,
+.hljs-section,
+.hljs-type,
+.hljs-attribute,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-built_in,
+.hljs-addition,
+.hljs-variable,
+.hljs-template-tag,
+.hljs-template-variable,
+.hljs-link,
+.hljs-name {
+  color: #2c009f;
+}
+
+.hljs-comment,
+.hljs-quote,
+.hljs-meta,
+.hljs-deletion {
+  color: #802022;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-literal,
+.hljs-doctag,
+.hljs-title,
+.hljs-section,
+.hljs-type,
+.hljs-name,
+.hljs-strong {
+  font-weight: bold;
+}
+
+.hljs-emphasis {
+  font-style: italic;
+}

BIN
docs/scripts/highlight/styles/brown-papersq.png


+ 60 - 0
docs/scripts/highlight/styles/codepen-embed.css

@@ -0,0 +1,60 @@
+/*
+  codepen.io Embed Theme
+  Author: Justin Perry <http://github.com/ourmaninamsterdam>
+  Original theme - https://github.com/chriskempson/tomorrow-theme
+*/
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  padding: 0.5em;
+  background: #222;
+  color: #fff;
+}
+
+.hljs-comment,
+.hljs-quote {
+  color: #777;
+}
+
+.hljs-variable,
+.hljs-template-variable,
+.hljs-tag,
+.hljs-regexp,
+.hljs-meta,
+.hljs-number,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-params,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-link,
+.hljs-deletion {
+  color: #ab875d;
+}
+
+.hljs-section,
+.hljs-title,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-type,
+.hljs-attribute {
+  color: #9b869b;
+}
+
+.hljs-string,
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-addition {
+  color: #8f9c6c;
+}
+
+.hljs-emphasis {
+  font-style: italic;
+}
+
+.hljs-strong {
+  font-weight: bold;
+}

+ 71 - 0
docs/scripts/highlight/styles/color-brewer.css

@@ -0,0 +1,71 @@
+/*
+
+Colorbrewer theme
+Original: https://github.com/mbostock/colorbrewer-theme (c) Mike Bostock <[email protected]>
+Ported by Fabrício Tavares de Oliveira
+
+*/
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  padding: 0.5em;
+  background: #fff;
+}
+
+.hljs,
+.hljs-subst {
+  color: #000;
+}
+
+.hljs-string,
+.hljs-meta,
+.hljs-symbol,
+.hljs-template-tag,
+.hljs-template-variable,
+.hljs-addition {
+  color: #756bb1;
+}
+
+.hljs-comment,
+.hljs-quote {
+  color: #636363;
+}
+
+.hljs-number,
+.hljs-regexp,
+.hljs-literal,
+.hljs-bullet,
+.hljs-link {
+  color: #31a354;
+}
+
+.hljs-deletion,
+.hljs-variable {
+  color: #88f;
+}
+
+
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-title,
+.hljs-section,
+.hljs-built_in,
+.hljs-doctag,
+.hljs-type,
+.hljs-tag,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-strong {
+  color: #3182bd;
+}
+
+.hljs-emphasis {
+  font-style: italic;
+}
+
+.hljs-attribute {
+  color: #e6550d;
+}

+ 77 - 0
docs/scripts/highlight/styles/darcula.css

@@ -0,0 +1,77 @@
+/*
+
+Darcula color scheme from the JetBrains family of IDEs
+
+*/
+
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  padding: 0.5em;
+  background: #2b2b2b;
+}
+
+.hljs {
+  color: #bababa;
+}
+
+.hljs-strong,
+.hljs-emphasis {
+  color: #a8a8a2;
+}
+
+.hljs-bullet,
+.hljs-quote,
+.hljs-link,
+.hljs-number,
+.hljs-regexp,
+.hljs-literal {
+  color: #6896ba;
+}
+
+.hljs-code,
+.hljs-selector-class {
+  color: #a6e22e;
+}
+
+.hljs-emphasis {
+  font-style: italic;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-section,
+.hljs-attribute,
+.hljs-name,
+.hljs-variable {
+  color: #cb7832;
+}
+
+.hljs-params {
+  color: #b9b9b9;
+}
+
+.hljs-string {
+  color: #6a8759;
+}
+
+.hljs-subst,
+.hljs-type,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-symbol,
+.hljs-selector-id,
+.hljs-selector-attr,
+.hljs-selector-pseudo,
+.hljs-template-tag,
+.hljs-template-variable,
+.hljs-addition {
+  color: #e0c46c;
+}
+
+.hljs-comment,
+.hljs-deletion,
+.hljs-meta {
+  color: #7f7f7f;
+}

+ 63 - 0
docs/scripts/highlight/styles/dark.css

@@ -0,0 +1,63 @@
+/*
+
+Dark style from softwaremaniacs.org (c) Ivan Sagalaev <[email protected]>
+
+*/
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  padding: 0.5em;
+  background: #444;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-literal,
+.hljs-section,
+.hljs-link {
+  color: white;
+}
+
+.hljs,
+.hljs-subst {
+  color: #ddd;
+}
+
+.hljs-string,
+.hljs-title,
+.hljs-name,
+.hljs-type,
+.hljs-attribute,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-built_in,
+.hljs-addition,
+.hljs-variable,
+.hljs-template-tag,
+.hljs-template-variable {
+  color: #d88;
+}
+
+.hljs-comment,
+.hljs-quote,
+.hljs-deletion,
+.hljs-meta {
+  color: #777;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-literal,
+.hljs-title,
+.hljs-section,
+.hljs-doctag,
+.hljs-type,
+.hljs-name,
+.hljs-strong {
+  font-weight: bold;
+}
+
+.hljs-emphasis {
+  font-style: italic;
+}

+ 6 - 0
docs/scripts/highlight/styles/darkula.css

@@ -0,0 +1,6 @@
+/*
+  Deprecated due to a typo in the name and left here for compatibility purpose only.
+  Please use darcula.css instead.
+*/
+
+@import url('darcula.css');

+ 99 - 0
docs/scripts/highlight/styles/default.css

@@ -0,0 +1,99 @@
+/*
+
+Original highlight.js style (c) Ivan Sagalaev <[email protected]>
+
+*/
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  padding: 0.5em;
+  background: #F0F0F0;
+}
+
+
+/* Base color: saturation 0; */
+
+.hljs,
+.hljs-subst {
+  color: #444;
+}
+
+.hljs-comment {
+  color: #888888;
+}
+
+.hljs-keyword,
+.hljs-attribute,
+.hljs-selector-tag,
+.hljs-meta-keyword,
+.hljs-doctag,
+.hljs-name {
+  font-weight: bold;
+}
+
+
+/* User color: hue: 0 */
+
+.hljs-type,
+.hljs-string,
+.hljs-number,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-quote,
+.hljs-template-tag,
+.hljs-deletion {
+  color: #880000;
+}
+
+.hljs-title,
+.hljs-section {
+  color: #880000;
+  font-weight: bold;
+}
+
+.hljs-regexp,
+.hljs-symbol,
+.hljs-variable,
+.hljs-template-variable,
+.hljs-link,
+.hljs-selector-attr,
+.hljs-selector-pseudo {
+  color: #BC6060;
+}
+
+
+/* Language color: hue: 90; */
+
+.hljs-literal {
+  color: #78A960;
+}
+
+.hljs-built_in,
+.hljs-bullet,
+.hljs-code,
+.hljs-addition {
+  color: #397300;
+}
+
+
+/* Meta color: hue: 200 */
+
+.hljs-meta {
+  color: #1f7199;
+}
+
+.hljs-meta-string {
+  color: #4d99bf;
+}
+
+
+/* Misc effects */
+
+.hljs-emphasis {
+  font-style: italic;
+}
+
+.hljs-strong {
+  font-weight: bold;
+}

+ 97 - 0
docs/scripts/highlight/styles/docco.css

@@ -0,0 +1,97 @@
+/*
+Docco style used in http://jashkenas.github.com/docco/ converted by Simon Madine (@thingsinjars)
+*/
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  padding: 0.5em;
+  color: #000;
+  background: #f8f8ff;
+}
+
+.hljs-comment,
+.hljs-quote {
+  color: #408080;
+  font-style: italic;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-literal,
+.hljs-subst {
+  color: #954121;
+}
+
+.hljs-number {
+  color: #40a070;
+}
+
+.hljs-string,
+.hljs-doctag {
+  color: #219161;
+}
+
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-section,
+.hljs-type {
+  color: #19469d;
+}
+
+.hljs-params {
+  color: #00f;
+}
+
+.hljs-title {
+  color: #458;
+  font-weight: bold;
+}
+
+.hljs-tag,
+.hljs-name,
+.hljs-attribute {
+  color: #000080;
+  font-weight: normal;
+}
+
+.hljs-variable,
+.hljs-template-variable {
+  color: #008080;
+}
+
+.hljs-regexp,
+.hljs-link {
+  color: #b68;
+}
+
+.hljs-symbol,
+.hljs-bullet {
+  color: #990073;
+}
+
+.hljs-built_in,
+.hljs-builtin-name {
+  color: #0086b3;
+}
+
+.hljs-meta {
+  color: #999;
+  font-weight: bold;
+}
+
+.hljs-deletion {
+  background: #fdd;
+}
+
+.hljs-addition {
+  background: #dfd;
+}
+
+.hljs-emphasis {
+  font-style: italic;
+}
+
+.hljs-strong {
+  font-weight: bold;
+}

+ 76 - 0
docs/scripts/highlight/styles/dracula.css

@@ -0,0 +1,76 @@
+/*
+
+Dracula Theme v1.2.0
+
+https://github.com/zenorocha/dracula-theme
+
+Copyright 2015, All rights reserved
+
+Code licensed under the MIT license
+http://zenorocha.mit-license.org
+
+@author Éverton Ribeiro <[email protected]>
+@author Zeno Rocha <[email protected]>
+
+*/
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  padding: 0.5em;
+  background: #282a36;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-literal,
+.hljs-section,
+.hljs-link {
+  color: #8be9fd;
+}
+
+.hljs-function .hljs-keyword {
+  color: #ff79c6;
+}
+
+.hljs,
+.hljs-subst {
+  color: #f8f8f2;
+}
+
+.hljs-string,
+.hljs-title,
+.hljs-name,
+.hljs-type,
+.hljs-attribute,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-addition,
+.hljs-variable,
+.hljs-template-tag,
+.hljs-template-variable {
+  color: #f1fa8c;
+}
+
+.hljs-comment,
+.hljs-quote,
+.hljs-deletion,
+.hljs-meta {
+  color: #6272a4;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-literal,
+.hljs-title,
+.hljs-section,
+.hljs-doctag,
+.hljs-type,
+.hljs-name,
+.hljs-strong {
+  font-weight: bold;
+}
+
+.hljs-emphasis {
+  font-style: italic;
+}

+ 71 - 0
docs/scripts/highlight/styles/far.css

@@ -0,0 +1,71 @@
+/*
+
+FAR Style (c) MajestiC <[email protected]>
+
+*/
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  padding: 0.5em;
+  background: #000080;
+}
+
+.hljs,
+.hljs-subst {
+  color: #0ff;
+}
+
+.hljs-string,
+.hljs-attribute,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-template-tag,
+.hljs-template-variable,
+.hljs-addition {
+  color: #ff0;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-section,
+.hljs-type,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-variable {
+  color: #fff;
+}
+
+.hljs-comment,
+.hljs-quote,
+.hljs-doctag,
+.hljs-deletion {
+  color: #888;
+}
+
+.hljs-number,
+.hljs-regexp,
+.hljs-literal,
+.hljs-link {
+  color: #0f0;
+}
+
+.hljs-meta {
+  color: #008080;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-title,
+.hljs-section,
+.hljs-name,
+.hljs-strong {
+  font-weight: bold;
+}
+
+.hljs-emphasis {
+  font-style: italic;
+}

+ 88 - 0
docs/scripts/highlight/styles/foundation.css

@@ -0,0 +1,88 @@
+/*
+Description: Foundation 4 docs style for highlight.js
+Author: Dan Allen <[email protected]>
+Website: http://foundation.zurb.com/docs/
+Version: 1.0
+Date: 2013-04-02
+*/
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  padding: 0.5em;
+  background: #eee; color: black;
+}
+
+.hljs-link,
+.hljs-emphasis,
+.hljs-attribute,
+.hljs-addition {
+  color: #070;
+}
+
+.hljs-emphasis {
+  font-style: italic;
+}
+
+.hljs-strong,
+.hljs-string,
+.hljs-deletion {
+  color: #d14;
+}
+
+.hljs-strong {
+  font-weight: bold;
+}
+
+.hljs-quote,
+.hljs-comment {
+  color: #998;
+  font-style: italic;
+}
+
+.hljs-section,
+.hljs-title {
+  color: #900;
+}
+
+.hljs-class .hljs-title,
+.hljs-type {
+  color: #458;
+}
+
+.hljs-variable,
+.hljs-template-variable {
+  color: #336699;
+}
+
+.hljs-bullet {
+  color: #997700;
+}
+
+.hljs-meta {
+  color: #3344bb;
+}
+
+.hljs-code,
+.hljs-number,
+.hljs-literal,
+.hljs-keyword,
+.hljs-selector-tag {
+  color: #099;
+}
+
+.hljs-regexp {
+  background-color: #fff0ff;
+  color: #880088;
+}
+
+.hljs-symbol {
+  color: #990073;
+}
+
+.hljs-tag,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+  color: #007700;
+}

+ 71 - 0
docs/scripts/highlight/styles/github-gist.css

@@ -0,0 +1,71 @@
+/**
+ * GitHub Gist Theme
+ * Author : Louis Barranqueiro - https://github.com/LouisBarranqueiro
+ */
+
+.hljs {
+  display: block;
+  background: white;
+  padding: 0.5em;
+  color: #333333;
+  overflow-x: auto;
+}
+
+.hljs-comment,
+.hljs-meta {
+  color: #969896;
+}
+
+.hljs-string,
+.hljs-variable,
+.hljs-template-variable,
+.hljs-strong,
+.hljs-emphasis,
+.hljs-quote {
+  color: #df5000;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-type {
+  color: #a71d5d;
+}
+
+.hljs-literal,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-attribute {
+  color: #0086b3;
+}
+
+.hljs-section,
+.hljs-name {
+  color: #63a35c;
+}
+
+.hljs-tag {
+  color: #333333;
+}
+
+.hljs-title,
+.hljs-attr,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-selector-attr,
+.hljs-selector-pseudo {
+  color: #795da3;
+}
+
+.hljs-addition {
+  color: #55a532;
+  background-color: #eaffea;
+}
+
+.hljs-deletion {
+  color: #bd2c00;
+  background-color: #ffecec;
+}
+
+.hljs-link {
+  text-decoration: underline;
+}

+ 99 - 0
docs/scripts/highlight/styles/github.css

@@ -0,0 +1,99 @@
+/*
+
+github.com style (c) Vasily Polovnyov <[email protected]>
+
+*/
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  padding: 0.5em;
+  color: #333;
+  background: #f8f8f8;
+}
+
+.hljs-comment,
+.hljs-quote {
+  color: #998;
+  font-style: italic;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-subst {
+  color: #333;
+  font-weight: bold;
+}
+
+.hljs-number,
+.hljs-literal,
+.hljs-variable,
+.hljs-template-variable,
+.hljs-tag .hljs-attr {
+  color: #008080;
+}
+
+.hljs-string,
+.hljs-doctag {
+  color: #d14;
+}
+
+.hljs-title,
+.hljs-section,
+.hljs-selector-id {
+  color: #900;
+  font-weight: bold;
+}
+
+.hljs-subst {
+  font-weight: normal;
+}
+
+.hljs-type,
+.hljs-class .hljs-title {
+  color: #458;
+  font-weight: bold;
+}
+
+.hljs-tag,
+.hljs-name,
+.hljs-attribute {
+  color: #000080;
+  font-weight: normal;
+}
+
+.hljs-regexp,
+.hljs-link {
+  color: #009926;
+}
+
+.hljs-symbol,
+.hljs-bullet {
+  color: #990073;
+}
+
+.hljs-built_in,
+.hljs-builtin-name {
+  color: #0086b3;
+}
+
+.hljs-meta {
+  color: #999;
+  font-weight: bold;
+}
+
+.hljs-deletion {
+  background: #fdd;
+}
+
+.hljs-addition {
+  background: #dfd;
+}
+
+.hljs-emphasis {
+  font-style: italic;
+}
+
+.hljs-strong {
+  font-weight: bold;
+}

+ 89 - 0
docs/scripts/highlight/styles/googlecode.css

@@ -0,0 +1,89 @@
+/*
+
+Google Code style (c) Aahan Krish <[email protected]>
+
+*/
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  padding: 0.5em;
+  background: white;
+  color: black;
+}
+
+.hljs-comment,
+.hljs-quote {
+  color: #800;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-section,
+.hljs-title,
+.hljs-name {
+  color: #008;
+}
+
+.hljs-variable,
+.hljs-template-variable {
+  color: #660;
+}
+
+.hljs-string,
+.hljs-selector-attr,
+.hljs-selector-pseudo,
+.hljs-regexp {
+  color: #080;
+}
+
+.hljs-literal,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-meta,
+.hljs-number,
+.hljs-link {
+  color: #066;
+}
+
+.hljs-title,
+.hljs-doctag,
+.hljs-type,
+.hljs-attr,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-params {
+  color: #606;
+}
+
+.hljs-attribute,
+.hljs-subst {
+  color: #000;
+}
+
+.hljs-formula {
+  background-color: #eee;
+  font-style: italic;
+}
+
+.hljs-selector-id,
+.hljs-selector-class {
+  color: #9B703F
+}
+
+.hljs-addition {
+  background-color: #baeeba;
+}
+
+.hljs-deletion {
+  background-color: #ffc8bd;
+}
+
+.hljs-doctag,
+.hljs-strong {
+  font-weight: bold;
+}
+
+.hljs-emphasis {
+  font-style: italic;
+}

+ 101 - 0
docs/scripts/highlight/styles/grayscale.css

@@ -0,0 +1,101 @@
+/*
+
+grayscale style (c) MY Sun <[email protected]>
+
+*/
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  padding: 0.5em;
+  color: #333;
+  background: #fff;
+}
+
+.hljs-comment,
+.hljs-quote {
+  color: #777;
+  font-style: italic;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-subst {
+  color: #333;
+  font-weight: bold;
+}
+
+.hljs-number,
+.hljs-literal {
+  color: #777;
+}
+
+.hljs-string,
+.hljs-doctag,
+.hljs-formula {
+  color: #333;
+  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAJ0lEQVQIW2O8e/fufwYGBgZBQUEQxcCIIfDu3Tuwivfv30NUoAsAALHpFMMLqZlPAAAAAElFTkSuQmCC) repeat;
+}
+
+.hljs-title,
+.hljs-section,
+.hljs-selector-id {
+  color: #000;
+  font-weight: bold;
+}
+
+.hljs-subst {
+  font-weight: normal;
+}
+
+.hljs-class .hljs-title,
+.hljs-type,
+.hljs-name {
+  color: #333;
+  font-weight: bold;
+}
+
+.hljs-tag {
+  color: #333;
+}
+
+.hljs-regexp {
+    color: #333;
+    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAAPUlEQVQYV2NkQAN37979r6yszIgujiIAU4RNMVwhuiQ6H6wQl3XI4oy4FMHcCJPHcDS6J2A2EqUQpJhohQDexSef15DBCwAAAABJRU5ErkJggg==) repeat;
+}
+
+.hljs-symbol,
+.hljs-bullet,
+.hljs-link {
+  color: #000;
+  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAKElEQVQIW2NkQAO7d+/+z4gsBhJwdXVlhAvCBECKwIIwAbhKZBUwBQA6hBpm5efZsgAAAABJRU5ErkJggg==) repeat;
+}
+
+.hljs-built_in,
+.hljs-builtin-name {
+  color: #000;
+  text-decoration: underline;
+}
+
+.hljs-meta {
+  color: #999;
+  font-weight: bold;
+}
+
+.hljs-deletion {
+  color: #fff;
+  background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAADCAYAAABS3WWCAAAAE0lEQVQIW2MMDQ39zzhz5kwIAQAyxweWgUHd1AAAAABJRU5ErkJggg==) repeat;
+}
+
+.hljs-addition {
+  color: #000;
+  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAALUlEQVQYV2N89+7dfwYk8P79ewZBQUFkIQZGOiu6e/cuiptQHAPl0NtNxAQBAM97Oejj3Dg7AAAAAElFTkSuQmCC) repeat;
+}
+
+.hljs-emphasis {
+  font-style: italic;
+}
+
+.hljs-strong {
+  font-weight: bold;
+}

+ 108 - 0
docs/scripts/highlight/styles/gruvbox-dark.css

@@ -0,0 +1,108 @@
+/*
+
+Gruvbox style (dark) (c) Pavel Pertsev (original style at https://github.com/morhetz/gruvbox)
+
+*/
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  padding: 0.5em;
+  background: #282828;
+}
+
+.hljs,
+.hljs-subst {
+  color: #ebdbb2;
+}
+
+/* Gruvbox Red */
+.hljs-deletion,
+.hljs-formula,
+.hljs-keyword,
+.hljs-link,
+.hljs-selector-tag {
+  color: #fb4934;
+}
+
+/* Gruvbox Blue */
+.hljs-built_in,
+.hljs-emphasis,
+.hljs-name,
+.hljs-quote,
+.hljs-strong,
+.hljs-title,
+.hljs-variable {
+  color: #83a598;
+}
+
+/* Gruvbox Yellow */
+.hljs-attr,
+.hljs-params,
+.hljs-template-tag,
+.hljs-type {
+  color: #fabd2f;
+}
+
+/* Gruvbox Purple */
+.hljs-builtin-name,
+.hljs-doctag,
+.hljs-literal,
+.hljs-number {
+  color: #8f3f71;
+}
+
+/* Gruvbox Orange */
+.hljs-code,
+.hljs-meta,
+.hljs-regexp,
+.hljs-selector-id,
+.hljs-template-variable {
+  color: #fe8019;
+}
+
+/* Gruvbox Green */
+.hljs-addition,
+.hljs-meta-string,
+.hljs-section,
+.hljs-selector-attr,
+.hljs-selector-class,
+.hljs-string,
+.hljs-symbol {
+  color: #b8bb26;
+}
+
+/* Gruvbox Aqua */
+.hljs-attribute,
+.hljs-bullet,
+.hljs-class,
+.hljs-function,
+.hljs-function .hljs-keyword,
+.hljs-meta-keyword,
+.hljs-selector-pseudo,
+.hljs-tag {
+  color: #8ec07c;
+}
+
+/* Gruvbox Gray */
+.hljs-comment {
+  color: #928374;
+}
+
+/* Gruvbox Purple */
+.hljs-link_label,
+.hljs-literal,
+.hljs-number {
+  color: #d3869b;
+}
+
+.hljs-comment,
+.hljs-emphasis {
+  font-style: italic;
+}
+
+.hljs-section,
+.hljs-strong,
+.hljs-tag {
+  font-weight: bold;
+}

+ 108 - 0
docs/scripts/highlight/styles/gruvbox-light.css

@@ -0,0 +1,108 @@
+/*
+
+Gruvbox style (light) (c) Pavel Pertsev (original style at https://github.com/morhetz/gruvbox)
+
+*/
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  padding: 0.5em;
+  background: #fbf1c7;
+}
+
+.hljs,
+.hljs-subst {
+  color: #3c3836;
+}
+
+/* Gruvbox Red */
+.hljs-deletion,
+.hljs-formula,
+.hljs-keyword,
+.hljs-link,
+.hljs-selector-tag {
+  color: #9d0006;
+}
+
+/* Gruvbox Blue */
+.hljs-built_in,
+.hljs-emphasis,
+.hljs-name,
+.hljs-quote,
+.hljs-strong,
+.hljs-title,
+.hljs-variable {
+  color: #076678;
+}
+
+/* Gruvbox Yellow */
+.hljs-attr,
+.hljs-params,
+.hljs-template-tag,
+.hljs-type {
+  color: #b57614;
+}
+
+/* Gruvbox Purple */
+.hljs-builtin-name,
+.hljs-doctag,
+.hljs-literal,
+.hljs-number {
+  color: #8f3f71;
+}
+
+/* Gruvbox Orange */
+.hljs-code,
+.hljs-meta,
+.hljs-regexp,
+.hljs-selector-id,
+.hljs-template-variable {
+  color: #af3a03;
+}
+
+/* Gruvbox Green */
+.hljs-addition,
+.hljs-meta-string,
+.hljs-section,
+.hljs-selector-attr,
+.hljs-selector-class,
+.hljs-string,
+.hljs-symbol {
+  color: #79740e;
+}
+
+/* Gruvbox Aqua */
+.hljs-attribute,
+.hljs-bullet,
+.hljs-class,
+.hljs-function,
+.hljs-function .hljs-keyword,
+.hljs-meta-keyword,
+.hljs-selector-pseudo,
+.hljs-tag {
+  color: #427b58;
+}
+
+/* Gruvbox Gray */
+.hljs-comment {
+  color: #928374;
+}
+
+/* Gruvbox Purple */
+.hljs-link_label,
+.hljs-literal,
+.hljs-number {
+  color: #8f3f71;
+}
+
+.hljs-comment,
+.hljs-emphasis {
+  font-style: italic;
+}
+
+.hljs-section,
+.hljs-strong,
+.hljs-tag {
+  font-weight: bold;
+}

+ 83 - 0
docs/scripts/highlight/styles/hopscotch.css

@@ -0,0 +1,83 @@
+/*
+ * Hopscotch
+ * by Jan T. Sott
+ * https://github.com/idleberg/Hopscotch
+ *
+ * This work is licensed under the Creative Commons CC0 1.0 Universal License
+ */
+
+/* Comment */
+.hljs-comment,
+.hljs-quote {
+  color: #989498;
+}
+
+/* Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-regexp,
+.hljs-link,
+.hljs-deletion {
+  color: #dd464c;
+}
+
+/* Orange */
+.hljs-number,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+  color: #fd8b19;
+}
+
+/* Yellow */
+.hljs-class .hljs-title {
+  color: #fdcc59;
+}
+
+/* Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-addition {
+  color: #8fc13e;
+}
+
+/* Aqua */
+.hljs-meta {
+  color: #149b93;
+}
+
+/* Blue */
+.hljs-function,
+.hljs-section,
+.hljs-title {
+  color: #1290bf;
+}
+
+/* Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+  color: #c85e7c;
+}
+
+.hljs {
+  display: block;
+  background: #322931;
+  color: #b9b5b8;
+  padding: 0.5em;
+}
+
+.hljs-emphasis {
+  font-style: italic;
+}
+
+.hljs-strong {
+  font-weight: bold;
+}

+ 102 - 0
docs/scripts/highlight/styles/hybrid.css

@@ -0,0 +1,102 @@
+/*
+
+vim-hybrid theme by w0ng (https://github.com/w0ng/vim-hybrid)
+
+*/
+
+/*background color*/
+.hljs {
+  display: block;
+  overflow-x: auto;
+  padding: 0.5em;
+  background: #1d1f21;
+}
+
+/*selection color*/
+.hljs::selection,
+.hljs span::selection {
+  background: #373b41;
+}
+
+.hljs::-moz-selection,
+.hljs span::-moz-selection {
+  background: #373b41;
+}
+
+/*foreground color*/
+.hljs {
+  color: #c5c8c6;
+}
+
+/*color: fg_yellow*/
+.hljs-title,
+.hljs-name {
+  color: #f0c674;
+}
+
+/*color: fg_comment*/
+.hljs-comment,
+.hljs-meta,
+.hljs-meta .hljs-keyword {
+  color: #707880;
+}
+
+/*color: fg_red*/
+.hljs-number,
+.hljs-symbol,
+.hljs-literal,
+.hljs-deletion,
+.hljs-link {
+ color: #cc6666
+}
+
+/*color: fg_green*/
+.hljs-string,
+.hljs-doctag,
+.hljs-addition,
+.hljs-regexp,
+.hljs-selector-attr,
+.hljs-selector-pseudo {
+  color: #b5bd68;
+}
+
+/*color: fg_purple*/
+.hljs-attribute,
+.hljs-code,
+.hljs-selector-id {
+ color: #b294bb;
+}
+
+/*color: fg_blue*/
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-bullet,
+.hljs-tag {
+ color: #81a2be;
+}
+
+/*color: fg_aqua*/
+.hljs-subst,
+.hljs-variable,
+.hljs-template-tag,
+.hljs-template-variable {
+  color: #8abeb7;
+}
+
+/*color: fg_orange*/
+.hljs-type,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-quote,
+.hljs-section,
+.hljs-selector-class {
+  color: #de935f;
+}
+
+.hljs-emphasis {
+  font-style: italic;
+}
+
+.hljs-strong {
+  font-weight: bold;
+}

+ 97 - 0
docs/scripts/highlight/styles/idea.css

@@ -0,0 +1,97 @@
+/*
+
+Intellij Idea-like styling (c) Vasily Polovnyov <[email protected]>
+
+*/
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  padding: 0.5em;
+  color: #000;
+  background: #fff;
+}
+
+.hljs-subst,
+.hljs-title {
+  font-weight: normal;
+  color: #000;
+}
+
+.hljs-comment,
+.hljs-quote {
+  color: #808080;
+  font-style: italic;
+}
+
+.hljs-meta {
+  color: #808000;
+}
+
+.hljs-tag {
+  background: #efefef;
+}
+
+.hljs-section,
+.hljs-name,
+.hljs-literal,
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-type,
+.hljs-selector-id,
+.hljs-selector-class {
+  font-weight: bold;
+  color: #000080;
+}
+
+.hljs-attribute,
+.hljs-number,
+.hljs-regexp,
+.hljs-link {
+  font-weight: bold;
+  color: #0000ff;
+}
+
+.hljs-number,
+.hljs-regexp,
+.hljs-link {
+  font-weight: normal;
+}
+
+.hljs-string {
+  color: #008000;
+  font-weight: bold;
+}
+
+.hljs-symbol,
+.hljs-bullet,
+.hljs-formula {
+  color: #000;
+  background: #d0eded;
+  font-style: italic;
+}
+
+.hljs-doctag {
+  text-decoration: underline;
+}
+
+.hljs-variable,
+.hljs-template-variable {
+  color: #660e7a;
+}
+
+.hljs-addition {
+  background: #baeeba;
+}
+
+.hljs-deletion {
+  background: #ffc8bd;
+}
+
+.hljs-emphasis {
+  font-style: italic;
+}
+
+.hljs-strong {
+  font-weight: bold;
+}

+ 73 - 0
docs/scripts/highlight/styles/ir-black.css

@@ -0,0 +1,73 @@
+/*
+  IR_Black style (c) Vasily Mikhailitchenko <[email protected]>
+*/
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  padding: 0.5em;
+  background: #000;
+  color: #f8f8f8;
+}
+
+.hljs-comment,
+.hljs-quote,
+.hljs-meta {
+  color: #7c7c7c;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-tag,
+.hljs-name {
+  color: #96cbfe;
+}
+
+.hljs-attribute,
+.hljs-selector-id {
+  color: #ffffb6;
+}
+
+.hljs-string,
+.hljs-selector-attr,
+.hljs-selector-pseudo,
+.hljs-addition {
+  color: #a8ff60;
+}
+
+.hljs-subst {
+  color: #daefa3;
+}
+
+.hljs-regexp,
+.hljs-link {
+  color: #e9c062;
+}
+
+.hljs-title,
+.hljs-section,
+.hljs-type,
+.hljs-doctag {
+  color: #ffffb6;
+}
+
+.hljs-symbol,
+.hljs-bullet,
+.hljs-variable,
+.hljs-template-variable,
+.hljs-literal {
+  color: #c6c5fe;
+}
+
+.hljs-number,
+.hljs-deletion {
+  color:#ff73fd;
+}
+
+.hljs-emphasis {
+  font-style: italic;
+}
+
+.hljs-strong {
+  font-weight: bold;
+}

Some files were not shown because too many files changed in this diff