Skip to content

Instantly share code, notes, and snippets.

@erica
Created June 12, 2015 20:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save erica/fa37ec43c065dace43f5 to your computer and use it in GitHub Desktop.
Save erica/fa37ec43c065dace43f5 to your computer and use it in GitHub Desktop.
diffing
12,13d11
< statement → defer-statement­;­opt­
< statement → do-statement­:­opt­
20c18
< loop-statement → repeat-while-statement­
---
> loop-statement → do-while-statement­
28c26
< for-in-statement → for­case­opt­pattern­in­expression­code-block­where-clause­opt­
---
> for-in-statement → for­pattern­in­expression­code-block­
31,40c29,33
< while-statement → while­condition-clause­code-block­
< condition-clause → expression­
< condition-clause → expression­,­condition-list­
< condition-clause → condition-list­
< condition-clause → availability-condition­,­expression­
< condition-list → condition­ condition­,­condition-list­
< condition → availability-condition­ case-condition­ optional-binding-condition­
< case-condition → case­pattern­initializer­where-clause­opt­
< optional-binding-condition → optional-binding-head­optional-binding-continuation-list­opt­where-clause­opt­
< optional-binding-head → let­pattern­initializer­ var­pattern­initializer­
---
> while-statement → while­while-condition­code-block­
> while-condition → expression­ expression­opt­optional-binding-list­
> optional-binding-list → optional-binding-clause­ optional-binding-clause­,­optional-binding-list­
> optional-binding-clause → optional-binding-head­optional-binding-continuation-list­opt­guard-clause­opt­
> optional-binding-head → let­identifier-pattern­initializer­ var­identifier-pattern­initializer­
42,43c35,36
< optional-binding-continuation → pattern­initializer­ optional-binding-head­
< GRAMMAR OF A REPEAT-WHILE STATEMENT
---
> optional-binding-continuation → identifier-pattern­initializer­ optional-binding-head­
> GRAMMAR OF A DO-WHILE STATEMENT
45c38
< repeat-while-statement → repeat­code-block­while­expression­
---
> do-while-statement → do­code-block­while­expression­
49d41
< branch-statement → guard-statement­
53c45,46
< if-statement → if­condition-clause­code-block­else-clause­opt­
---
> if-statement → if­if-condition­code-block­else-clause­opt­
> if-condition → expression­ expression­opt­optional-binding-list­
55,57d47
< GRAMMAR OF A GUARD STATEMENT
<
< guard-statement → guard­condition-clause­else­code-block­
65c55
< case-item-list → pattern­where-clause­opt­ pattern­where-clause­opt­,­case-item-list­
---
> case-item-list → pattern­guard-clause­opt­ pattern­guard-clause­opt­,­case-item-list­
67,68c57,58
< where-clause → where­where-expression­
< where-expression → expression­
---
> guard-clause → where­guard-expression­
> guard-expression → expression­
71c61
< labeled-statement → statement-label­loop-statement­ statement-label­if-statement­ statement-label­switch-statement­
---
> labeled-statement → statement-label­loop-statement­ statement-label­switch-statement­
80d69
< control-transfer-statement → throw-statement­
93,115d81
< GRAMMAR OF AN AVAILABILITY CONDITION
<
< availability-condition → #available­(­availability-arguments­)­
< availability-arguments → availability-argument­ availability-argument­,­availability-arguments­
< availability-argument → platform-name­platform-version­
< availability-argument → *­
< platform-name → iOS­ iOSApplicationExtension­
< platform-name → OSX­ OSXApplicationExtension­
< platform-name → watchOS­
< platform-version → decimal-digits­
< platform-version → decimal-digits­.­decimal-digits­
< platform-version → decimal-digits­.­decimal-digits­.­decimal-digits­
< GRAMMAR OF A THROW STATEMENT
<
< throw-statement → throw­expression­
< GRAMMAR OF A DEFER STATEMENT
<
< defer-statement → defer­code-block­
< GRAMMAR OF A DO STATEMENT
<
< do-statement → do­code-block­catch-clauses­opt­
< catch-clauses → catch-clause­catch-clauses­opt­
< catch-clause → catch­pattern­opt­where-clause­opt­code-block­
207,208c173
< function-signature → parameter-clauses­throws­opt­function-result­opt­
< function-signature → parameter-clauses­rethrows­function-result­opt­
---
> function-signature → parameter-clauses­function-result­opt­
214,215c179,180
< parameter → inout­opt­let­opt­external-parameter-name­opt­local-parameter-name­type-annotation­default-argument-clause­opt­
< parameter → inout­opt­var­external-parameter-name­opt­local-parameter-name­type-annotation­default-argument-clause­opt­
---
> parameter → inout­opt­let­opt­#­opt­external-parameter-name­opt­local-parameter-name­type-annotation­default-argument-clause­opt­
> parameter → inout­opt­var­#­opt­external-parameter-name­opt­local-parameter-name­type-annotation­default-argument-clause­opt­
326d290
< pattern → optional-pattern­
346,348d309
< GRAMMAR OF AN OPTIONAL PATTERN
<
< optional-pattern → identifier-pattern­?­
375c336
< expression → try-operator­opt­prefix-expression­binary-expressions­opt­
---
> expression → prefix-expression­binary-expressions­opt­
382,384d342
< GRAMMAR OF A TRY EXPRESSION
<
< try-operator → try­ try­!­
388,389c346,347
< binary-expression → assignment-operator­try-operator­opt­prefix-expression­
< binary-expression → conditional-operator­try-operator­opt­prefix-expression­
---
> binary-expression → assignment-operator­prefix-expression­
> binary-expression → conditional-operator­prefix-expression­
630,631c588
< function-type → type­throws­opt­->­type­
< function-type → type­rethrows­->­type­
---
> function-type → type­->­type­
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment