anchor.diff:      destructor Destroy; override;
   
       procedure AddValue (const aKey, aValue : string);
  -    function Render : String;
  -
  -    property Template : TStringList read FTemplate;
  +    function Render(aTemplate: String): String;
     end;
   
   implementation
   
   uses
  -  mBaseClassesAsObjects;
  -
  +  mBaseClassesAsObjects, mLog, htmlelements;
  +
  +var
  +  logger : TmLog;
   
   { TMustacheLexState }
   
  
positive.code: constructor TmMicroMustache.Create;
  begin
    FValues := TmStringDictionary.Create(true);
    FTemplate := TStringList.Create;
  end;
  
  destructor TmMicroMustache.Destroy;
  begin
    FValues.Free;
    FTemplate.Free;
    inherited Destroy;
  end;
  
  
negative.code:   FValues.Add(l, TStringObject.Create(aValue));
  end;
  
  function TmMicroMustache.Render (aTemplate: String): String;
  var
    lexState : TMustacheLexState;
  begin
    Result := '';
    lexState := TMustacheLexState.Create;
    try
      lexState.SetText(aTemplate);
      yylex(lexState, Result);
    finally
      lexState.Free;
    end;
  end;
  
  initialization
  
  logger := logManager.AddLog('mustache');
  
  end.
  
  