source: to-imperative/trunk/compiler/rfp_src.rfi @ 683

Last change on this file since 683 was 683, checked in by orlov, 18 years ago
  • Main compiler loop has been rewritten in a much more clear way with a lot of

comments.

  • Variable uses analysis is temporarily removed to reappear in the as2as

transformations phase.

  • Constant expressions are compiled into static objects rather then variables

as was before.

  • Difference between R+ and R6 notions for = is supported on the level of AS.

R6 = should be parsed in NOFAIL. For supplying R+ = abstract syntax terms
BLOCK, BLOCK?, and CUTALL are provided.

  • Yet, compilation of cyclic clashes DOESN'T WORK. So nothing interesting can be compiled by this version. Use previous one for that purposes.
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.3 KB
Line 
1//
2// Copyright (C) 1999, 2000 Refal+ Development Group
3//
4// Refal+ is free software; you can redistribute it and/or modify
5// it under the terms of the GNU General Public License as published by
6// the Free Software Foundation; either version 2 of the License, or
7// (at your option) any later version.
8//
9// Refal+ is distributed in the hope that it will be useful,
10// but WITHOUT ANY WARRANTY; without even the implied warranty of
11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12// GNU General Public License for more details.
13//
14// You should have received a copy of the GNU General Public License
15// along with Refal+; if not, write to the Free Software
16// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17//
18// $Source$
19// $Revision: 683 $
20// $Date: 2003-04-27 14:32:36 +0000 (Sun, 27 Apr 2003) $
21// Author: Andrey Slepuhin <pooh@msu.ru>
22
23$func? RFP-Src-Open-File e.filename = e.source ;
24$func? RFP-Src-Open-StdIN = e.source ;
25$func RFP-Src-Close e.source = ;
26$func? RFP-Src-Get-Line e.source = e.line ;
27
28$func? RFP-Get-Line-From-File e.source = e.line ;
29$func? RFP-Get-Line-From-StdIN e.source = e.line ;
30
31$func RFP-Next-Row e.pos = e.newpos ;
32$func RFP-Next-Column e.pos = e.newpos ;
33
34$func RFP-Source-File-Name s.idx = e.name ;
35$func RFP-Dir-Name e.path = e.dir ;
36$func RFP-File-Name e.path = e.file ;
37$func RFP-Module-Name e.path = e.module ;
38
39$table RFP-Sources ;
Note: See TracBrowser for help on using the repository browser.