diff --git a/src/shared/cplusplus/Control.cpp b/src/shared/cplusplus/Control.cpp
index 79b53d00e0efe69ee8dcb7ddcd4bf8077fec464d..509e79b0a625b1fa27f4a1a4f313244c04c1cd6f 100644
--- a/src/shared/cplusplus/Control.cpp
+++ b/src/shared/cplusplus/Control.cpp
@@ -522,6 +522,24 @@ Control::IdentifierIterator Control::firstIdentifier() const
 Control::IdentifierIterator Control::lastIdentifier() const
 { return d->identifiers.end(); }
 
+Control::StringLiteralIterator Control::firstStringLiteral() const
+{ return d->stringLiterals.begin(); }
+
+Control::StringLiteralIterator Control::lastStringLiteral() const
+{ return d->stringLiterals.end(); }
+
+Control::NumericLiteralIterator Control::firstNumericLiteral() const
+{ return d->numericLiterals.begin(); }
+
+Control::NumericLiteralIterator Control::lastNumericLiteral() const
+{ return d->numericLiterals.end(); }
+
+Control::FileNameIterator Control::firstFileName() const
+{ return d->fileNames.begin(); }
+
+Control::FileNameIterator Control::lastFileName() const
+{ return d->fileNames.end(); }
+
 StringLiteral *Control::findOrInsertStringLiteral(const char *chars, unsigned size)
 { return d->stringLiterals.findOrInsertLiteral(chars, size); }
 
diff --git a/src/shared/cplusplus/Control.h b/src/shared/cplusplus/Control.h
index b00b7b080b829481abcf3ec69ad504404f921c23..b98da650cc584970aafabea166346da63b0dfe6f 100644
--- a/src/shared/cplusplus/Control.h
+++ b/src/shared/cplusplus/Control.h
@@ -150,11 +150,30 @@ public:
     Identifier *findOrInsertIdentifier(const char *chars, unsigned size);
     Identifier *findOrInsertIdentifier(const char *chars);
 
+    /*
+    LiteralTable<Identifier> identifiers;
+    LiteralTable<StringLiteral> stringLiterals;
+    LiteralTable<NumericLiteral> numericLiterals;
+    LiteralTable<StringLiteral> fileNames;
+    */
+
     typedef const Identifier *const *IdentifierIterator;
+    typedef const StringLiteral *const *StringLiteralIterator;
+    typedef const NumericLiteral *const *NumericLiteralIterator;
+    typedef const StringLiteral *const *FileNameIterator;
 
     IdentifierIterator firstIdentifier() const;
     IdentifierIterator lastIdentifier() const;
 
+    StringLiteralIterator firstStringLiteral() const;
+    StringLiteralIterator lastStringLiteral() const;
+
+    NumericLiteralIterator firstNumericLiteral() const;
+    NumericLiteralIterator lastNumericLiteral() const;
+
+    FileNameIterator firstFileName() const;
+    FileNameIterator lastFileName() const;
+
     StringLiteral *findOrInsertStringLiteral(const char *chars, unsigned size);
     StringLiteral *findOrInsertStringLiteral(const char *chars);