-
Notifications
You must be signed in to change notification settings - Fork 84
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SAIL compiler #843
Comments
Also needed for pre-Pascal TEX. #867 |
I'm trying to recreate the SAIL compiler. I'm starting from the SAIL debugger BAIL.
but the file BAISM1 has some warnings:
those UNDEF are related (according the latest manual @larsbrinkhoff put in the repo) to some UUO.
the two files (BAISM1 and BSM1HD) are here: https://gist.github.com/TheFausap/c6f2cb8d2215d3e5f3e28d182d345d9c Eventually I got a REL file anyway, and according the mic file,
I should exec BAISM1(this is a sort of loader of the other REL files). But how can I run a REL file generated by FAIL ? Using DECUUO ? |
I don't think you can run a REL file in DECUUO. Can TOPS-10 or WAITS do this? A REL file would normally need to be linked to be run. DECUUO can run TOPS-10 and WAITS programs. Like those with an extension of EXE, SHR, LOW, DMP. |
Ok. The exec command in TOPS-10, compile (if needed) then loads the REL file into the core, and run it. |
Ah yes, that sounds like a TOPS-10 thing to do. FAIL in ITS is hacked to write the MIDAS/STINK REL format. So you should be able to use STINK to make an executable file from one or more REL files. It uses a peculiar command syntax. See .INFO.; STINK DOC for information. There are also a few sample LOADER files in the repository. |
BAIL.DOC says that when you compile a program with the /B switch, BAIL.REL "is loaded automatically when the program is loaded". There's an example of starting and using it in there. MAPS shows MC: DECSYS; BAIL REL, so try putting it there, then compiling a SAIL program with /B? |
I keep seeing a lot of interest in WAITS programs, in the form of forcing^Wporting them into ITS. |
@larsbrinkhoff I tried to copy the idea of fail.loader, but I'm not sure what is the output: a TS file ?
$ is ESC. |
Ok, maybe I understood my error: if I don't use a command file, I need to give all the commands in one line separated by ESC and ending with a double ESC. But now ? I could use a PDUMP to create a TS file or what ? |
@rmaldersoniii This could be nice. Thanks! |
Yes, you do have to get your ESCs right. I think you don't need everything on one line; try ending all commands with double ESC. (Also known as ALTMODE.) Yes, the STINK output is a regular "TS" ITS executable, in SBLK format. I got a WAITS account the other day, and it's very interesting to snoop around! There's a long-standing tradition of porting between ITS and WAITS. Let's keep it going. |
I'm looking the build procedure of DRAW. I do not understand all the steps: SUDS drawing program The file d.loader contains (side-question: how can I type an ESC char in :
[...] respond "??" "\033\0331L decsys; decbot bin\r" Now I'm lost: Are the two ESC completing the commands in the d.loader file ? respond "*" ".jbsa/strt\r" Another question: the commands in STINK should be terminated by double ESC... but I cannot see them. respond "\n" ":pdump datdrw; d bin\r" The next step is the pdump, and this is ok.
I have an Non-existent memory error. I tried with/without W |
I'll try to adress all your questions.
Correct, You can type an ESC character in EMACS like this: Control-Q ESC The command in D LOADER isn't The build script uses
I think double ESC isn't needed when STINK reads from a file. The NXM may be because you use the 1 STINK command instead of L. |
Thanks Lars. the NXM error is generated by loading BAISM1, and I checked with STINK that relocation factor is 100, so may this address is wrong. |
Sorry, I can't answer that. I don't know. But the NXM is a serious error not matter what STINK does, and that should be looked into. |
Since we have made progress on PUB (#841), it's would be nice to get the SAIL compiler going. I see files TS SAILV and TS SAILC. From recent snooping in the PUB directory, I see SAILV may be the "file salvager". Strings in TS SAILV match those in PUB; LISTER 1 and PUB; PSAILV 2. The message "NULLS DELETED" makes me think it's a program to make an ordinary text file from a file saved by the E editor in use at SAIL. TS SAILC would then be the compiler, by my guess. CC @bgbaumgart |
I tried the binary in SAIL; TS SAILC, but it doesn't seem to work quite right. Here's an attempt to compile the PUB; ABC 10 file.
|
The line that SAILC complains about is this one:
I compared with the Saildart file GLOBE.SAI[PUB,SYS]3 and found this:
|
Now this:
|
Hello @kahrs, Here are some notes from me attempting to run the SAIL compiler found on ITS, to compile PUB: I had a false recollection I was trying to compile the SAIL compiler itself, but that was not the case. |
Compiler for SAIL, the Algol dialect.
Needed to build PUB, #841.
The text was updated successfully, but these errors were encountered: