decoration decoration
Stories

GROKLAW
When you want to know more...
decoration
For layout only
Home
Archives
Site Map
Search
About Groklaw
Awards
Legal Research
Timelines
ApplevSamsung
ApplevSamsung p.2
ArchiveExplorer
Autozone
Bilski
Cases
Cast: Lawyers
Comes v. MS
Contracts/Documents
Courts
DRM
Gordon v MS
GPL
Grokdoc
HTML How To
IPI v RH
IV v. Google
Legal Docs
Lodsys
MS Litigations
MSvB&N
News Picks
Novell v. MS
Novell-MS Deal
ODF/OOXML
OOXML Appeals
OraclevGoogle
Patents
ProjectMonterey
Psystar
Quote Database
Red Hat v SCO
Salus Book
SCEA v Hotz
SCO Appeals
SCO Bankruptcy
SCO Financials
SCO Overview
SCO v IBM
SCO v Novell
SCO:Soup2Nuts
SCOsource
Sean Daly
Software Patents
Switch to Linux
Transcripts
Unix Books

Gear

Groklaw Gear

Click here to send an email to the editor of this weblog.


You won't find me on Facebook


Donate

Donate Paypal


No Legal Advice

The information on Groklaw is not intended to constitute legal advice. While Mark is a lawyer and he has asked other lawyers and law students to contribute articles, all of these articles are offered to help educate, not to provide specific legal advice. They are not your lawyers.

Here's Groklaw's comments policy.


What's New

STORIES
No new stories

COMMENTS last 48 hrs
No new comments


Sponsors

Hosting:
hosted by ibiblio

On servers donated to ibiblio by AMD.

Webmaster
Actually, if you look at it right, it was two pass | 503 comments | Create New Account
Comments belong to whoever posts them. Please notify us of inappropriate comments.
Actually, if you look at it right, it was two pass
Authored by: jesse on Sunday, April 22 2012 @ 07:13 AM EDT
But only one token scan pass.

The subsequent pass(es) went over the internal representation of the program to
fill in the missing pieces.

This is also the technique for many LR(1) languages. The common non LR(1)
language is FORTRAN, which had multiple passes for each line - first as an
assignment, if errors occurred a rescan for key words. Algol 68 was an LR(3?)
grammar (I think it was 3) which made it difficult to implement as most compiler
generators were for LR(1).

I saw this in the algol60 compiler for the PDP-10. The compiler was "one
pass", but the object code generated had backpatch segments that caused the
linker to go back and regenerate the code for the second pass to patch up the
missing symbols. I say "regenerate the code" because the PDP-10 had
different instructions for subroutine calls depending on what kind of subroutine
it was. Simple stack calls were pushj, nested function calls could be jsp (non
stack based) or pushj if recursive.

Slowed the linker down a lot.

[ Reply to This | Parent | # ]

Groklaw © Copyright 2003-2013 Pamela Jones.
All trademarks and copyrights on this page are owned by their respective owners.
Comments are owned by the individual posters.

PJ's articles are licensed under a Creative Commons License. ( Details )