-
Recent Posts
Recent Comments
Archives
- August 2022
- December 2021
- July 2021
- March 2021
- October 2020
- September 2020
- June 2019
- February 2018
- November 2017
- August 2016
- April 2016
- February 2016
- November 2015
- July 2015
- October 2014
- May 2014
- November 2013
- August 2013
- July 2013
- June 2013
- May 2013
- February 2013
- January 2013
- October 2012
- August 2012
Categories
Meta
OpenPhoenux
Category Archives: Language Design
Cataract Creek – functions and references
I’ve been active on my “Ocean” programming language design project again and have created another point release which I am calling “Cataract Creek”. It contains a number of changes but the most significant are functions and references (aka pointers) so … Continue reading
Posted in Language Design
Leave a comment
LR Parsing with line breaks – 2021 edition
Yes, here it is over a year and a half since the last time I wrote about this, and I’m still working on it. Or maybe working on it again. But I really think I’ve got a much better solution … Continue reading
Posted in Language Design
Leave a comment
LR parsing with line-breaks – yet again
It has been some years since I last wrote about about parsing with indents and line-breaks. Some of that time I’ve been distracted by other things, some of it has involved working on other areas of language design, but some … Continue reading
Posted in Language Design
Leave a comment
Local variables and scope
While I was writing test code for my first toy language I particularly noticed the lack of interesting data structures: to write interesting loops you can do a lot more if you can build data structures while doing it. So … Continue reading
Posted in Language Design
Leave a comment
Structured statements and expressions in Ocean
Now that I have my general parsing worked out and understand how I want to use indents and line breaks to give a two dimensional structure to my language, I need to think about the details of some of the … Continue reading
Posted in Language Design
Leave a comment
A case for multiple completed items in LR parser states.
In my earlier note about LR parsing I observed that many simple grammars will only ever have at most one REDUCE action in any given state. This means that there is no need for an “action table” to list which … Continue reading
Posted in Language Design
Leave a comment
Line breaks – a reprise.
In two previous articles I explored an approach to enhancing an LR parser to work with indents and line breaks. While I discovered some useful ideas and produced some code that seemed to work, I’ve subsequently discovered some serious flaws … Continue reading
Posted in Language Design
Leave a comment
Linebreaks in a two-dimensional language
My previous note introduced the problem of parsing a two-dimensional language and the need to pay attention to indenting and line breaks and use them to guide the parsing of the language, both to enhance error detection, and to resolve … Continue reading
Posted in Language Design
Leave a comment
Parsing a two-dimensional language.
Many programming languages are essentially one dimensional. The parser treats them simply as a linear sequence of tokens. A program could all be written on a single line, or with each token on a separate line and the parser or … Continue reading
Posted in Language Design
Leave a comment
Parsing LR grammars
It is time for another diversion, but it is leading towards the language design – honest. LR grammars are a tool for specifying the grammar for a language, and it is fairly easy to automatically generate a parsing tool from … Continue reading
Posted in Language Design
Leave a comment