anchor.diff:  
   sep_stmt_list :
        t_FILLER? stmt_separator t_FILLER? (stmt t_FILLER?)*
  -  //|  element_separator_filler (stmt t_FILLER?)*
     ;
   
   function_list :
  
positive.code: private boolean inParens() { return !bracketStack.isEmpty() && bracketStack.peek() == LPAREN; }
  private boolean inCurly() { return !bracketStack.isEmpty() && bracketStack.peek() == LCURLY; }
  private boolean inSquare() { return !bracketStack.isEmpty() && bracketStack.peek() == LSQUARE; }
  private boolean notInBrackets() { return bracketStack.isEmpty(); }
  }
  
  @lexer::header {
  
negative.code: //non-empty
  element_separator_list :
       t_FILLER? t_COMMA t_FILLER? //just echo
    |  {isElementSeparator()}? { offsetTracker.recordOffsetChange(0, -1); offsetTracker.advanceInLine(1); } t_FILLER -> template(filler={$text}) ",<filler>" //insert comma
    ;
  
  //non-empty
  