Changeset 1431


Ignore:
Timestamp:
Jun 8, 2004, 9:08:31 AM (16 years ago)
Author:
orlov
Message:
  • Generation of headers for case insensitive programs.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • to-imperative/trunk/compiler/rfpc.rf

    r1424 r1431  
    123123        e.in-basename;
    124124      } :: e.basename,
     125      {
     126        e.basename : $r e.dirname &RFP-Dir-Separator e.filename =
     127          (e.dirname) e.filename;
     128        () e.basename;
     129      } :: (e.dirname) e.filename,
    125130      {
    126131        <Channel? e.basename> = e.in-basename;
     
    234239              <PrintLN! s.channel '\n#endif // __' e.headname '_hh__'>,
    235240              { s.need-close? : 1 = <Close-Channel s.channel>;; },
     241              {
     242                <In-Table? &RFP-Options CASE-INSENSITIVE>,
     243                  # <Channel? e.basename>,
     244                  <To-Lower e.filename> :: e.lowname,
     245                  # \{ e.filename : e.lowname; } =
     246                  e.basename : e.dir e.filename,
     247                  e.dir e.lowname :: e.lowbase,
     248                  <Open-Channel e.lowbase ('.hh')> :: s.channel s.need-close?,
     249                  <Subst (&RFP-Dir-Separator) (('_')) e.lowbase> :: e.headname,
     250                  <Rfp2Cpp <To-Word e.headname>> :: e.headname,
     251                  <PrintLN! s.channel '#ifndef __' e.headname '_hh__'>,
     252                  <PrintLN! s.channel '#define __' e.headname '_hh__'>,
     253                  <PrintLN! s.channel '\n#include <' e.basename '.hh>'>,
     254                  <PrintLN! s.channel '\nnamespace refal\n{'>,
     255                  <PrintLN! s.channel '\nnamespace ' e.lowname
     256                            ' = ' e.filename ';'>,
     257                  <PrintLN! s.channel '\n}'>,
     258                  <PrintLN! s.channel '\n#endif // __' e.headname '_hh__'>,
     259                  { s.need-close? : 1 = <Close-Channel s.channel>;; };;
     260              },
    236261              $fail;
    237262            <In-Table? &RFP-Options CC>,
Note: See TracChangeset for help on using the changeset viewer.