<commit_before>package lexer;

public class Pattern {
	
	static public interface ObjBool {
		boolean eq(Character o);
	}
	
	static public class Checker {
		public ObjBool check;
		public Checker(ObjBool check) {
			this.check = check;
		}
		@Override
		public boolean equals(Object o) {
			if(!o.getClass().isInstance(new Character('.')))
				return false;
			else 
				return this.check.eq((char)o);
		}
			
	}
	
	public static final Object SEPARATOR = new Checker((o) -> (
			o.equals(' ') || 
			o.equals('\n')|| 
			o.equals('\t')|| 
			o.equals('\r')
	));
	
	public static final Object NUMBER = new Checker((o) -> '0' <= o && o <= '9');
	public static final Object NOT_NUMBER = new Checker((o) -> (!NUMBER.equals(o)));
	public static final Object LETTER = new Checker((o) -> ('a' <= o && o <= 'z') || ('A' <= o && o <= 'Z'));
	public static final Object NON_IDENTIFICATORE = new Checker((o) ->  
		!('a' <= o && o <= 'z') && 
		!('A' <= o &&	o <= 'Z') && 
		!o.equals('_') && !LETTER.equals(o)
	);
	public static final Object NOT_EQ = new Checker((o) -> o != '=');
	public static final Object NOT_COM_PAT = new Checker((o) ->  o != '/' && o != '*');
	public static final Object NOT_DIV = new Checker((o) ->  o != '/');
	public static final Object NOT_MULT_DIV = new Checker((o) -> o != '*' && o != '/');
	public static final Object NOT_NEW_LINE = new Checker((o) -> o != '\n');
	public static final Object NOT_MAX = new Checker((c) -> c != '>');
	public static final Object NOT_MAX_EQ = new Checker((c) -> c != '>' && c != '=');
	public static final Object NOT_MIN = new Checker((c) -> c != '<');
}<commit_msg>Corretto bug pattern<commit_after>package lexer;

public class Pattern {
	
	static public interface ObjBool {
		boolean eq(Character o);
	}
	
	static public class Checker {
		public ObjBool check;
		public Checker(ObjBool check) {
			this.check = check;
		}
		@Override
		public boolean equals(Object o) {
			if(!o.getClass().isInstance(new Character('.')))
				return false;
			else 
				return this.check.eq((char)o);
		}
			
	}
	
	public static final Object SEPARATOR = new Checker((o) -> (
			o.equals(' ') || 
			o.equals('\n')|| 
			o.equals('\t')|| 
			o.equals('\r')
	));
	
	public static final Object NUMBER = new Checker((o) -> '0' <= o && o <= '9');
	public static final Object NOT_NUMBER = new Checker((o) -> (!NUMBER.equals(o)));
	public static final Object LETTER = new Checker((o) -> ('a' <= o && o <= 'z') || ('A' <= o && o <= 'Z'));
	public static final Object NON_IDENTIFICATORE = new Checker((o) ->  
		!('a' <= o && o <= 'z') && 
		!('A' <= o &&	o <= 'Z') && 
		!o.equals('_') && !NUMBER.equals(o)
	);
	public static final Object NOT_EQ = new Checker((o) -> o != '=');
	public static final Object NOT_COM_PAT = new Checker((o) ->  o != '/' && o != '*');
	public static final Object NOT_DIV = new Checker((o) ->  o != '/');
	public static final Object NOT_MULT_DIV = new Checker((o) -> o != '*' && o != '/');
	public static final Object NOT_NEW_LINE = new Checker((o) -> o != '\n');
	public static final Object NOT_MAX = new Checker((c) -> c != '>');
	public static final Object NOT_MAX_EQ = new Checker((c) -> c != '>' && c != '=');
	public static final Object NOT_MIN = new Checker((c) -> c != '<');
}
{'fraction_non_alphanumeric': 0.20265678097003398, 'fraction_numerical': 0.001235712079085573, 'mean_word_length': 3.3115845539280957, 'pattern_counts': {'":': 0, '<': 25, '<?xml version=': 0, '>': 33, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '80084', 'n_tokens_mistral': 1224, 'n_tokens_neox': 1119, 'n_words': 334}