 
     for name, data of repository
       @repository[name] = new Rule(this, data)
-
-    for rule in [@initialRule, _.values(@repository)...]
-      rule.compileRegex()
 
   getLineTokens: (line, stack=[@initialRule]) ->
     stack = new Array(stack...)

    else
      [this]

  compileRegex: ->
    @pushRule?.compileRegex()

  getNextMatch: (line, position) ->
    if @include
      rule = @grammar.ruleForInclude(@include)

    @patterns = []
    @patterns.push(@endPattern) if @endPattern
    @patterns.push((patterns.map (pattern) => new Pattern(grammar, pattern))...)

  getAllPatterns: (included=[]) ->
    return [] if _.include(included, this)
