]> git.sur5r.net Git - cc65/blobdiff - src/ca65/symbol.h
Added 'sim6502' and 'sim65C02' targets.
[cc65] / src / ca65 / symbol.h
index 218806b05af86605dc438d3bdb367f5f0edc30a7..30964f0c0d5a4f85fef67ba64cd0ffa7041afa8e 100644 (file)
@@ -6,10 +6,10 @@
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
-/* (C) 1998-2003 Ullrich von Bassewitz                                       */
-/*               Römerstrasse 52                                             */
-/*               D-70794 Filderstadt                                         */
-/* EMail:        uz@cc65.org                                                 */
+/* (C) 1998-2012, Ullrich von Bassewitz                                      */
+/*                Roemerstrasse 52                                           */
+/*                D-70794 Filderstadt                                        */
+/* EMail:         uz@cc65.org                                                */
 /*                                                                           */
 /*                                                                           */
 /* This software is provided 'as-is', without any expressed or implied       */
 
 
 
+/* cc65 */
+#include "symtab.h"
+
+
+
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                 Forwards                                  */
 /*****************************************************************************/
 
 
 
+struct StrBuf;
+
+
+
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
 
-struct SymEntry* ParseScopedSymName (int AllowNew);
+struct SymTable* ParseScopedIdent (struct StrBuf* Name, struct StrBuf* FullName);
+/* Parse a (possibly scoped) identifer. The scope of the name must exist and
+ * is returned as function result, while the last part (the identifier) which
+ * may be either a symbol or a scope depending on the context is returned in
+ * Name. FullName is a string buffer that is used to store the full name of
+ * the identifier including the scope. It is used internally and may be used
+ * by the caller for error messages or similar.
+ */
+
+struct SymEntry* ParseScopedSymName (SymFindAction Action);
 /* Parse a (possibly scoped) symbol name, search for it in the symbol table
  * and return the symbol table entry.
  */
 
+struct SymTable* ParseScopedSymTable (void);
+/* Parse a (possibly scoped) symbol table (scope) name, search for it in the
+ * symbol space and return the symbol table struct.
+ */
+
+struct SymEntry* ParseAnySymName (SymFindAction Action);
+/* Parse a cheap local symbol or a a (possibly scoped) symbol name, search
+ * for it in the symbol table and return the symbol table entry.
+ */
+
 
 
 /* End of symbol.h */