Generate typed QX bindings and add source editing tools

This commit is contained in:
Timothy J. Aveni
2026-09-08 14:27:24 -07:00
parent ce793cc54f
commit 4e17693d82
30 changed files with 2806 additions and 1939 deletions
@@ -1,197 +1,201 @@
WORKSPACE=1
IMPORT=2
EXTERNAL=3
ATOM=4
INTERFACE=5
INTERFACES=6
PACKAGE=7
VALUE=8
RELATION=9
OPERATION=10
FUNCTION=11
CONSTRUCTOR=12
CONSTRUCTS=13
CONFORM=14
AS=15
BIND=16
TO=17
PRIVATE=18
SHARED=19
STATE=20
EDGE=21
PROJECTION=22
WITH=23
USING=24
VIA=25
MATERIALIZE=26
IF=27
ABSENT=28
ON=29
POLICY=30
DEFAULT=31
SOURCE=32
REPOSITORY=33
COMMIT=34
REVISION=35
ID=36
DOC=37
MODE=38
EMITS=39
RECEIVER=40
REQUIRES=41
ANY=42
GET=43
SET=44
WATCH=45
START=46
STOP=47
READ=48
WRITE=49
RESOLVE=50
CONNECT=51
DISCONNECT=52
CALL=53
WATCH_START=54
WATCH_STOP=55
SUBSCRIBE=56
UNSUBSCRIBE=57
OPTIMISTIC_REGISTER=58
CRDT=59
OPTIONAL_ONE=60
EXACTLY_ONE=61
MANY_UNIQUE=62
MANY=63
ORDERED=64
UNIT=65
WATCH_HANDLE=66
MESSAGE=67
ATOM_REF=68
INTERFACE_REF=69
OPTIONAL=70
LIST=71
BOOL=72
BYTES=73
DOUBLE=74
INT32=75
INT64=76
STRING=77
UINT32=78
UINT64=79
TRUE=80
FALSE=81
NULL=82
ARROW=83
COLON=84
SEMI=85
COMMA=86
DOT=87
LBRACE=88
RBRACE=89
LBRACK=90
RBRACK=91
LPAREN=92
RPAREN=93
LT=94
GT=95
INTEGER=96
JSON_NUMBER=97
IDENTIFIER=98
STRING_LITERAL=99
LINE_COMMENT=100
BLOCK_COMMENT=101
WS=102
FRAGMENT=2
IMPORT=3
EXTERNAL=4
ATOM=5
INTERFACE=6
INTERFACES=7
PACKAGE=8
VALUE=9
RELATION=10
OPERATION=11
FUNCTION=12
CONSTRUCTOR=13
CONSTRUCTS=14
INPUT=15
CONFORM=16
AS=17
BIND=18
TO=19
PRIVATE=20
SHARED=21
STATE=22
EDGE=23
PROJECTION=24
WITH=25
USING=26
VIA=27
MATERIALIZE=28
IF=29
ABSENT=30
ON=31
POLICY=32
DEFAULT=33
SOURCE=34
REPOSITORY=35
COMMIT=36
REVISION=37
ID=38
DOC=39
MODE=40
EMITS=41
RECEIVER=42
REQUIRES=43
ANY=44
GET=45
SET=46
WATCH=47
START=48
STOP=49
READ=50
WRITE=51
RESOLVE=52
CONNECT=53
DISCONNECT=54
CALL=55
WATCH_START=56
WATCH_STOP=57
SUBSCRIBE=58
UNSUBSCRIBE=59
OPTIMISTIC_REGISTER=60
CRDT=61
OPTIONAL_ONE=62
EXACTLY_ONE=63
MANY_UNIQUE=64
MANY=65
ORDERED=66
UNIT=67
WATCH_HANDLE=68
MESSAGE=69
ATOM_REF=70
INTERFACE_REF=71
OPTIONAL=72
LIST=73
BOOL=74
BYTES=75
DOUBLE=76
INT32=77
INT64=78
STRING=79
UINT32=80
UINT64=81
TRUE=82
FALSE=83
NULL=84
ARROW=85
COLON=86
SEMI=87
COMMA=88
DOT=89
LBRACE=90
RBRACE=91
LBRACK=92
RBRACK=93
LPAREN=94
RPAREN=95
LT=96
GT=97
INTEGER=98
JSON_NUMBER=99
IDENTIFIER=100
STRING_LITERAL=101
LINE_COMMENT=102
BLOCK_COMMENT=103
WS=104
'workspace'=1
'import'=2
'external'=3
'atom'=4
'interface'=5
'interfaces'=6
'package'=7
'value'=8
'relation'=9
'operation'=10
'function'=11
'constructor'=12
'constructs'=13
'conform'=14
'as'=15
'bind'=16
'to'=17
'private'=18
'shared'=19
'state'=20
'edge'=21
'projection'=22
'with'=23
'using'=24
'via'=25
'materialize'=26
'if'=27
'absent'=28
'on'=29
'policy'=30
'default'=31
'source'=32
'repository'=33
'commit'=34
'revision'=35
'id'=36
'doc'=37
'mode'=38
'emits'=39
'receiver'=40
'requires'=41
'any'=42
'get'=43
'set'=44
'watch'=45
'start'=46
'stop'=47
'read'=48
'write'=49
'resolve'=50
'connect'=51
'disconnect'=52
'call'=53
'watch-start'=54
'watch-stop'=55
'subscribe'=56
'unsubscribe'=57
'optimistic-register'=58
'crdt'=59
'optional-one'=60
'exactly-one'=61
'many-unique'=62
'many'=63
'ordered'=64
'unit'=65
'watch-handle'=66
'message'=67
'atom-ref'=68
'interface-ref'=69
'optional'=70
'list'=71
'bool'=72
'bytes'=73
'double'=74
'int32'=75
'int64'=76
'string'=77
'uint32'=78
'uint64'=79
'true'=80
'false'=81
'null'=82
'->'=83
':'=84
';'=85
','=86
'.'=87
'{'=88
'}'=89
'['=90
']'=91
'('=92
')'=93
'<'=94
'>'=95
'fragment'=2
'import'=3
'external'=4
'atom'=5
'interface'=6
'interfaces'=7
'package'=8
'value'=9
'relation'=10
'operation'=11
'function'=12
'constructor'=13
'constructs'=14
'input'=15
'conform'=16
'as'=17
'bind'=18
'to'=19
'private'=20
'shared'=21
'state'=22
'edge'=23
'projection'=24
'with'=25
'using'=26
'via'=27
'materialize'=28
'if'=29
'absent'=30
'on'=31
'policy'=32
'default'=33
'source'=34
'repository'=35
'commit'=36
'revision'=37
'id'=38
'doc'=39
'mode'=40
'emits'=41
'receiver'=42
'requires'=43
'any'=44
'get'=45
'set'=46
'watch'=47
'start'=48
'stop'=49
'read'=50
'write'=51
'resolve'=52
'connect'=53
'disconnect'=54
'call'=55
'watch-start'=56
'watch-stop'=57
'subscribe'=58
'unsubscribe'=59
'optimistic-register'=60
'crdt'=61
'optional-one'=62
'exactly-one'=63
'many-unique'=64
'many'=65
'ordered'=66
'unit'=67
'watch-handle'=68
'message'=69
'atom-ref'=70
'interface-ref'=71
'optional'=72
'list'=73
'bool'=74
'bytes'=75
'double'=76
'int32'=77
'int64'=78
'string'=79
'uint32'=80
'uint64'=81
'true'=82
'false'=83
'null'=84
'->'=85
':'=86
';'=87
','=88
'.'=89
'{'=90
'}'=91
'['=92
']'=93
'('=94
')'=95
'<'=96
'>'=97