Recent

Author Topic: Wiki stub: Make your own compiler, interpreter, parser, or expression analyzer  (Read 2663 times)

Thaddy

  • Hero Member
  • *****
  • Posts: 7195
I am on holiday but i can add some things next week.
inline variables like in D10.3 are a bit like Brexit: if you are given the wrong information it sounds like a good idea. Every kid loves candy, but it makes you fat and your teeth will disappear.

avra

  • Hero Member
  • *****
  • Posts: 1377
    • Additional info
I am on holiday but i can add some things next week.
Please do!   :)
ct2laz - Conversion between Lazarus and CodeTyphon
bithelpers - Bit manipulation for standard types
pasettimino - Siemens S7 PLC lib

Edson

  • Hero Member
  • *****
  • Posts: 952
I think the best title for that WIki entry could be "Libraries for compiler, interpreter, parser, or expression analyzer". 
Then you can add information about TFPExpressionParser, and some links about "Make your own compiler".
Lazarus 1.6 - FPC 3.0.0 - x86_64-win64 on  Windows 7

valdir.marcos

  • Hero Member
  • *****
  • Posts: 544
If the Wiki entry is about "Make your own compiler", shouldn't there be some information about the importance of also knowing Assembly Language?
« Last Edit: September 21, 2018, 03:42:47 am by valdir.marcos »

avra

  • Hero Member
  • *****
  • Posts: 1377
    • Additional info
Btw, I have just updated the wiki with 'Let's build a compiler' PDF from your site.  ;)

I didn't do it myself, because my site goes dark october 1st :-)
Preserved on webarchive, and wiki link changed accordingly:
http://web.archive.org/web/20180107011717/http://www.stack.nl:80/~marcov/compiler.pdf

I think the best title for that WIki entry could be "Libraries for compiler, interpreter, parser, or expression analyzer". 
Then you can add information about TFPExpressionParser, and some links about "Make your own compiler".
GOLD, COCO-R and AntLR have their own IDE where for example you can write, test, single step and debug your grammar, find ambiquities, and generate skeleton application code in many programming languages. These are definetly not libraries, so title would not be appropriate. "Tools and libraries for compiler, interpreter, parser, or expression analyzer" came to my mind after that, but it would not justify links in whe wiki which have full tutorials how to make your own compiler. Therefore I am more for original title, which reflect more what is inside the wiki. However this is not carved in stone, and I wouldn't mind if someone changes it. I care more about the content and contributions that would expand it. There are many situations when for a simple forum question you get many wiki links in an answer, and that repeats over and over. I would like to have a single wiki stub for the whole topic, even if it means that current layout should be changed in the future and separate wiki subtopic pages should be made. That way, for question like how to build a compiler, how to build an interpreter, how to build a front end, how to build a back end, what is an AST, what is a BNF grammar, how to parse this and that, how to make an expression analyzer and similar - we just give this single link and user will expand his knowledge from there. I didn't feel like adding links to wikipedia articles about all the terms since that would probably be too much, but other web links (especially when related to FreePascal) should end there.

If the Wiki entry is about "Make your own compiler", shouldn't there be some information about the importance of also knowing Assembly Language?
At least one of the links shows how to write a compiler with assembler generator back end. But that is indirect info. Please add direct info about assembler importance if you feel like it.
ct2laz - Conversion between Lazarus and CodeTyphon
bithelpers - Bit manipulation for standard types
pasettimino - Siemens S7 PLC lib

valdir.marcos

  • Hero Member
  • *****
  • Posts: 544
If the Wiki entry is about "Make your own compiler", shouldn't there be some information about the importance of also knowing Assembly Language?
At least one of the links shows how to write a compiler with assembler generator back end. But that is indirect info. Please add direct info about assembler importance if you feel like it.
I was thinking about something deeper, but I'd better leave it alone.
I only did a minor edit about Coco/R.

avra

  • Hero Member
  • *****
  • Posts: 1377
    • Additional info
I only did a minor edit about Coco/R.
Thank you!
ct2laz - Conversion between Lazarus and CodeTyphon
bithelpers - Bit manipulation for standard types
pasettimino - Siemens S7 PLC lib