Hi all,
GoLUG meeting with compiler construction presentation this coming
Wednesday:
======================================================================
What: Online presentation, Making compilers with recursive-descent parse
Who: Hendrik Boom
When: Wednesday 1/3/2024 at 7PM Eastern Standard Time
Where: Jitsi online presentation, https://meet.jit.si/golug [1]
======================================================================
At last month's GoLUG meeting we discussed Flex/Bison compiler
construction. Trouble is, debugging Flex/Bison can be difficult. So
at GoLUG's January 3, 2024 online meeting, Hendrik Boom shows us how to
make a recursive-descent parser to create a compiler or converter for a
given language.
Hendrik has made several recursive-descent parser solutions, and says
it's quite easy to hand-code a recursive-descent parser. Wednesday night
he'll show us how to do it for ourselves.
I'm really looking forward to this, and hope to see you there.
SteveT
====
[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
My existing HP printer (8610) died after 8 years - does not recognize
the Magenta ink.
I'm looking at the HP OfficeJet Pro 8023
2 questions:
1 - Has anyone had good (or bad) experience with this on Linux? I know
that HP supports this printer on Linux, but I'm looking for first hand
experience.
2 - Any comments about the availability of compatible ink? I found ink
on several sites, but from experience, know that HP printers are
sometimes fussy about non-original ink.
--
Shlomo Solomon
http://the-solomons.net
Claws Mail 3.17.5 - KDE Plasma 5.18.5 - Kubuntu 20.04
In the view of Lifnei iver,
Recently RMS had shared an alleged PFLP affiliated organization calls to prevent arms deals to Israel, PFLP participated in the Simhat torah massacre. https://www.stallman.org/archives/2023-sep-dec.html#9_December_2023_(Legal_…
The organisation had excused the perpetrators of the Simhat Torah massacre. https://www.alhaq.org/advocacy/21800.html .
For my understanding RMS is actively assisting to the other side during the war against Israel.
People should do with that information what they like.
> On Wed, May 18, 2022, 15:31 <borissh1983(a)gmail.com> wrote:
>
> > Hi Julian.
> >
> > On Wednesday, 18 May 2022 17:43:47 IDT Julian Daich wrote:
> > > Hi,
> > >RMS is coming to Tel Aviv. I am receving him. He is looking for a place to
> > >give a prentation in a mayor university on Msy 31 st or June 1st. Is
> > there
> > >here somebody from TAU or HUJI that can help to organize it? He will no
> > >chsrge for his talk.
> >
> > Given RMS's actions in recent years, I would have checked with someone
> > who is familiar with the local law, if having direct connection, or
> > assisting RMS is not a liability or against the law.
> >
> > IANAL.
> >
> >
> >
> > _______________________________________________
> > Linux-il mailing list
> > Linux-il(a)cs.huji.ac.il
> > http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il
> >
>
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
Hi all,
GoLUG meeting with compiler construction presentation this coming
Wednesday:
======================================================================
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
Where: Jitsi online presentation, https://meet.jit.si/golug [1]
======================================================================
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 (Steve Litt), will start off by showcasing the basics of Backus-Naur
Format (BNF), a notation format that aids greatly in compiler and
sophisticated markup converter program. Next, I'll briefly go over the
scanner>parser compiler/converter methodology, Using Flex (Fast Lexx)
for the scanner and Bison (yacc superset) for the parser. The
scanner reads the source code or markup, converting it to tokens and
strings for the parser. The parser reads the source and outputs the
converts the tokens and strings into a program (if compiler) or a
different kind of markup (if a converter).
NOTE: The preceding is a slight oversimplification because Flex and
Bison actually create C code that compiles into the scanner and parser,
but from a conceptual standpoint my preceding description is good
enough.
I'll then show you a trivial Flex/Bison converter that takes a text
file whose paragraphs are separated by one or more blank lines, and
turns the file into HTML. This would have been much easier to do with a
20 line Python program, but it's a very simple way to demonstrate the
Bison/Flex scanner/parser method, and when things get complicated,
trying to do the compiler or converter with Python becomes a real mess.
I know, I've tried three times to write a Python converter program
as a straightforward Python program, while attempting to make my Stylz
authoring language. I tried it 3 times, and could never even complete a
subset of Stylz conversion..
My part of the presentation takes about an hour and I'll start right at
7PM.
Next comes David Billsbrough, who is working to create a compiler for a
Pascal subset. He'll also discuss not only Flex>Bison, but doing
it straight from Python or C or whatever, thus showcasing the
real theory behind compilation. David's presentation shows some heavy
theory and non-trivial constructions. I'm sure you'll have plenty of
questions for David.
If you ever wondered how people make computer languages and then
compilers, interpreters or converters for that language, this
presentation will shed plenty of light on the subject. And if you're
already a compiler making ninja, I think you'll enjoy David's part of
the presentation. A good time will be had by all.
====
[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