From: "gomfy via 9fans" <9fans@9fans.net>
To: 9fans <9fans@9fans.net>
Subject: [9fans] How to generate a "debuggable" lex.yy.c?
Date: Wed, 10 Nov 2021 14:28:02 -0500 [thread overview]
Message-ID: <16365724820.70ECFff3.198950@composer.9fans.topicbox.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 4022 bytes --]
Hello,
I would like to generate a lexer with debug functionality. I'm relying on a slightly modified versions of the sources:
https://9fans.github.io/plan9port/man/man3/bio.html
https://9fans.github.io/plan9port/man/man1/yacc.html
https://9fans.github.io/plan9port/man/man1/lex.html
As far as I can tell, my issues are not related to the fact that I'm working with a slightly modified version, but I thought I'll mention it just to be on the safe side.
The first issue was that the debug information collected in fdebug was not flushed and as a result the **y.debug** file for the lexer kept showing up empty. I had to add Bterm(fdebug); at the end of the main() in **yacc.c** to get the **y.debug** file to be generated with content.
Now, my issue is that if I'm compiling the generated **lex.yy.c** with -DLEXDEBUG I get:
undefined reference to `allprint(char)'
because of sections like the one below:
# ifdef LEXDEBUG
if(debug){
fprintf(yyout,"char ");
allprint(yych);
putchar('\n');
}
# endif
The allprint() function is defined in the Lex source **sub1.c**. It seems I'd have to link against the Lex source to be able to compile **lex.yy.c** in debug mode, which would be a bit complicated as there are some clashes with my other application. Other complications are caused by the global variables that show up in allprint() and other functions that are listed in the DEBUG section of **sub1.c**.
Can someone point me in the right direction, or tell me what am I missing here?
Thanks!
Gyorgy
------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Tdade85f2048629bd-M4b2d5c130fef22af9777cbbc
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription
[-- Attachment #2: Type: text/html, Size: 10096 bytes --]
next reply other threads:[~2021-11-10 19:28 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-10 19:28 gomfy via 9fans [this message]
2021-11-11 11:25 ` Charles Forsyth
2021-11-11 15:26 ` gomfy via 9fans
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=16365724820.70ECFff3.198950@composer.9fans.topicbox.com \
--to=9fans@9fans.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).