[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [imp-dev] Case-insensitiv lexer - lpg
- From: "Ovidiu Diac" <contact@xxxxxxxxxxxxx>
- Date: Tue, 29 Mar 2011 18:59:47 +0300
- Delivered-to: firstname.lastname@example.org
- Thread-index: AcvuJ+0lbZXInSJ6T0iLeVBWkPvT/AAAh0hQ
Yes indeed in the newer lpg that template is not there, not even in the
I'm using exactly the map template you're quoting from.
But maybe by looking in the older one, it might get me on the right track :)
From: imp-dev-bounces@xxxxxxxxxxx [mailto:imp-dev-bounces@xxxxxxxxxxx] On
Behalf Of Robert M. Fuhrer
Sent: Tuesday, March 29, 2011 6:42 PM
To: sanders@xxxxxxxxxxxx; IMP Developers List
Subject: Re: [imp-dev] Case-insensitiv lexer - lpg
I think you may be using a somewhat older set of LPG templates; I was
quoting from the most recent version of LexerBasicMapF.gi in the LPG
On Mar 29, 2011, at 10:38 AM, Beverly Sanders wrote:
> Our language is case insensitive. We use a file called
> LexerFoldedCaseMap.gi with entries like
> tokenKind['A'] = $prefix$a$suffix$;
> tokenKind['B'] = $prefix$b$suffix$;
> tokenKind['C'] = $prefix$c$suffix$;
> This works for us. I think I found LexerFoldedCaseMap.gi in the imp/lpg
> distribution somewhere, but if you want me to send you a copy, just ask.
> (I have no idea what the $sym_type. in Bob's suggestion is.)
> On Tue, March 29, 2011 10:07 am, Robert M. Fuhrer wrote:
>> 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:
>>> 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.
>>> Ovidiu Diac
>>> imp-dev mailing list
>> -- Bob
>> Robert M. Fuhrer
>> Research Staff Member
>> Programming Technologies Dept.
>> IBM T.J. Watson Research Center
>> IMP Team Lead (http://www.eclipse.org/imp)
>> X10: Productivity for High-Performance Parallel Programming
>> imp-dev mailing list
> Beverly A. Sanders, Ph.D.
> Associate Professor
> Department of Computer & Information Science & Engineering
> P.O. Box 116120
> University of Florida
> Gainesville, FL 32611-6120
> tel: (352) 450-9213
> fax: (352) 392-1220
> imp-dev mailing list
imp-dev mailing list