I'll restate this again. Dump the Deplhi port, and concentrate on the Delphi C binding - it should be trivial and probably perform better.
-----Original Message----- From: Mario Alejandro M. [mailto:[EMAIL PROTECTED] Sent: Saturday, April 16, 2005 5:09 PM To: [email protected] Subject: Troubling with StandarTokenizer/QueryParser code generate in JavaCC I'm porting Lucene to Delphi. And is going great, I only need to pass 10 test case to get the indexing code... however I'm stuck with StandarTokenizer and QueryParser, all the JavaCC generated code. Port it prove dificult, the code is machine generate, and I don't get it. I can spend hours porting it voodo style! but that is not a productive way. Also if this code is changed later then I need to recode it. So, how I can work on this? - Is possible output from JavaCC Delphi/Pascal code? I think if this is possible, maybe is the best way. However I need a ready-to-go solution, I don't have experiencia in Java. - Generate the parser in other tool. I think in CoCor for Delphi ( http://www.tetzel.com/CocoR/). If must other, please tell me The truth is, i don't know anything about generate parsers/compilers, I can do some basic stuff with regular expressions but this is something never before I need to do. However playing a bit i *think* I can go this way. But, this mean that this code is work in isolation. In the other hand, I can control it more and the main thing, I need something I can understand. If this is a good way, how proced? Today, i get this: COMPILER LuceneQuery DELPHI PRIVATE PUBLIC CREATE END_DELPHI IGNORE CASE CHARACTERS digit = '1234567890' . special = '"' + "%&'()*+,-./:;<=>?|" . letter = CHR(33)..CHR(255) - special - digit. TOKENS term DESCRIPTION "term" = letter { letter | digit } . fieldterm = letter ":" letter . phrase = '"' letter { letter | digit } '"' . integer = digit { digit } . IGNORE CHR(1)..CHR(31) PRODUCTIONS LuceneQuery = (Query) . Query = (QueryTermList). QueryTerm = (term | phrase | fieldterm). GroupedQueryTerm = OpenParens QueryTermList { QueryTermList } CloseParens . ValidQueryTerm = QueryTerm | GroupedQueryTerm . QueryTermList = ValidQueryTerm { QueryUnion ValidQueryTerm } . QueryUnion = ("AND" | "OR" ) . OpenParens = "(" . CloseParens = WEAK ")" . END LuceneQuery . But this is based in my understanding of the query parser and not in the actual grammar of JavaCC. Also, I don't understand at all the rules of StandarAnalyzer... - Get pain :( Do voodo with the code and hope it works... Thanks for your suggestions.. -- Mario Alejandro Montoya MCP www.solucionesvulcano.com <http://www.solucionesvulcano.com> !Obtenga su sitio Web din�mico! MUTIS The open source indexing engine for Delphi! http://mutis.sourceforge.net/ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
