<commit_before>
require('./core');

var parsers = require('./parser');
var compiler = require('./compiler');

function evaluate(text) {
    var parser = parsers.parser(text);
    var code = compiler.compile(parser.parse());
    return eval(code);
}

module.exports = {
    evaluate: evaluate
}<commit_msg>Refactor evaluate<commit_after>
require('./core');

var parsers = require('./parser');
var compiler = require('./compiler');

function evaluate(text) {
    var parser = parsers.parser(text);
    var result = null;
    
    for (var expr = parser.parse(); expr != null; expr = parser.parse()) 
        result = eval(compiler.compile(expr));
        
    return result;
}

module.exports = {
    evaluate: evaluate
}
{'fraction_non_alphanumeric': 0.1599443671766342, 'fraction_numerical': 0.0, 'mean_word_length': 3.5, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, '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': '7168555', 'n_tokens_mistral': 211, 'n_tokens_neox': 204, 'n_words': 53}