Skip to content

Commit

Permalink
Update system symbol and macro IDs (#372)
Browse files Browse the repository at this point in the history
  • Loading branch information
jobarr-amzn authored Dec 12, 2024
1 parent 5fb8fbe commit 8ca4899
Showing 1 changed file with 69 additions and 71 deletions.
140 changes: 69 additions & 71 deletions _books/ion-1-1/src/modules/system_module.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,55 +48,53 @@ The Ion 1.1 System Symbol table _replaces_ rather than extends the Ion 1.0 Syste
| 14 | 0x0E | `macro_table` |
| 15 | 0x0F | `symbol_table` |
| 16 | 0x10 | `module` |
| 17 | 0x11 | see [ion-docs#345][1] |
| 18 | 0x12 | `export` |
| 19 | 0x13 | see [ion-docs#345][1] |
| 20 | 0x14 | `import` |
| 21 | 0x15 | _zero-length text_ (i.e. `''`) |
| 22 | 0x16 | `literal` |
| 23 | 0x17 | `if_none` |
| 24 | 0x18 | `if_some` |
| 25 | 0x19 | `if_single` |
| 26 | 0x1A | `if_multi` |
| 27 | 0x1B | `for` |
| 28 | 0x1C | `default` |
| 29 | 0x1D | `values` |
| 30 | 0x1E | `annotate` |
| 31 | 0x1F | `make_string` |
| 32 | 0x20 | `make_symbol` |
| 33 | 0x21 | `make_blob` |
| 34 | 0x22 | `make_decimal` |
| 35 | 0x23 | `make_timestamp` |
| 36 | 0x24 | `make_list` |
| 37 | 0x25 | `make_sexp` |
| 38 | 0x26 | `make_struct` |
| 39 | 0x27 | `parse_ion` |
| 40 | 0x28 | `repeat` |
| 41 | 0x29 | `delta` |
| 42 | 0x2A | `flatten` |
| 43 | 0x2B | `sum` |
| 44 | 0x2C | `set_symbols` |
| 45 | 0x2D | `add_symbols` |
| 46 | 0x2E | `set_macros` |
| 47 | 0x2F | `add_macros` |
| 48 | 0x30 | `use` |
| 49 | 0x31 | `meta` |
| 50 | 0x32 | `flex_symbol` |
| 51 | 0x33 | `flex_int` |
| 52 | 0x34 | `flex_uint` |
| 53 | 0x35 | `uint8` |
| 54 | 0x36 | `uint16` |
| 55 | 0x37 | `uint32` |
| 56 | 0x38 | `uint64` |
| 57 | 0x39 | `int8` |
| 58 | 0x3A | `int16` |
| 59 | 0x3B | `int32` |
| 60 | 0x3C | `int64` |
| 61 | 0x3D | `float16` |
| 62 | 0x3E | `float32` |
| 63 | 0x3F | `float64` |
| 64 | 0x40 | `none` |
| 65 | 0x41 | `make_field` |
| 17 | 0x11 | `export` |
| 18 | 0x12 | `import` |
| 19 | 0x13 | `flex_symbol` |
| 20 | 0x14 | `flex_int` |
| 21 | 0x15 | `flex_uint` |
| 22 | 0x16 | `uint8` |
| 23 | 0x17 | `uint16` |
| 24 | 0x18 | `uint32` |
| 25 | 0x19 | `uint64` |
| 26 | 0x1A | `int8` |
| 27 | 0x1B | `int16` |
| 28 | 0x1C | `int32` |
| 29 | 0x1D | `int64` |
| 30 | 0x1E | `float16` |
| 31 | 0x1F | `float32` |
| 32 | 0x20 | `float64` |
| 33 | 0x21 | _zero-length text_ (i.e. `''`) |
| 34 | 0x22 | `for` |
| 35 | 0x23 | `literal` |
| 36 | 0x24 | `if_none` |
| 37 | 0x25 | `if_some` |
| 38 | 0x26 | `if_single` |
| 39 | 0x27 | `if_multi` |
| 40 | 0x28 | `none` |
| 41 | 0x29 | `values` |
| 42 | 0x2A | `default` |
| 43 | 0x2B | `meta` |
| 44 | 0x2C | `repeat` |
| 45 | 0x2D | `flatten` |
| 46 | 0x2E | `delta` |
| 47 | 0x2F | `sum` |
| 48 | 0x30 | `annotate` |
| 49 | 0x31 | `make_string` |
| 50 | 0x32 | `make_symbol` |
| 51 | 0x33 | `make_decimal` |
| 52 | 0x34 | `make_timestamp` |
| 53 | 0x35 | `make_blob` |
| 54 | 0x36 | `make_list` |
| 55 | 0x37 | `make_sexp` |
| 56 | 0x38 | `make_field` |
| 57 | 0x39 | `make_struct` |
| 58 | 0x3A | `parse_ion` |
| 59 | 0x3B | `set_symbols` |
| 60 | 0x3C | `add_symbols` |
| 61 | 0x3D | `set_macros` |
| 62 | 0x3E | `add_macros` |
| 63 | 0x3F | `use` |

In Ion 1.1 Text, system symbols can never be referenced by symbol ID; `$1` always refers to the first symbol in the user symbol table.
This allows the Ion 1.1 system symbol table to be relatively large without taking away SID space from the user symbol table.
Expand All @@ -107,28 +105,28 @@ This allows the Ion 1.1 system symbol table to be relatively large without takin
|---:|:----:|:--------------------------------------------------------------|
| 0 | 0x00 | [`none`](../macros/system_macros.md#none) |
| 1 | 0x01 | [`values`](../macros/system_macros.md#values) |
| 2 | 0x02 | [`annotate`](../macros/system_macros.md#annotate) |
| 3 | 0x03 | [`make_string`](../macros/system_macros.md#make_string) |
| 4 | 0x04 | [`make_symbol`](../macros/system_macros.md#make_symbol) |
| 5 | 0x05 | [`make_blob`](../macros/system_macros.md#make_blob) |
| 6 | 0x06 | [`make_decimal`](../macros/system_macros.md#make_decimal) |
| 7 | 0x07 | [`make_timestamp`](../macros/system_macros.md#make_timestamp) |
| 8 | 0x08 | [`make_list`](../macros/system_macros.md#make_list) |
| 9 | 0x09 | [`make_sexp`](../macros/system_macros.md#make_sexp) |
| 10 | 0x0A | [`make_struct`](../macros/system_macros.md#make_struct) |
| 11 | 0x0B | [`set_symbols`](../macros/system_macros.md#set_symbols) |
| 12 | 0x0C | [`add_symbols`](../macros/system_macros.md#add_symbols) |
| 13 | 0x0D | [`set_macros`](../macros/system_macros.md#set_macros) |
| 14 | 0x0E | [`add_macros`](../macros/system_macros.md#add_macros) |
| 15 | 0x0F | [`use`](../macros/system_macros.md#use) |
| 16 | 0x10 | [`parse_ion`](../macros/system_macros.md#parse_ion) |
| 17 | 0x11 | [`repeat`](../macros/system_macros.md#repeat) |
| 18 | 0x12 | [`delta`](../macros/system_macros.md#delta) |
| 19 | 0x13 | [`flatten`](../macros/system_macros.md#flatten) |
| 20 | 0x14 | [`sum`](../macros/system_macros.md#sum) |
| 21 | 0x15 | [`meta`](../macros/system_macros.md#meta) |
| 22 | 0x16 | [`make_field`](../macros/system_macros.md#make_field) |
| 23 | 0x17 | [`default`](../macros/system_macros.md#default) |
| 2 | 0x02 | [`default`](../macros/system_macros.md#default) |
| 3 | 0x03 | [`meta`](../macros/system_macros.md#meta) |
| 4 | 0x04 | [`repeat`](../macros/system_macros.md#repeat) |
| 5 | 0x05 | [`flatten`](../macros/system_macros.md#flatten) |
| 6 | 0x06 | [`delta`](../macros/system_macros.md#delta) |
| 7 | 0x07 | [`sum`](../macros/system_macros.md#sum) |
| 8 | 0x08 | [`annotate`](../macros/system_macros.md#annotate) |
| 9 | 0x09 | [`make_string`](../macros/system_macros.md#make_string) |
| 10 | 0x0A | [`make_symbol`](../macros/system_macros.md#make_symbol) |
| 11 | 0x0B | [`make_decimal`](../macros/system_macros.md#make_decimal) |
| 12 | 0x0C | [`make_timestamp`](../macros/system_macros.md#make_timestamp) |
| 13 | 0x0D | [`make_blob`](../macros/system_macros.md#make_blob) |
| 14 | 0x0E | [`make_list`](../macros/system_macros.md#make_list) |
| 15 | 0x0F | [`make_sexp`](../macros/system_macros.md#make_sexp) |
| 16 | 0x10 | [`make_field`](../macros/system_macros.md#make_field) |
| 17 | 0x11 | [`make_struct`](../macros/system_macros.md#make_struct) |
| 18 | 0x12 | [`parse_ion`](../macros/system_macros.md#parse_ion) |
| 19 | 0x13 | [`set_symbols`](../macros/system_macros.md#set_symbols) |
| 20 | 0x14 | [`add_symbols`](../macros/system_macros.md#add_symbols) |
| 21 | 0x15 | [`set_macros`](../macros/system_macros.md#set_macros) |
| 22 | 0x16 | [`add_macros`](../macros/system_macros.md#add_macros) |
| 23 | 0x17 | [`use`](../macros/system_macros.md#use) |


----
Expand Down

0 comments on commit 8ca4899

Please sign in to comment.