Index: src/AST/Expr.cpp
===================================================================
--- src/AST/Expr.cpp	(revision cd59d28d0ab3255be07ca6dffc9b4f03bd059efd)
+++ src/AST/Expr.cpp	(revision 47e000c054a8dc58293a93fbc643e10735fd30f9)
@@ -260,4 +260,13 @@
 }
 
+ConstantExpr * ConstantExpr::from_string( const CodeLocation & loc, const std::string & str ) {
+	const Type * charType = new BasicType( BasicType::Char );
+	// Adjust the length of the string for the terminator.
+	const Expr * strSize = from_ulong( loc, str.size() + 1 );
+	const Type * strType = new ArrayType( charType, strSize, FixedLen, StaticDim );
+	const std::string strValue = "\"" + str + "\"";
+	return new ConstantExpr( loc, strType, strValue, std::nullopt );
+}
+
 ConstantExpr * ConstantExpr::null( const CodeLocation & loc, const Type * ptrType ) {
 	return new ConstantExpr{
Index: src/AST/Expr.hpp
===================================================================
--- src/AST/Expr.hpp	(revision cd59d28d0ab3255be07ca6dffc9b4f03bd059efd)
+++ src/AST/Expr.hpp	(revision 47e000c054a8dc58293a93fbc643e10735fd30f9)
@@ -438,11 +438,13 @@
 	long long int intValue() const;
 
-	/// generates a boolean constant of the given bool
+	/// Generates a boolean constant of the given bool.
 	static ConstantExpr * from_bool( const CodeLocation & loc, bool b );
-	/// generates an integer constant of the given int
+	/// Generates an integer constant of the given int.
 	static ConstantExpr * from_int( const CodeLocation & loc, int i );
-	/// generates an integer constant of the given unsigned long int
+	/// Generates an integer constant of the given unsigned long int.
 	static ConstantExpr * from_ulong( const CodeLocation & loc, unsigned long i );
-	/// generates a null pointer value for the given type. void * if omitted.
+	/// Generates a string constant from the given string (char type, unquoted string).
+	static ConstantExpr * from_string( const CodeLocation & loc, const std::string & string );
+	/// Generates a null pointer value for the given type. void * if omitted.
 	static ConstantExpr * null( const CodeLocation & loc, const Type * ptrType = nullptr );
 
