from Hacker News

Railroading the Pascal Language

by sysrpl on 7/17/24, 10:57 AM with 15 comments

  • by leejoramo on 7/17/24, 1:49 PM

    I immediately remember the Apple Pascal poster from the late 1970s:

    https://archive.org/details/pascal-poster-v-3-a-1

  • by moefh on 7/17/24, 1:53 PM

    The use of "mantissa"[1] in this document is not right. What's being called mantissa here should be "exponent".

    There's some ambiguity about what exactly "mantissa" means in the representation of a floating point number, to the point where some people recommend avoiding it[2] (for example, the IEEE standard for floating point uses "significand" instead).

    But whatever mantissa means, it's exactly not (like the page says[1]) what's "used to raise or lower a floating point literal numbers by factors of 10", that's the exponent. The mantissa, if anything, is the other part of the number, that is, what's being multiplied by the factors of 10 (but it's complicated, the wikipedia[2] page explains it).

    [1] https://www.getlazarus.org/learn/language/lexical/#float_lit...

    [2] https://en.wikipedia.org/wiki/Significand (section "Floating-point mantissa")

  • by 01HNNWZ0MV43FF on 7/17/24, 12:38 PM

    Railroad syntax diagrams, not railroad error handling
  • by nu11ptr on 7/17/24, 1:11 PM

    I love railroad syntax diagrams. Not sure why, but I guess it is because they work in my brain. Grammars just seem to be shown in a way that makes it easier for my visual brain to comprehend.
  • by mark_l_watson on 7/17/24, 1:04 PM

    Memory lane. This made me remember Ken Bowles, one of the key figures in development of UCSD Pascal. Ken always seemed to be on a mission. Last time I talked with him, many decades ago, we were at a party and he and his wife were headed off somewhere exotic to go SCUBA diving.

    I used UCSD Pascal on one very large project: my Go playing program Honnibo Warrior.

  • by LeFantome on 7/17/24, 5:31 PM

    I had to read through this more than once to realize that Free Pascal has classes.

    They are buried under “Generic Constaints”.

    https://www.getlazarus.org/learn/language/lexical/#generic_c...

    For me, a BNF would be so much easier. It looks like a fairly easy syntax to parse.

    Maybe I will try to create a toy compiler sometime.

  • by katzenversteher on 7/17/24, 12:52 PM

    I like. Quite a bit easier to read than EBNF and the like
  • by mosburger on 7/17/24, 1:58 PM

    Brings me back to a time early in my career where I had to write Cognos QTP, QUIZ, and QUICK programs (blech!) ... their documentation used this format, I didn't know there was a name for it. It was the only nice thing about working with those languages.
  • by signaru on 7/17/24, 1:53 PM

    It might be fun to look at the last few chapter's of Wirth's "Algorithms + Data Structures = Programs" for a deep dive and similar looking diagrams.