Re: [EXTERN] Re: Re: Re: Definition of tokens in GP language

Hong-Phuc Bui <[email protected]> Mon, 27 Oct 2025 16:52:18 +0100
Newsgroups gmane.comp.mathematics.pari.devel
Message-ID <[email protected]>
Hi, I'm there again :)

Thanks for sharing information. It motivates me more to write a lexer for Pygments.
Now I'm reading both files: the file lang.l in gp2c-repository and the function pari_lex() in the file anal.c.
If I understand correctly, I have two choices:

1) The function pari_lex() works fully correctly and can handle all conner cases in GP language,
but it's written by hand.
=> Porting to Python is not as easy as I wish (well writing a lexer was never easy :)).

2) The generated lexer from lang.l can now also handle all conner cases, but is not yet solid-rock as the function pari_lex() for now.
=> Porting in python, for example by using PLY[1] or RegexLexer[2] with State-Management, may be easier, but the Python lexer may not handle all corner cases?

Do I understand correctly? If so I think I take the 2nd choice, because my lexer is just for syntax highlighting. What do you think about?
I'll let you know when I were done with the lexer.

Best Wish!
HP Bui


[1] https://www.dabeaz.com/ply/ply.html#ply_nn21
[2] https://pygments.org/docs/lexerdevelopment/#changing-states


On 25/10/2025 14:25, Bill Allombert wrote:
> On Sat, Oct 25, 2025 at 12:46:41PM +0200, Bill Allombert wrote:
>> On Sat, Oct 25, 2025 at 11:37:29AM +0200, Hong-Phuc Bui wrote:
>>> Before I try to do something impossible: did someone try to rewrite the lexer in lex?
>>
>> Ah ah! Good idea. In fact, I did it already.
>> See gp2c, file src/lang.l
>>
>> https://pari.math.u-bordeaux.fr/cgi-bin/cgitweb.cgi?p=gp2c.git;a=blob_plain;f=src/lang.l;hb=HEAD
>>
>> but it fails in some corner cases, I need to fix it:
>>
>> echo "3!==6"| gp2c
>> stdin:1: syntax error, unexpected '='
>> Errors found: aborting...
> 
> I hopefully fixed it in gp2c GIT tree. The above link should point to the fixed version now.
> 
> Cheers,
> Bill

-- 
Hochschule für Technik und Wirtschaft des Saarlandes
University of Applied Sciences

Fakultät für Ingenieurwissenschaften
School of Engineering

Hong-Phuc Bui, M.Sc.
Informatik

Campus Alt-Saarbrücken
Goebenstraße 40
66117 Saarbrücken

+49 (0) 681 58 67 - 804
[email protected]
www.htwsaar.de