Skip to content

Commit 6d3010f

Browse files
authored
Revise GS1 calling conventions and validation notes
Updated calling convention examples and clarified validation checks for GS1-enabled encoders.
1 parent dd6bac6 commit 6d3010f

1 file changed

Lines changed: 10 additions & 7 deletions

File tree

DEVELOPERS.md

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -441,15 +441,17 @@ The `contrib/development` directory contains:
441441

442442
**Calling convention:**
443443
```postscript
444-
(\(01\)09521234543213\(10\)ABC123) /ai //gs1process exec => ais vals fncs % For bracketed AI syntax
445-
(https://id.gs1.org/01/09521234543213/10/ABC123) /dl //gs1process exec => ais vals fncs % For Digital Link URI
444+
(\(01\)09521234543213\(10\)ABC123) /ai //gs1process exec % => ais vals fncs (For bracketed AI syntax)
445+
(https://id.gs1.org/01/09521234543213/10/ABC123) /dl //gs1process exec % => ais vals fncs (For Digital Link URI)
446446
```
447447

448448
- `ais` - Application Identifier strings (e.g., `[(01) (10)]`)
449449
- `vals` - Corresponding value strings (e.g., `[(09521234543213) (ABC123)]`)
450450
- `fncs` - Boolean array indicating which AIs require FNC1 separator (based on `contrib/development/ai_not_needing_fnc1.txt`)
451451

452-
GS1-enabled encoders can disable these checks using the `dontlint` option.
452+
`parseinput` is applied to each extracted AI value (from `vals`) of bracketed AI syntax inputs, and to the overall URI for GS1 Digital Link inputs.
453+
454+
GS1-enabled encoders can disable validation checks using the `dontlint` option.
453455

454456

455457
### Error Handling (raiseerror.ps.src)
@@ -653,15 +655,16 @@ fastest (~2x faster than pre-allocate, ~5x faster than aload rebuild):
653655

654656
```postscript
655657
mark
656-
0 1 n 1 sub { computeValue } for
658+
0 1 n 1 sub { computeValue } for % Leave values on the stack
657659
counttomark array astore
658660
/result exch def
659661
```
660662

661-
If size is bounded, over-size then trim with `getinterval`.
663+
If use of stack is difficult, e.g. due to complex backtracking, then
664+
pre-allocate and, if size is bounded, over-size then trim with `getinterval`.
662665

663-
Extension of small arrays with `aload pop` is acceptable for one-time
664-
operations outside loops.
666+
Extension of small arrays with `/arr [ arr aload pop ... ] def` is
667+
acceptable for one-time operations outside loops.
665668

666669

667670
**Hot Loop Stack Pattern**

0 commit comments

Comments
 (0)