[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference turris::languages

Title:Languages
Notice:Speaking In Tongues
Moderator:TLE::TOKLAS::FELDMAN
Created:Sat Jan 25 1986
Last Modified:Wed May 21 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:394
Total number of notes:2683

236.0. "Wanted VMS backend of a compiler" by RICKS::MILLS () Mon Jun 12 1989 16:22

    I'm currently working on and A/D project that may require an assembler
    that generates VMS .OBJ format. All the OPCODEs that it will generate
    will go into a reserved PSECT for a CO-processor engine. The PSECT
    will be sent down to the CO-processor by some RTL routines. I would
    like to get a VAX language backend that is well documented and does not
    need to many bells and whistles (e.g. the back end of VAX-MACRO
    would probably work fine). Does anyone have any pointers?
     
T.RTitleUserPersonal
Name
DateLines
236.1TLE::BRETTMon Jun 12 1989 20:0711
    The only one that is at all well set up for this kind of reuse is the
    VCG, used by C, PLI, Ada, and SCAN.
    
    I forget who the current project leader is, TLE::CRAIG was until a
    couple of weeks ago.
    
    /Bevin
    
    ps: Generating .OBJ files directly is REALLY EASY.  Unless you really
    want a COMPILER (optimiser etc.) it is easier to go straight to the
    .OBJ file
236.2AITG::VANROGGENMon Jun 12 1989 22:104
    Although it isn't exceedingly difficult, generating VMS object
    files really isn't all *that* easy.  Certainly I can think of
    other operating systems where that chore is easier, albeit more
    limited.
236.3TOKLAS::FELDMANPDS, our next successMon Jun 12 1989 23:356
    Of course, there's always the simple, college compiler course approach,
    which would be to generate .MAR files and run them through the VMS
    assembler.  Depending on the application, this might be a perfectly
    acceptable solution.
    
       Gary
236.4It isn't the college compiler problemRICKS::MILLSWed Jun 14 1989 11:086
    I'm using a gross short cut now; it's not really the same college
    compiler problem. I wrote macros in macro-32 for
    the "new" coprocessor instructions that generate .LONGs, .WORDS etc.
    into the reserved PSECT (which gets sent to the coprocessor) and
    it works ok but calling the macros is very akward syntax (i.e.
    no special characters such as [],(),@ etc. can be used).
236.5Do it by hand?JAMMER::JACKMarty JackWed Jun 14 1989 11:365
    I agree with Bevin (.1) -- it isn't that much work to generate a .OBJ
    directly, especially if it can be arranged to have only immediate text,
    which it sounds like it might.  That's as compared to the work involved
    in understanding how to use a relatively complex back end like VCG for
    a relatively simple problem.
236.6.MAR->.OBJ is pretty easyHACKIN::MACKINJim Mackin, Aerospace EngineeringSat Jun 17 1989 12:1610
    Well, as someone who worked on a product (a compiler) where, insofar as
    I know, the only doc we had about the layout of .OBJ files was from the
    VAX/VMS Linker Manual, I don't agree that creating .OBJ files is all
    that easy.  If the doc were a bit more expansive and clear, then it
    wouldn't be too hard.
    
    When I had to create a .OBJ file that could be linked and only had
    about a week to do it, I took the hack approach: generate a .MAR file
    and invoke MACRO-32 to do the actual compile.  It worked, albeit
    slowly, and was written pretty quickly.
236.7TLE::BRETTMon Jun 19 1989 15:2313
    Well, I did it when I was at university in Australia, using only
    the VAX/VMS Linker Manual and the ANALYSE/OBJECT command, and did
    an super-subset of Pascal without any serious problems.
    
    Actually I thought this one one of DEC's better manuals, it had what
    you needed to know, and not lots of verbosity around it...
    
    I think if you had written simple .MAR examples of what you had wanted,
    and then ANALYSE/OBJECT'ed them, you could have gotten it working in
    the week.
    
    /Bevin
       
236.8I remember that learning experience.16BITS::PUDERKarl Puder, VAX APL Project LeaderFri Sep 15 1989 17:5813
    I think what Jim is talking about in .6 (I should know, I was in the
    next office at the time) is that the linker manual tells you exactly
    what the linker does with every .OBJ record type, but there is no
    indication of why you'd want to do any of those things.  I can pick up
    almost any FORGOL language from a manual in that style because I have
    plenty of background in that area.  I can recognize the utility of
    various functions/commands/statements because I've seen them before
    with different names in other languages.  The linker manual assumes you
    know all about compiler innards before you start reading, which we
    didn't.  We didn't expect it to be a tutorial on compiler-writing, but
    a little usage comment for each record type would have helped.
    
    	:Karl.
236.9Who?SHALOT::WELTONat a moment of critical pleasure...Tue Jun 26 1990 17:235
    re: .1
    
    Does anyone know who is the current project leader for VCG?
    
    douglas