| Re: [imp-dev] Case-insensitiv lexer - lpg |
Hi Robert, Thanks for the super fast reply. I tried this but it doesn't seem to work. The editor still allows me to declare like Ex: int a; int A; it considers those different Anywhere else you think i should point my attention to? Thanks for your help, Ovidiu From: imp-dev-bounces@xxxxxxxxxxx [mailto:imp-dev-bounces@xxxxxxxxxxx] On Behalf Of Robert M. Fuhrer Hi Ovidiu, I'm cc'ing Philippe Charles, the main author of LPG, in case he has something to add. I think you need to use a modified copy of the LexerBasicMapF.gi include file to effect the case-folding you're looking for. Specifically, to fold everything to lower-case, find the letter-related entries in the tokenKind[] array that look like: $sym_type.$prefix$A$suffix$, // 065 0x41 $sym_type.$prefix$B$suffix$, // 066 0x42 $sym_type.$prefix$C$suffix$, // 067 0x43 ... and replace them with their lower-case equivalents: $sym_type.$prefix$a$suffix$, // 097 0x61 $sym_type.$prefix$b$suffix$, // 098 0x62 $sym_type.$prefix$c$suffix$, // 099 0x63 ... I haven't actually tried this myself, but I believe it should work. On Mar 29, 2011, at 9:26 AM, Ovidiu Diac wrote: Hi, I'm currently working on an ide for a Java-like scripting language. The problem i have is that this script is supposed to be case-insensitive. I managed to make the keywords case-insensitive by using the KWLexerFoldedCaseMapF.gi include in KWLexer but i don't know what to do about identifiers. - i'm using the lpg parser Any help is much appreciated. Thanks, Ovidiu Diac _______________________________________________ -- |