"Text Off!"

chaoticset on 2003-07-30T19:41:38

Yeah, I'm something like crazy. That compiler tutorial? Oh, I looked at it.

  • Me: Y'know, this is pretty interesting.
  • Self: Well, if you slap it into place at the perlmonk space, you could access it anywhere for perusing.
  • Me: Yeah...but it'd be ugly as hell...maybe if I write something to clean up the style and breaking...
  • Self: ...yeah...that shouldn't be hard. Just not within your reach.
Anyway, I'm trying. This thing was formatted back in the days of justifying text, so there's plenty of bizarre spacing between single words. None of that fazes a browser, of course, so I'm not farting around with that stuff. No, pretty much just trying to figure out the patterns of what linebreaks I want turned into <BR> and which I don't, and turning that into regex.

Ideally, I'd like this thing to format headers, and I'm going to write something that locates the 'name' of the chapter and title the page that as well. Once that and the stylesheet are done, it'll look like it was written for the web in the first place. :)

By me.

Ah well, it can't look worse than it already does.


That compiler tutorial...?

bart on 2003-07-30T23:36:30

Are you talking about the Crenshaw tutorial that some user here wrote about in his journal? Well: "me too". I'm also converting it into something prettier, and the easiest to get quick and decent results, is HTML. Actually I already got quite far in a small amount of code, starting by simply treating sequences of empty lines as an indication to start a new paragraph.

My main remaining problem now is to reliably recognize the code sections. They start and end with lines of Pascal comments containing nothing but dashes, but it's not just that easy.

Re:That compiler tutorial...?

chaoticset on 2003-08-01T13:19:04

Indeed, I am.

I've been thinking about that. My first (hackish) solution was to add a <P> to any line that ended in a } or a ;, and then add a <BLOCKQUOTE> wrapper around every begin/end pair.

The results are easy to read but not monospaced. I realize it's a crappy solution, but it works. (Realistically, I should be writing a really thin parser, and maybe I will someday, but this is a one-shot job, etc.)

The results look like this:

***

{--------------------------------------------------------------}

{ Output a String with Tab and CRLF }

procedure EmitLn(s: string);

begin

Emit(s); WriteLn;
end;

***

It's really just a quick hack to make it more readable. If I get the motivation to do it respectably I'll actually figure out where the code begins and ends.

Style

jdavidb on 2003-07-31T17:19:10

I like your little conversations between self and me; it's effective for communicating in this medium. However, to an OO purist, shouldn't that be "self," and "this"? :)

Re:Style

chaoticset on 2003-08-01T13:12:56

Good thing, then, that I'm not an OO purist. :D

Couldn't resist

jdavidb on 2003-07-31T17:20:54

"Screen on!"

"Text off!"

"How are you, gentlemen?"

"Take off every text!"

Please, somebody stop me, before I get hurt. I've never made an all your base are belong to us joke before...