]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/m2/gm2-compiler/P0SymBuild.def
Update copyright years.
[thirdparty/gcc.git] / gcc / m2 / gm2-compiler / P0SymBuild.def
1 (* P0SymBuild.def pass 0 symbol creation.
2
3 Copyright (C) 2011-2024 Free Software Foundation, Inc.
4 Contributed by Gaius Mulley <gaius.mulley@southwales.ac.uk>.
5
6 This file is part of GNU Modula-2.
7
8 GNU Modula-2 is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 3, or (at your option)
11 any later version.
12
13 GNU Modula-2 is distributed in the hope that it will be useful, but
14 WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 General Public License for more details.
17
18 You should have received a copy of the GNU General Public License
19 along with GNU Modula-2; see the file COPYING3. If not see
20 <http://www.gnu.org/licenses/>. *)
21
22 DEFINITION MODULE P0SymBuild ;
23
24 (*
25 Title : P0SymBuild
26 Author : Gaius Mulley
27 System : GNU Modula-2
28 Date : Sat Sep 6 11:48:06 2014
29 Revision : $Version$
30 Description: provides an interface to the construction of symbols during pass 0.
31 *)
32
33 FROM NameKey IMPORT Name ;
34
35
36 (*
37 EndModule - shutdown the module and create definition symbols for all imported
38 modules.
39 *)
40
41 PROCEDURE EndModule ;
42
43
44 (*
45 RegisterImports - remember all imported modules.
46 *)
47
48 PROCEDURE RegisterImports ;
49
50
51 (*
52 RegisterProgramModule - register the top of stack as a program module.
53 It starts a new module scope.
54 *)
55
56 PROCEDURE RegisterProgramModule ;
57
58
59 (*
60 RegisterImplementationModule - register the top of stack as an implementation module.
61 It starts a new module scope.
62 *)
63
64 PROCEDURE RegisterImplementationModule ;
65
66
67 (*
68 RegisterDefinitionModule - register the top of stack as a definition module.
69 It starts a new module scope.
70 *)
71
72 PROCEDURE RegisterDefinitionModule (forC: BOOLEAN) ;
73
74
75 (*
76 RegisterInnerModule - register the top of stack as an inner module, this module name
77 will be removed from the list of outstanding imports in the
78 current module block.
79 It starts a new module scope.
80 *)
81
82 PROCEDURE RegisterInnerModule ;
83
84
85 (*
86 RegisterInnerImports -
87 *)
88
89 PROCEDURE RegisterInnerImports ;
90
91
92 (*
93 RegisterProcedure - register the top of stack as a procedure.
94 *)
95
96 PROCEDURE RegisterProcedure ;
97
98
99 (*
100 EndBuildProcedure - ends building a Procedure.
101 *)
102
103 PROCEDURE EndProcedure ;
104
105
106 (*
107 P0Init -
108 *)
109
110 PROCEDURE P0Init ;
111
112
113 (*
114 P1Init -
115 *)
116
117 PROCEDURE P1Init ;
118
119
120 (*
121 EnterBlock -
122 *)
123
124 PROCEDURE EnterBlock (n: Name) ;
125
126
127 (*
128 LeaveBlock -
129 *)
130
131 PROCEDURE LeaveBlock ;
132
133
134 END P0SymBuild.