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

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