/* */
/* */
/* */
-/* (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 */