Hi all,
This email is both a reminder of the meeting's who, what, where
and when, and a progress report on my presentation and David's.
First the meeting details:
======================================================================
What: Online presentation, Computer language and compiler construction
Who: GoLUG's Steve Litt and David Billsbrough
When: Wednesday 12/6/2023 at 7PM Eastern Standard Time
NOTE: We will start PROMPTLY at 7:00PM EXACTLY!
Where: Jitsi online presentation,
https://meet.jit.si/golug [1]
======================================================================
David and I have both made astonishing progress. David's ready to give
you the nuts and bolts understandings about the compiler creation
process, including Parse Trees and other stuff way above my pay grade.
As for my presentation on Backus-Naur Format (BNF) and Flex/Bison
compilers and converters, over a week ago I realized that online docs
for Flex and Bison were usually contradictory, incomplete and/or
ambiguous. They were all written by very smart people who forgot what
it was like to know nothing, not even the key understandings necessary
for newbies.
The "Flex & Bison" book I ordered has not arrived, but judging from the
first four chapters, which are are available online, this book is too
ambiguous for a newbie and it doesn't give enough emphasis to the fact
that, for a real compiler, converter or Domain Specific Language (DSL),
Flex and Bison are a package deal, and that Bison-only and Lex-only
examples are so contrived and misleading as to be learning
disadvantages.
ChatGPT is somewhat helpful, but can take you down dead end rabbit
holes because it frames its guesses as facts, and even responds to the
same question differently depending on which websites it scrapes first.
I found ChatGPT to be a great resource for hearing relevant
terminology, which I can then look up with web searches or queries on
mailing lists. Speaking of mailing lists, they're great, but only when
you know what question you want to ask and how to frame the question,
and until you have several key understandings and know a little
vocabulary, you just can't gain the benefits of mailing lists.
At the meeting I'll showcase a Lex/Bison "Hello World" (proof of
concept) that actually serves as a first step to learning how to build
compilers, converters and DSLs. This Hello World can be used to
incrementally learn and build more complex compilers, converters and
DSLs. Also, while you see and listen to my presentation, you'll acquire
the key understandings necessary to learn in a straightforward manner,
without gratuitous dead ends and inability to frame a question. While
you see and listen to my presentation, you'll also understand using BNF
to define a grammar. A grammar is a set of rules determining valid
syntax. This is a good thing because when David gives his presentation,
you'll need these key understandings to benefit from his nuts and bolts
description of compiler construction.
If you've wondered how people build new computer languages, compilers,
interpreters, markup languages with converters, or even Domain Specific
Languages (DSLs), this introductory presentation will de-mystify the
topic.
I think David's and my presentations will be valued and remembered
fondly by anyone who has ever been curious about how computer languages
and compilers are made. I hope to see you there.
====
[1]
Online via Jitsi:
https://meet.jit.si/golug
Mobile app:
https://jitsi.org/downloads/
Desktop app:
https://github.com/jitsi/jitsi-meet-electron/releases
--
Steve Litt
GoLUG Publicity Coordinator
Originally founded in Orlando, Florida, United States, GoLUG now
welcomes an international audience for online presentations and
discussions on Linux and adjacent technologies.
http://golug.org