pike.git / lib / modules / Search.pmod / Grammar.pmod / DefaultParser.pike

version» Context lines:

pike.git/lib/modules/Search.pmod/Grammar.pmod/DefaultParser.pike:1:   // This file is part of Roxen Search   // Copyright © 2001 Roxen IS. All rights reserved.   // - // $Id: DefaultParser.pike,v 1.11 2004/08/07 15:27:00 js Exp $ + // $Id: DefaultParser.pike,v 1.12 2008/06/24 15:04:49 wellhard Exp $      static inherit .AbstractParser;   static inherit .Lexer;   import ".";      #include "debug.h"      // =========================================================================   // GRAMMAR FOR IMPLICIT AND/OR   // =========================================================================
pike.git/lib/modules/Search.pmod/Grammar.pmod/DefaultParser.pike:332:    for(int i=0; i<sizeof(words); i++)    words[i]=replace(words[i], ({star, questionmark}), ({"*","?"}));    // End of abominable kludge    if (words) {    if (sizeof(words) == 1)    switch (prefix) {    case '+': node->plusWords += words; break;    case '-': node->minusWords += words; break;    default: node->words += words; break;    } -  else if (sizeof(words) > 1) +  else if (sizeof(words) > 1) { +  // No use of globs at this point so remove them +  words = map(words, lambda(string w) { return w - "*" - "?"; } );    switch (prefix) {    case '+': node->plusPhrases += ({ words }); break;    case '-': node->minusPhrases += ({ words }); break;    default: node->phrases += ({ words }); break;    }    }    }    } -  + }      static ParseNode parseDate(array operator)   {    // TRACE;    DateNode n = DateNode();    n->date = "";    n->operator = operator;   loop:    for (;;) {    switch (peek()[0]) {