Implement main-thread Camino sessions and synchronous CRDT editing
This commit is contained in:
@@ -189,18 +189,22 @@ fragmentVariable : identifier TO identifier SEMI;
|
||||
|
||||
packageOperationExport
|
||||
: OPERATION identifier typeParameters? ID stringLiteral COLON valueType ARROW valueType
|
||||
MODE operationMode executionClause? eventClause? RECEIVER receiverRequirement dependencyBlock? acceptanceClause? SEMI
|
||||
MODE operationMode executionClause? eventClause? RECEIVER receiverRequirement dependencyBlock? preparationClause? acceptanceClause? SEMI
|
||||
;
|
||||
|
||||
packageFunctionExport
|
||||
: FUNCTION identifier typeParameters? ID stringLiteral COLON valueType ARROW valueType
|
||||
executionClause? dependencyBlock? acceptanceClause? SEMI
|
||||
executionClause? dependencyBlock? preparationClause? acceptanceClause? SEMI
|
||||
;
|
||||
|
||||
acceptanceClause
|
||||
: ACCEPT USING identifier
|
||||
;
|
||||
|
||||
preparationClause
|
||||
: PREPARES CREATION identifier USING stringLiteral
|
||||
;
|
||||
|
||||
executionClause
|
||||
: EXECUTION REMOTE
|
||||
| EXECUTION (SNAPSHOT | TRANSACTION) TARGETS LBRACK identifierList RBRACK
|
||||
@@ -418,6 +422,7 @@ valueType
|
||||
| OPTIONAL LT valueType GT
|
||||
| LIST LT valueType GT
|
||||
| RECORD LBRACE recordField* RBRACE
|
||||
| VARIANT ID stringLiteral LBRACE variantCase+ RBRACE
|
||||
| identifier typeArguments?
|
||||
;
|
||||
|
||||
@@ -425,6 +430,10 @@ recordField
|
||||
: identifier COLON valueType SEMI
|
||||
;
|
||||
|
||||
variantCase
|
||||
: identifier ID stringLiteral COLON valueType SEMI
|
||||
;
|
||||
|
||||
scalarType
|
||||
: BOOL
|
||||
| BYTES
|
||||
@@ -517,6 +526,8 @@ PRESENTATION: 'presentation';
|
||||
SUBJECT: 'subject';
|
||||
FOR: 'for';
|
||||
CREATION: 'creation';
|
||||
VARIANT: 'variant';
|
||||
PREPARES: 'prepares';
|
||||
INITIALIZE: 'initialize';
|
||||
WORKSPACE: 'workspace';
|
||||
EXECUTION: 'execution';
|
||||
|
||||
Reference in New Issue
Block a user