YSBJSON ;SLC/DJE - Encode JSON ; Apr 01, 2021@16:33
Source file <YSBJSON.m>
| action | A | extended action | Ea | event driver | Ed | subscriber | Su | protocol | O | limited protocol | LP | run routine | RR | broker | B | edit | E | server | Se | P | screenman | SM | inquire | I |
| Name | Comments | DBIA/ICR reference |
|---|---|---|
| ENCODE(XUROOT,XUJSON,XUERR) | ; XUROOT (M structure) --> XUJSON (array of strings)
|
|
| SEROBJ(XUROOT) | ; Serialize into a JSON object
|
|
| SERARY(XUROOT) | ; Serialize into a JSON array
|
|
| SERNAME(XUSUB) | ; Serialize the object name into JSON string
|
|
| SERVAL(XUROOT,XUSUB) | ; Serialize X into appropriate JSON representation
|
|
| CONCAT | ; come here to concatenate to JSON string
|
|
| ISVALUE(XUROOT,XUSUB) | ; Return true if this is a value node
|
|
| NUMERIC(X) | ; Return true if the numeric
|
|
| JNUM(N) | ; Return JSON representation of a number
|
|
| UCODE(C) | ; Return \u00nn representation of decimal character value
|
|
| ERRX(ID,VAL) | ; Set the appropriate error message
; switch (ID) -- XERRX ends statement |
|
| XERRX | ; end switch
|
|
| ESC(X) | ; Escape string for JSON
|
| Name | Line Occurrences |
|---|---|
| $$ESC | SERVAL+14 |
| $$ISVALUE | SEROBJ+9, SERARY+6 |
| $$JNUM | SERVAL+11 |
| $$UCODE | ESC+8, ESC+9 |
| CONCAT | SERVAL+4, SERVAL+5, SERVAL+9, SERVAL+11, SERVAL+12, SERVAL+14 |
| ERRX | SEROBJ+14, SERARY+10 |
| SERARY | SEROBJ+12, SERARY+8 |
| SERNAME | SEROBJ+7 |
| SEROBJ | ENCODE+11, SEROBJ+13, SERARY+9 |
| SERVAL | SEROBJ+9, SERARY+6 |
| XERRX | ERRX+6, ERRX+7, ERRX+8, ERRX+9, ERRX+10, ERRX+11, ERRX+12, ERRX+13, ERRX+14, ERRX+15 , ERRX+16, ERRX+17, ERRX+18, ERRX+19, ERRX+20, ERRX+21, ERRX+22, ERRX+23, ERRX+24, ERRX+25 , ERRX+29, ERRX+30 |
| >> | Not killed explicitly |
| * | Changed |
| ! | Killed |
| ~ | Newed |
| Name | Field # of Occurrence |
|---|---|
| C | UCODE~, UCODE+1 |
| ERRMSG | ERRX+2~, ERRX+6*, ERRX+7*, ERRX+8*, ERRX+9*, ERRX+10*, ERRX+11*, ERRX+12*, ERRX+13*, ERRX+14* , ERRX+15*, ERRX+16*, ERRX+17*, ERRX+18*, ERRX+19*, ERRX+20*, ERRX+21*, ERRX+22*, ERRX+23*, ERRX+24* , ERRX+25*, ERRX+29*, ERRX+30*, ERRX+31*, XERRX+2 |
| FROM | ESC+1~, ESC+4*, ESC+5, ESC+6*, ESC+8, ESC+9 |
| H | UCODE+1~*, UCODE+2 |
| I | ESC+1~, ESC+5*, ESC+6*, ESC+10 |
| ID | ERRX~, ERRX+6, ERRX+7, ERRX+8, ERRX+9, ERRX+10, ERRX+11, ERRX+12, ERRX+13, ERRX+14 , ERRX+15, ERRX+16, ERRX+17, ERRX+18, ERRX+19, ERRX+20, ERRX+21, ERRX+22, ERRX+23, ERRX+24 , ERRX+25, ERRX+29, ERRX+30, ERRX+31 |
| N | JNUM~, JNUM+1, JNUM+2, JNUM+3, JNUM+4, JNUM+5 |
| PAIR | ESC+1~, ESC+3*, ESC+4 |
| TO | ESC+1~, ESC+4*, ESC+5 |
| VAL | ERRX~, ERRX+13, ERRX+14, ERRX+15, ERRX+16, ERRX+17, ERRX+24, ERRX+25, ERRX+29, ERRX+30 , ERRX+31 |
| X | NUMERIC~, NUMERIC+1, NUMERIC+2, NUMERIC+3, NUMERIC+4, NUMERIC+5, NUMERIC+6, NUMERIC+7, NUMERIC+8, NUMERIC+9* , NUMERIC+10, NUMERIC+11, ESC~, ESC+2, ESC+5*, ESC+6*, ESC+10 |
| XUDONE | SERVAL+1~, SERVAL+7*, SERVAL+10, SERVAL+11*, SERVAL+12* |
| XUERR | ENCODE~, XERRX+1, XERRX+2 |
| XUERRORS | ENCODE+8~, ENCODE+9*, XERRX+3* |
| XUFIRST | SEROBJ+1~, SEROBJ+3*, SEROBJ+5*, SERARY+1~, SERARY+3*, SERARY+5* |
| XUI | SERARY+1~, SERARY+4*, SERARY+6, SERARY+7, SERARY+8, SERARY+9, SERARY+10, SERVAL+1~, SERVAL+5* |
| XUJSON | ENCODE~, ENCODE+7, ENCODE+10, SEROBJ+2, SEROBJ+5, SEROBJ+15, SERARY+2, SERARY+5, SERARY+11, SERNAME+2 , SERNAME+3, SERNAME+4, CONCAT+1, CONCAT+2, CONCAT+3 |
| XULINE | ENCODE+8~, ENCODE+9*, ENCODE+10, SEROBJ+2, SEROBJ+5, SEROBJ+15, SERARY+2, SERARY+5, SERARY+11, SERNAME+2 , SERNAME+3*, SERNAME+4, CONCAT+1, CONCAT+2*, CONCAT+3 |
| XUMAX | ENCODE+8~, ENCODE+9*, SERNAME+2, CONCAT+1 |
| XUNXT | SEROBJ+1~, SEROBJ+11*, SEROBJ+12, SERARY+1~, SERARY+7*, SERARY+8 |
| XUROOT | ENCODE~, ENCODE+6, ENCODE+11, SEROBJ~, SEROBJ+4, SEROBJ+9, SEROBJ+11, SEROBJ+12, SEROBJ+13, SERARY~ , SERARY+4, SERARY+6, SERARY+7, SERARY+8, SERARY+9, SERVAL~, SERVAL+3, SERVAL+4, SERVAL+5, SERVAL+7 , SERVAL+9, SERVAL+10, ISVALUE~, ISVALUE+1, ISVALUE+2 |
| XUSUB | SEROBJ+1~, SEROBJ+4*, SEROBJ+7, SEROBJ+9, SEROBJ+11, SEROBJ+12, SEROBJ+13, SEROBJ+14, SERNAME~, SERNAME+1* , SERNAME+2, SERNAME+4, SERVAL~, SERVAL+3, SERVAL+4, SERVAL+5, SERVAL+7, SERVAL+9, SERVAL+10, ISVALUE~ , ISVALUE+1, ISVALUE+2 |
| XUX | SERVAL+1~, SERVAL+4*, SERVAL+5*, SERVAL+7*, SERVAL+9*, SERVAL+10, SERVAL+11*, SERVAL+12, SERVAL+14*, CONCAT+1 , CONCAT+3, ISVALUE+2~*, ISVALUE+3, ISVALUE+4 |
| Y | ESC+1~, ESC+2*, ESC+5*, ESC+6*, ESC+8*, ESC+9*, ESC+10*, ESC+11 |