"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "pony.g" between
ponyc-0.33.1.tar.gz and ponyc-0.33.2.tar.gz

About: Pony is an object-oriented, actor-model, capabilities-secure, high performance programming language.

pony.g  (ponyc-0.33.1):pony.g  (ponyc-0.33.2)
skipping to change at line 131 skipping to change at line 131
| 'consume' cap? term | 'consume' cap? term
| pattern | pattern
| '#' postfix | '#' postfix
; ;
withelem withelem
: idseq '=' rawseq : idseq '=' rawseq
; ;
caseexpr caseexpr
: '|' ('\\' ID (',' ID)* '\\')? pattern? ('if' rawseq)? ('=>' rawseq)? : '|' ('\\' ID (',' ID)* '\\')? casepattern? ('if' rawseq)? ('=>' rawseq)?
; ;
elseiftype elseiftype
: 'elseif' ('\\' ID (',' ID)* '\\')? iftype (elseiftype | ('else' annotatedraw seq))? : 'elseif' ('\\' ID (',' ID)* '\\')? iftype (elseiftype | ('else' annotatedraw seq))?
; ;
iftype iftype
: type '<:' type 'then' rawseq : type '<:' type 'then' rawseq
; ;
skipping to change at line 165 skipping to change at line 165
idseq_in_seq idseq_in_seq
: ID : ID
| ('(' | LPAREN_NEW) idseq_in_seq (',' idseq_in_seq)* ')' | ('(' | LPAREN_NEW) idseq_in_seq (',' idseq_in_seq)* ')'
; ;
nextpattern nextpattern
: ('var' | 'let' | 'embed') ID (':' type)? : ('var' | 'let' | 'embed') ID (':' type)?
| nextparampattern | nextparampattern
; ;
casepattern
: ('var' | 'let' | 'embed') ID (':' type)?
| caseparampattern
;
pattern pattern
: ('var' | 'let' | 'embed') ID (':' type)? : ('var' | 'let' | 'embed') ID (':' type)?
| parampattern | parampattern
; ;
nextparampattern nextparampattern
: ('not' | 'addressof' | MINUS_NEW | MINUS_TILDE_NEW | 'digestof') parampatter n : ('not' | 'addressof' | MINUS_NEW | MINUS_TILDE_NEW | 'digestof') parampatter n
| nextpostfix | nextpostfix
; ;
caseparampattern
: ('not' | 'addressof' | '-' | '-~' | MINUS_NEW | MINUS_TILDE_NEW | 'digestof'
) caseparampattern
| casepostfix
;
parampattern parampattern
: ('not' | 'addressof' | '-' | '-~' | MINUS_NEW | MINUS_TILDE_NEW | 'digestof' ) parampattern : ('not' | 'addressof' | '-' | '-~' | MINUS_NEW | MINUS_TILDE_NEW | 'digestof' ) parampattern
| postfix | postfix
; ;
nextpostfix nextpostfix
: nextatom antlr_2* : nextatom antlr_2*
; ;
casepostfix
: caseatom antlr_3*
;
postfix postfix
: atom antlr_3* : atom antlr_4*
; ;
call call
: '(' positional? named? ')' '?'? : '(' positional? named? ')' '?'?
; ;
chain chain
: '.>' ID : '.>' ID
; ;
skipping to change at line 215 skipping to change at line 229
: ID : ID
| 'this' | 'this'
| literal | literal
| LPAREN_NEW rawseq tuple? ')' | LPAREN_NEW rawseq tuple? ')'
| LSQUARE_NEW ('as' type ':')? rawseq? ']' | LSQUARE_NEW ('as' type ':')? rawseq? ']'
| 'object' ('\\' ID (',' ID)* '\\')? cap? ('is' type)? members 'end' | 'object' ('\\' ID (',' ID)* '\\')? cap? ('is' type)? members 'end'
| '{' ('\\' ID (',' ID)* '\\')? cap? ID? typeparams? ('(' | LPAREN_NEW) lambda params? ')' lambdacaptures? (':' type)? '?'? '=>' rawseq '}' cap? | '{' ('\\' ID (',' ID)* '\\')? cap? ID? typeparams? ('(' | LPAREN_NEW) lambda params? ')' lambdacaptures? (':' type)? '?'? '=>' rawseq '}' cap?
| '@{' ('\\' ID (',' ID)* '\\')? cap? ID? typeparams? ('(' | LPAREN_NEW) lambd aparams? ')' lambdacaptures? (':' type)? '?'? '=>' rawseq '}' cap? | '@{' ('\\' ID (',' ID)* '\\')? cap? ID? typeparams? ('(' | LPAREN_NEW) lambd aparams? ')' lambdacaptures? (':' type)? '?'? '=>' rawseq '}' cap?
| '@' (ID | STRING) typeargs? ('(' | LPAREN_NEW) positional? named? ')' '?'? | '@' (ID | STRING) typeargs? ('(' | LPAREN_NEW) positional? named? ')' '?'?
| '__loc' | '__loc'
| 'if' ('\\' ID (',' ID)* '\\')? rawseq 'then' rawseq (elseif | ('else' annota
tedrawseq))? 'end'
| 'while' ('\\' ID (',' ID)* '\\')? rawseq 'do' rawseq ('else' annotatedrawseq
)? 'end'
| 'for' ('\\' ID (',' ID)* '\\')? idseq 'in' rawseq 'do' rawseq ('else' annota
tedrawseq)? 'end'
;
caseatom
: ID
| 'this'
| literal
| ('(' | LPAREN_NEW) rawseq tuple? ')'
| ('[' | LSQUARE_NEW) ('as' type ':')? rawseq? ']'
| 'object' ('\\' ID (',' ID)* '\\')? cap? ('is' type)? members 'end'
| '{' ('\\' ID (',' ID)* '\\')? cap? ID? typeparams? ('(' | LPAREN_NEW) lambda
params? ')' lambdacaptures? (':' type)? '?'? '=>' rawseq '}' cap?
| '@{' ('\\' ID (',' ID)* '\\')? cap? ID? typeparams? ('(' | LPAREN_NEW) lambd
aparams? ')' lambdacaptures? (':' type)? '?'? '=>' rawseq '}' cap?
| '@' (ID | STRING) typeargs? ('(' | LPAREN_NEW) positional? named? ')' '?'?
| '__loc'
| 'while' ('\\' ID (',' ID)* '\\')? rawseq 'do' rawseq ('else' annotatedrawseq
)? 'end'
| 'for' ('\\' ID (',' ID)* '\\')? idseq 'in' rawseq 'do' rawseq ('else' annota
tedrawseq)? 'end'
; ;
atom atom
: ID : ID
| 'this' | 'this'
| literal | literal
| ('(' | LPAREN_NEW) rawseq tuple? ')' | ('(' | LPAREN_NEW) rawseq tuple? ')'
| ('[' | LSQUARE_NEW) ('as' type ':')? rawseq? ']' | ('[' | LSQUARE_NEW) ('as' type ':')? rawseq? ']'
| 'object' ('\\' ID (',' ID)* '\\')? cap? ('is' type)? members 'end' | 'object' ('\\' ID (',' ID)* '\\')? cap? ('is' type)? members 'end'
| '{' ('\\' ID (',' ID)* '\\')? cap? ID? typeparams? ('(' | LPAREN_NEW) lambda params? ')' lambdacaptures? (':' type)? '?'? '=>' rawseq '}' cap? | '{' ('\\' ID (',' ID)* '\\')? cap? ID? typeparams? ('(' | LPAREN_NEW) lambda params? ')' lambdacaptures? (':' type)? '?'? '=>' rawseq '}' cap?
| '@{' ('\\' ID (',' ID)* '\\')? cap? ID? typeparams? ('(' | LPAREN_NEW) lambd aparams? ')' lambdacaptures? (':' type)? '?'? '=>' rawseq '}' cap? | '@{' ('\\' ID (',' ID)* '\\')? cap? ID? typeparams? ('(' | LPAREN_NEW) lambd aparams? ')' lambdacaptures? (':' type)? '?'? '=>' rawseq '}' cap?
| '@' (ID | STRING) typeargs? ('(' | LPAREN_NEW) positional? named? ')' '?'? | '@' (ID | STRING) typeargs? ('(' | LPAREN_NEW) positional? named? ')' '?'?
| '__loc' | '__loc'
| 'if' ('\\' ID (',' ID)* '\\')? rawseq 'then' rawseq (elseif | ('else' annota
tedrawseq))? 'end'
| 'while' ('\\' ID (',' ID)* '\\')? rawseq 'do' rawseq ('else' annotatedrawseq
)? 'end'
| 'for' ('\\' ID (',' ID)* '\\')? idseq 'in' rawseq 'do' rawseq ('else' annota
tedrawseq)? 'end'
; ;
tuple tuple
: ',' rawseq (',' rawseq)* : ',' rawseq (',' rawseq)*
; ;
lambdacaptures lambdacaptures
: ('(' | LPAREN_NEW) (lambdacapture | 'this') (',' (lambdacapture | 'this'))* ')' : ('(' | LPAREN_NEW) (lambdacapture | 'this') (',' (lambdacapture | 'this'))* ')'
; ;
skipping to change at line 288 skipping to change at line 323
lambdatype lambdatype
: '{' cap? ID? typeparams? ('(' | LPAREN_NEW) (type (',' type)*)? ')' (':' typ e)? '?'? '}' (cap | gencap)? ('^' | '!')? : '{' cap? ID? typeparams? ('(' | LPAREN_NEW) (type (',' type)*)? ')' (':' typ e)? '?'? '}' (cap | gencap)? ('^' | '!')?
; ;
tupletype tupletype
: ',' infixtype (',' infixtype)* : ',' infixtype (',' infixtype)*
; ;
infixtype infixtype
: type antlr_4* : type antlr_5*
; ;
isecttype isecttype
: '&' type : '&' type
; ;
uniontype uniontype
: '|' type : '|' type
; ;
skipping to change at line 383 skipping to change at line 418
antlr_3 antlr_3
: dot : dot
| tilde | tilde
| chain | chain
| typeargs | typeargs
| call | call
; ;
antlr_4 antlr_4
: dot
| tilde
| chain
| typeargs
| call
;
antlr_5
: uniontype : uniontype
| isecttype | isecttype
; ;
// Rules of the form antlr_* are only present to avoid a bug in the // Rules of the form antlr_* are only present to avoid a bug in the
// interpreter // interpreter
/* Precedence /* Precedence
Value: Value:
 End of changes. 9 change blocks. 
3 lines changed or deleted 57 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)