Permalink
Switch branches/tags
Commits on Apr 17, 2009
  1. Refactor and simplify.

    * Split dynamic variable get(:scope), which served for both LocalScope
      and IteratorScope into two dynamic variables get(:local_scope) and
      get(:control_scope). This simplifies the Scope classes a lot.
    
    * Introduce LoopControlScope and IteratorControlScope to distinguish
      loops from iterators.
    
    * Reduce usage of dynamic variables. Remove :encoder and :method_scope
      dynamic variables and replace them by attributes of class Compiler.
    committed Apr 17, 2009
  2. Refactor model code and improve documentation

    * Rename EntityModel#of to EntityModel#entity
    * Rename EntityModel.of to EntitiyModel.for
    * Move MethodModel into method_model.rb
    * MethodModel#imethods and #cmethods return Arrays.
    committed Apr 17, 2009
Commits on Dec 2, 2008
  1. Use correct value of "this" inside of iterators

    Within iterators we can't use "this", instead we
    have to introduce a temporary variable and use that
    instead.
    committed Dec 2, 2008
  2. Refactor encoding

    committed Dec 2, 2008
  3. Refactor variables

    Introduce Instance/GlobalVariable classes and use them in
    the code.
    committed Dec 2, 2008
  4. Refactor iterators.

    The Iter AST node previously contained the MethodCall AST node.
    As this in less practical in the case of generating Javascript,
    move the Iter node into the ArgumentList of the MethodCall, similar
    to BlockPass.
    committed Dec 2, 2008
Commits on Dec 1, 2008
  1. Improve error message

    committed Dec 1, 2008
  2. Refactor MethodCall, ArgList and BlockPass

    * Rename ArgList to ArgumentList
    * Move ArgumentList into MethodCall class so that it becomes clear
      that it represents passed parameters to a method and not the
      declaration of a parameter list when defining a method.
    * For the same reason move BlockPass into class MethodCall.
    committed Dec 1, 2008
  3. Refactor LocalScope and IteratorScope.

    There are no longer two dynamic variables :scope and :iterator_scope,
    instead there is only the dynamic :scope variable which serves as both.
    We traverse scopes towards the root to find the nearest LocalScope
    or IteratorScope.
    committed Dec 1, 2008
Commits on Nov 25, 2008
  1. Fix a syntax error (result << yield elem). Parentize

    other "yields" as well.
    committed Nov 25, 2008
Commits on Nov 23, 2008
  1. *

    committed Nov 23, 2008
Commits on Nov 20, 2008
  1. Make module_scope "optional"

    committed Nov 20, 2008
Commits on Nov 19, 2008
  1. Implement CodeGenerator

    committed Nov 19, 2008
Commits on Nov 18, 2008
  1. WorldModel can now be used with a different namespace passed as

    argument to #initialize. Also don't register all entities by default.
    Do it explicitly!
    committed Nov 18, 2008
  2. Fix bug introduced by SymbolLiteral

    (commit: e5a01ae)
    committed Nov 18, 2008
  3. Add SymbolLiteral

    committed Nov 18, 2008
  4. For some reason the UnifiedRuby sexp processor has problems with:

        attr_reader :message
        alias to_s message
    
    This is atm the simplest way to avoid the problem.
    committed Nov 18, 2008
Commits on Nov 17, 2008
  1. Implement Javascript generation for Block node in case

    it appears as an expression.
    
    Dummy Javascript for Splat node.
    committed Nov 17, 2008