source: to-imperative/trunk/compiler/src/org/refal/plus/compiler/rfp_helper.rfi @ 3589

Last change on this file since 3589 was 3589, checked in by yura, 13 years ago
  • Compiler files are moved into package org.refal.plus.compiler.
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.3 KB
Line 
1// $Id: rfp_helper.rfi 3589 2008-03-28 14:33:14Z yura $
2
3/*
4 * Tables for storing different items.
5 * For each table the key is item's qualified name.
6 * Value is s.Linkage s.ItemType t.Pragma e.Item-Specific-Information.
7 * In tables Fun and Fun? s.ItemType is &Fun and &Fun? correspondingly, and
8 * e.Item-Specific-Information is empty.
9 */
10$table Fun;
11$table IsFun;
12$table Const;
13$table Object;
14
15
16$func? Lookup_Func t.Fname = s.linkage s.tag (e.Fin) (e.Fout);
17
18
19$table RFP_Options ;
20$table RFP_Module_Subst;
21
22$func? IsRFP_Debug = ;
23
24$func RFP_Double_Copy s.tab = s.new_tab;
25
26$func RFP_Double_Unbind s.tab e.keys = ;
27
28$func RFP_Extract_Qualifiers t.Name = (e.qualifiers) e.name;
29
30// substitute replacements for each occurence of corresponding patterns in expr
31$func Subst (e.patterns) (e.replaces) expr = expr;
32
33// search for e.pattern in expr (in all depths).
34$func? IsIn (e.pattern) expr = ;
35
36// Make refal name ('a.b.c' -> "a" "b" "c")
37$func Make_Name e.origname = e.name ;
38
39// Print refal name ("a" "b" "c" -> 'a.b.c')
40$func Print_Name e.name = e.chars ;
41
42// Print refal function format ("$func F s = e;")
43$func? PrintFunctionFormat t.name = s.format ;
44
45// Print constant definition ("$const F = 'abc';")
46$func? PrintConstDefinition t.name = s.def ;
47
48// Print object definition ("$box F;")
49$func? PrintObjectDefinition t.name = s.def ;
50
51$func Del_Pragmas e.Sentence = e.Sentence;
Note: See TracBrowser for help on using the repository browser.