@@ -205,7 +205,7 @@ requirements, or a requirement is listed which is not recognized by the
205
205
implementation, it is a fatal error and the implementation must not attempt
206
206
to run the process, unless overridden at user option.
207
207
208
- A ** hint** is similar to a requirement, however it is not an error if an
208
+ A ** hint** is similar to a requirement; however, it is not an error if an
209
209
implementation cannot satisfy all hints. The implementation may report a
210
210
warning if a hint cannot be satisfied.
211
211
@@ -233,12 +233,13 @@ field permitting the pseudo-type `Expression`, as specified by this document.
233
233
Conforming implementations must support parameter references. Parameter
234
234
references use the following subset of
235
235
[ Javascript/ECMAScript 5.1] ( http://www.ecma-international.org/ecma-262/5.1/ )
236
- syntax but they are designed to not require a Javascript engine for evaluation.
236
+ syntax, but they are designed to not require a Javascript engine for evaluation.
237
237
238
- In the following BNF grammar, character classes and grammar rules are denoted
238
+ In the following BNF grammar, character classes, and grammar rules are denoted
239
239
in '{}', '-' denotes exclusion from a character class, '(())' denotes grouping,
240
240
'|' denotes alternates, trailing '* ' denotes zero or more repeats, '+' denote
241
- one or more repeats, all other characters are literal values.
241
+ one or more repeats, '/' escapes these special characters, and all other
242
+ characters are literal values.
242
243
243
244
<p >
244
245
<table class =" table " >
@@ -253,12 +254,12 @@ one or more repeats, all other characters are literal values.
253
254
254
255
Use the following algorithm to resolve a parameter reference:
255
256
256
- 1 . Match the leading symbol as key
257
+ 1 . Match the leading symbol as the key
257
258
2 . Look up the key in the parameter context (described below) to get the current value.
258
259
It is an error if the key is not found in the parameter context.
259
260
3 . If there are no subsequent segments, terminate and return current value
260
261
4 . Else, match the next segment
261
- 5 . Extract the symbol, string, or index from the segment as key
262
+ 5 . Extract the symbol, string, or index from the segment as the key
262
263
6 . Look up the key in current value and assign as new current value. If
263
264
the key is a symbol or string, the current value must be an object.
264
265
If the key is an index, the current value must be an array or string.
@@ -323,10 +324,11 @@ fragment wrapped in the `$(...)` syntax must be evaluated as a
323
324
code fragment wrapped in the ` ${...} ` syntax must be evaluated as a
324
325
[ EMACScript function body] ( http://www.ecma-international.org/ecma-262/5.1/#sec-13 )
325
326
for an anonymous, zero-argument function. Expressions must return a valid JSON
326
- data type: one of null, string, number, boolean, array, object.
327
- Implementations must permit any syntactically valid Javascript and account
328
- for nesting of parenthesis or braces and that strings that may contain
329
- parenthesis or braces when scanning for expressions.
327
+ data type: one of null, string, number, boolean, array, object. Other return
328
+ values must result in a ` permanentFailure ` . Implementations must permit any
329
+ syntactically valid Javascript and account for nesting of parenthesis or braces
330
+ and that strings that may contain parenthesis or braces when scanning for
331
+ expressions.
330
332
331
333
The runtime must include any code defined in the [ "expressionLib" field of
332
334
InlineJavascriptRequirement] ( #InlineJavascriptRequirement ) prior to
@@ -358,24 +360,6 @@ with running untrusted code embedded in a CWL document.
358
360
Exceptions thrown from an exception must result in a ` permanentFailure ` of the
359
361
process.
360
362
361
- ## Success and failure
362
-
363
- A completed process must result in one of ` success ` , ` temporaryFailure ` or
364
- ` permanentFailure ` states. An implementation may choose to retry a process
365
- execution which resulted in ` temporaryFailure ` . An implementation may
366
- choose to either continue running other steps of a workflow, or terminate
367
- immediately upon ` permanentFailure ` .
368
-
369
- * If any step of a workflow execution results in ` permanentFailure ` , then the
370
- workflow status is ` permanentFailure ` .
371
-
372
- * If one or more steps result in ` temporaryFailure ` and all other steps
373
- complete ` success ` or are not executed, then the workflow status is
374
- ` temporaryFailure ` .
375
-
376
- * If all workflow steps are executed and complete with ` success ` , then the workflow
377
- status is ` success ` .
378
-
379
363
## Executing CWL documents as scripts
380
364
381
365
By convention, a CWL document may begin with ` #!/usr/bin/env cwl-runner `
0 commit comments