code: private List<Token> convertFactor(final Token.Factor factor) {
          
          final String item = factor.getValue();
          final int itemLength = item.length();
          final List<Token> list = new ArrayList<>();
          
          StringBuilder sb = new StringBuilder();
          for(int i=0; i < itemLength; i++) {
              char c = item.charAt(i);
              if(c == '@') {
                  // バッファから取り出し、新たにバッファを作成する
                  list.add(Token.factor(sb.toString()));
                  sb = new StringBuilder();
                  
                  list.add(Token.SYMBOL_AT_MARK);
                  
              } else {
                  sb.append(c);
              }
          }
          
          if(sb.length() > 0) {
              list.add(Token.factor(sb.toString()));
              sb = null;
          }
          
          return list;
      }
docs: 書式の因子を記号'@'とそれ以外に変換する。
  @param str
  @return