Hey Alex,
From my understanding, on any command line interpreter, be it on Windows, Linux or even MacOS, the params are splitted by white chars, or in other words, spaces and/or tabs.
I'm assuming here that you wouldn't need to parse multiline strings, cuz that would have a higher level of complexity.
If you want to do it yourself, just split a string by spaces or tabs with one of the string manipulation functions that FPC has.
If I'm not mistaken, there are functions that accept more than one character to look for in terms of the delimiters.
I'm not quite sure if String.Split type helper does it like this, but I'll leave it for you to explore.
This will give you an array of strings you can then use. This will not associate values with params unless in the format --longparam=value since this has no spaces.
If you want to associate params with values, you'll have to add a bit more code to make sense of each param and see if it has/needs a value.
You will also have to parse stuff inside single or double quotes as one single param even if it contains spaces, that is if you're allowing a single or double quotes params.
So all, in all, it would be more practical to use a custom made function because of the possibility of single or double quoted params.
Hope this helps in any way!!
Cheers,
Gus