code: boolean scanSingleLineComment() {
  		while (true) {
  			switch (state) {
  			case 100:
  				if (peek() == '#' && next() == '#' && next() == '#') {
  					state = 101;
  					continue ;
  				}
  				return fail();
  			case 101:
  				for (char c=next(); true; c=next()) {
  					if (c == '\n') {
  						if (deletePreviousTextTokenBlankTails()) {
  							return prepareNextScan(1);
  						} else {
  							return prepareNextScan(0);
  						}
  					}
  					if (c == EOF) {
  						deletePreviousTextTokenBlankTails();
  						return prepareNextScan(0);
  					}
  				}
  			default :
  				return fail();
  			}
  		}
  	}
docs: 单行注释，开始状态 100，关注换行与 EOF