Currently in block of code (such as in an OnSelect property), while semicolons (in at least US English) are used to separate functions/actions, the LAST one cannot have a semicolon without PowerApps complaining (often confusingly).
From a coding perspective, this is very annoying and wastes a lot of the time, especially when one may add or remove functions from a code block, especially when nested in If() and other statements. For example in the below:
Set( VarA, 123 ); Set( VarB, 456 ); ClearCollect( MyCollection, { A: 1, B: 2, C: 3 }, { A: 4, B: 5, C: 6 } ); Set( VarC, 789 )
The last statement must NOT have a semicolon at the end. However, if I remove this, then I'll also need to remove the semicolon after the end of the ClearCollect().
But then if I again add another statement at the end again - I'll not only have to readd the semicolon to the end of the ClearCollect(), but will also have to make sure not to have one at the end of the last statement.
While this makes sense from a "list" perspective (where you only use a comma for instance between items), from a coding perspective this is annoying, wastes time, and goes against what most other languages allow. In some languages everything must end in a semicolon whether last one or not. But virtually all at least ALLOW the final statement to have a semicolon (Yes, I can think of a few other exceptions).
This just simply wastes time of the user. Please change the parser to allow an OPTIONAL semicolon at the end of statements at the end of a code block (including code blocks within other calls, like If(), etc).
See this blog post: https://powerapps.microsoft.com/en-us/blog/the-smallest-feature/