About the author
Many years ago, I wrote the following regular expression:
^(?:\s*)(class)?(?:\s*)(constructor|destructor|function|operator|procedure)(?:\s*)(\w+\.)*(\w+)(?:\s*)((?:\()((?:\;?\s*)(const|var|out)?(?:\s*)&?(\w+)(,\s*\w+)*(?:\s*\:\s*)&?((\w*)\.)*(\w+)(\s*\=\s*(''.*''|\w+|\d+))?)*(?:\)))*((?:\:\s*)((\w*)\.)*(\w+))?;
to parse the Delphi syntax for declaration of a routine.
Since the addition of generics to Delphi, the above regular expression no longer works, if and when there is a generic type in the declaration.
If I treat a simple generic type declaration as just an identifier, then it would be simple to expand the above regular expression.
However, it seems to me that a generic type declaration can be yet another generic type expression.
More investigations needed, I think.
How to free more space on your home drive by redirecting the location for SDKs in RAD Studio
Learn the command line used to compile System.pas in Delphi
A method to design records so that they're allocated on a specific byte boundary, such as 16 bytes, 512 bytes, 4096 bytes, etc.
Learn why the map is cool in Go!