From 887be4124809c84c7f6d7b276ac2fa4a4175836c Mon Sep 17 00:00:00 2001 From: Corey Johnson Date: Fri, 31 Oct 2025 10:06:47 -0700 Subject: [PATCH] Update generated files --- src/parser/shrimp.terms.ts | 31 ++++++++++++++++++------------- src/parser/shrimp.ts | 18 +++++++++--------- 2 files changed, 27 insertions(+), 22 deletions(-) diff --git a/src/parser/shrimp.terms.ts b/src/parser/shrimp.terms.ts index 54fae8a..ab4011b 100644 --- a/src/parser/shrimp.terms.ts +++ b/src/parser/shrimp.terms.ts @@ -44,16 +44,21 @@ export const FunctionDef = 42, Params = 43, colon = 44, - keyword = 59, - Underscore = 46, - Array = 47, - Null = 48, - ConditionalOp = 49, - PositionalArg = 50, - IfExpr = 52, - SingleLineThenBlock = 54, - ThenBlock = 55, - ElseIfExpr = 56, - ElseExpr = 58, - CompoundAssign = 60, - Assign = 61 + CatchExpr = 45, + keyword = 68, + TryBlock = 47, + FinallyExpr = 48, + Underscore = 51, + Array = 52, + Null = 53, + ConditionalOp = 54, + PositionalArg = 55, + TryExpr = 57, + Throw = 59, + IfExpr = 61, + SingleLineThenBlock = 63, + ThenBlock = 64, + ElseIfExpr = 65, + ElseExpr = 67, + CompoundAssign = 69, + Assign = 70 diff --git a/src/parser/shrimp.ts b/src/parser/shrimp.ts index 2f79c7c..172f6a7 100644 --- a/src/parser/shrimp.ts +++ b/src/parser/shrimp.ts @@ -4,14 +4,14 @@ import {operatorTokenizer} from "./operatorTokenizer" import {tokenizer, specializeKeyword} from "./tokenizer" import {trackScope} from "./scopeTracker" import {highlighting} from "./highlight" -const spec_Identifier = {__proto__:null,end:90, null:96, if:106, elseif:114, else:118} +const spec_Identifier = {__proto__:null,catch:92, finally:98, end:100, null:106, try:116, throw:120, if:124, elseif:132, else:136} export const parser = LRParser.deserialize({ version: 14, - states: "3bQYQbOOO#hQcO'#C{O$eOSO'#C}O$sQbO'#E]OOQ`'#DW'#DWOOQa'#DT'#DTO%vQbO'#D]O&{QcO'#EQOOQa'#EQ'#EQO)PQcO'#EPO)xQRO'#C|O*]QcO'#D{O*tQcO'#D{O+VQbO'#CzO+}OpO'#CxOOQ`'#D|'#D|O,SQbO'#D{O,bQbO'#EcOOQ`'#Db'#DbO-VQRO'#DjOOQ`'#D{'#D{O-kQQO'#DzOOQ`'#Dz'#DzOOQ`'#Dl'#DlQYQbOOO-sQbO'#DUOOQa'#EP'#EPOOQ`'#D`'#D`OOQ`'#Eb'#EbOOQ`'#Ds'#DsO-}QbO,59cO.bQbO'#DPO.jQWO'#DQOOOO'#ES'#ESOOOO'#Dm'#DmO/OOSO,59iOOQa,59i,59iOOQ`'#Do'#DoO/^QbO'#DXO/fQQO,5:wOOQ`'#Dn'#DnO/kQbO,59wO/rQQO,59oOOQa,59w,59wO/}QbO,59wO,bQbO,59hO,bQbO,59hO,bQbO,59hO,bQbO,59yO,bQbO,59yO,bQbO,59yO0XQRO,59fO0`QRO,59fO0qQRO,59fO0lQQO,59fO0|QQO,59fO1UObO,59dO1aQbO'#DtO1lQbO,59bO1}QRO,5:}O2UQRO,5:}O2aQbO,5:UO2aQbO,5:VOOQ`,5:f,5:fOOQ`-E7j-E7jOOQ`,59p,59pOOQ`-E7q-E7qOOOO,59k,59kOOOO,59l,59lOOOO-E7k-E7kOOQa1G/T1G/TOOQ`-E7m-E7mO2kQbO1G0cOOQ`-E7l-E7lO2xQQO1G/ZOOQa1G/c1G/cO3TQbO1G/cOOQO'#Dq'#DqO2xQQO1G/ZOOQa1G/Z1G/ZOOQ`'#Dr'#DrO3TQbO1G/cOOQa1G/S1G/SO3vQcO1G/SO4QQcO1G/SO4[QcO1G/SOOQa1G/e1G/eO5nQcO1G/eO5uQcO1G/eO5|QcO1G/eOOQa1G/Q1G/QOOQa1G/O1G/OO!ZQbO'#C{O%}QbO'#CwOOQ`,5:`,5:`OOQ`-E7r-E7rO6TQbO1G0iOOQ`1G/p1G/pOOQ`1G/q1G/qO6bQbO7+%}O6gQbO7+&OO6wQQO7+$uOOQa7+$u7+$uO7SQbO7+$}OOQa7+$}7+$}OOQO-E7o-E7oOOQ`-E7p-E7pOOQ`'#Dd'#DdO7^QbO7+&TO7cQbO7+&UOOQ`<RQbO<WQbO<`QbO<kQQO,59uO>pQbO,59xOOQ`<h#i#o7^#o#p#{#p#q@`#q;'S#{;'S;=`$d<%l~#{~O#{~~@yS$QUrSOt#{uw#{x#O#{#P;'S#{;'S;=`$d<%lO#{S$gP;=`<%l#{^$qUrS!lYOt#{uw#{x#O#{#P;'S#{;'S;=`$d<%lO#{U%[UrS#OQOt#{uw#{x#O#{#P;'S#{;'S;=`$d<%lO#{^%uZrS!mYOY%nYZ#{Zt%ntu&huw%nwx&hx#O%n#O#P&h#P;'S%n;'S;=`'P<%lO%nY&mS!mYOY&hZ;'S&h;'S;=`&y<%lO&hY&|P;=`<%l&h^'SP;=`<%l%n~'[O!w~~'aO!u~U'hUrS!rQOt#{uw#{x#O#{#P;'S#{;'S;=`$d<%lO#{U(RUrS#TQOt#{uw#{x#O#{#P;'S#{;'S;=`$d<%lO#{U(jWrSOt#{uw#{x!Q#{!Q![)S![#O#{#P;'S#{;'S;=`$d<%lO#{U)ZYrSmQOt#{uw#{x!O#{!O!P)y!P!Q#{!Q![)S![#O#{#P;'S#{;'S;=`$d<%lO#{U*OWrSOt#{uw#{x!Q#{!Q![*h![#O#{#P;'S#{;'S;=`$d<%lO#{U*oWrSmQOt#{uw#{x!Q#{!Q![*h![#O#{#P;'S#{;'S;=`$d<%lO#{U+^WrSOt#{uw#{x!P#{!P!Q+v!Q#O#{#P;'S#{;'S;=`$d<%lO#{U+{^rSOY,wYZ#{Zt,wtu-zuw,wwx-zx!P,w!P!Q#{!Q!},w!}#O2m#O#P0Y#P;'S,w;'S;=`3n<%lO,wU-O^rSvQOY,wYZ#{Zt,wtu-zuw,wwx-zx!P,w!P!Q0o!Q!},w!}#O2m#O#P0Y#P;'S,w;'S;=`3n<%lO,wQ.PXvQOY-zZ!P-z!P!Q.l!Q!}-z!}#O/Z#O#P0Y#P;'S-z;'S;=`0i<%lO-zQ.oP!P!Q.rQ.wUvQ#Z#[.r#]#^.r#a#b.r#g#h.r#i#j.r#m#n.rQ/^VOY/ZZ#O/Z#O#P/s#P#Q-z#Q;'S/Z;'S;=`0S<%lO/ZQ/vSOY/ZZ;'S/Z;'S;=`0S<%lO/ZQ0VP;=`<%l/ZQ0]SOY-zZ;'S-z;'S;=`0i<%lO-zQ0lP;=`<%l-zU0tWrSOt#{uw#{x!P#{!P!Q1^!Q#O#{#P;'S#{;'S;=`$d<%lO#{U1ebrSvQOt#{uw#{x#O#{#P#Z#{#Z#[1^#[#]#{#]#^1^#^#a#{#a#b1^#b#g#{#g#h1^#h#i#{#i#j1^#j#m#{#m#n1^#n;'S#{;'S;=`$d<%lO#{U2r[rSOY2mYZ#{Zt2mtu/Zuw2mwx/Zx#O2m#O#P/s#P#Q,w#Q;'S2m;'S;=`3h<%lO2mU3kP;=`<%l2mU3qP;=`<%l,wU3{UrS|QOt#{uw#{x#O#{#P;'S#{;'S;=`$d<%lO#{U4fW!}QrSOt#{uw#{x!_#{!_!`5O!`#O#{#P;'S#{;'S;=`$d<%lO#{U5TVrSOt#{uw#{x#O#{#P#Q5j#Q;'S#{;'S;=`$d<%lO#{U5qU!|QrSOt#{uw#{x#O#{#P;'S#{;'S;=`$d<%lO#{~6YO!x~U6aU#SQrSOt#{uw#{x#O#{#P;'S#{;'S;=`$d<%lO#{U6zUrS!OQOt#{uw#{x#O#{#P;'S#{;'S;=`$d<%lO#{U7cYrSOt#{uw#{x!_#{!_!`8R!`#O#{#P#T#{#T#o7^#o;'S#{;'S;=`$d<%lO#{U8YUyQrSOt#{uw#{x#O#{#P;'S#{;'S;=`$d<%lO#{U8qZrSOt#{uw#{x!_#{!_!`8R!`#O#{#P#T#{#T#U9d#U#o7^#o;'S#{;'S;=`$d<%lO#{U9i[rSOt#{uw#{x!_#{!_!`8R!`#O#{#P#T#{#T#`7^#`#a:_#a#o7^#o;'S#{;'S;=`$d<%lO#{U:d[rSOt#{uw#{x!_#{!_!`8R!`#O#{#P#T#{#T#g7^#g#h;Y#h#o7^#o;'S#{;'S;=`$d<%lO#{U;_[rSOt#{uw#{x!_#{!_!`8R!`#O#{#P#T#{#T#X7^#X#Yo[!zWrSOt#{uw#{x!_#{!_!`8R!`#O#{#P#T#{#T#f7^#f#g?e#g#o7^#o;'S#{;'S;=`$d<%lO#{U?j[rSOt#{uw#{x!_#{!_!`8R!`#O#{#P#T#{#T#i7^#i#j;Y#j#o7^#o;'S#{;'S;=`$d<%lO#{U@gU!TQrSOt#{uw#{x#O#{#P;'S#{;'S;=`$d<%lO#{~AOO#X~", - tokenizers: [operatorTokenizer, 1, 2, 3, tokenizer, new LocalTokenGroup("[~RP!O!PU~ZO!q~~", 11)], + tokenData: "AO~R|OX#{XY$jYZ%TZp#{pq$jqs#{st%ntu'Vuw#{wx'[xy'ayz'zz{#{{|(e|}#{}!O(e!O!P#{!P!Q+X!Q![)S![!]3t!]!^%T!^!}#{!}#O4_#O#P6T#P#Q6Y#Q#R#{#R#S6s#S#T#{#T#Y7^#Y#Z8l#Z#b7^#b#ch#i#o7^#o#p#{#p#q@`#q;'S#{;'S;=`$d<%l~#{~O#{~~@yS$QUrSOt#{uw#{x#O#{#P;'S#{;'S;=`$d<%lO#{S$gP;=`<%l#{^$qUrS!uYOt#{uw#{x#O#{#P;'S#{;'S;=`$d<%lO#{U%[UrS#XQOt#{uw#{x#O#{#P;'S#{;'S;=`$d<%lO#{^%uZrS!vYOY%nYZ#{Zt%ntu&huw%nwx&hx#O%n#O#P&h#P;'S%n;'S;=`'P<%lO%nY&mS!vYOY&hZ;'S&h;'S;=`&y<%lO&hY&|P;=`<%l&h^'SP;=`<%l%n~'[O#Q~~'aO#O~U'hUrS!{QOt#{uw#{x#O#{#P;'S#{;'S;=`$d<%lO#{U(RUrS#^QOt#{uw#{x#O#{#P;'S#{;'S;=`$d<%lO#{U(jWrSOt#{uw#{x!Q#{!Q![)S![#O#{#P;'S#{;'S;=`$d<%lO#{U)ZYrSmQOt#{uw#{x!O#{!O!P)y!P!Q#{!Q![)S![#O#{#P;'S#{;'S;=`$d<%lO#{U*OWrSOt#{uw#{x!Q#{!Q![*h![#O#{#P;'S#{;'S;=`$d<%lO#{U*oWrSmQOt#{uw#{x!Q#{!Q![*h![#O#{#P;'S#{;'S;=`$d<%lO#{U+^WrSOt#{uw#{x!P#{!P!Q+v!Q#O#{#P;'S#{;'S;=`$d<%lO#{U+{^rSOY,wYZ#{Zt,wtu-zuw,wwx-zx!P,w!P!Q#{!Q!},w!}#O2m#O#P0Y#P;'S,w;'S;=`3n<%lO,wU-O^rSvQOY,wYZ#{Zt,wtu-zuw,wwx-zx!P,w!P!Q0o!Q!},w!}#O2m#O#P0Y#P;'S,w;'S;=`3n<%lO,wQ.PXvQOY-zZ!P-z!P!Q.l!Q!}-z!}#O/Z#O#P0Y#P;'S-z;'S;=`0i<%lO-zQ.oP!P!Q.rQ.wUvQ#Z#[.r#]#^.r#a#b.r#g#h.r#i#j.r#m#n.rQ/^VOY/ZZ#O/Z#O#P/s#P#Q-z#Q;'S/Z;'S;=`0S<%lO/ZQ/vSOY/ZZ;'S/Z;'S;=`0S<%lO/ZQ0VP;=`<%l/ZQ0]SOY-zZ;'S-z;'S;=`0i<%lO-zQ0lP;=`<%l-zU0tWrSOt#{uw#{x!P#{!P!Q1^!Q#O#{#P;'S#{;'S;=`$d<%lO#{U1ebrSvQOt#{uw#{x#O#{#P#Z#{#Z#[1^#[#]#{#]#^1^#^#a#{#a#b1^#b#g#{#g#h1^#h#i#{#i#j1^#j#m#{#m#n1^#n;'S#{;'S;=`$d<%lO#{U2r[rSOY2mYZ#{Zt2mtu/Zuw2mwx/Zx#O2m#O#P/s#P#Q,w#Q;'S2m;'S;=`3h<%lO2mU3kP;=`<%l2mU3qP;=`<%l,wU3{UrS|QOt#{uw#{x#O#{#P;'S#{;'S;=`$d<%lO#{U4fW#WQrSOt#{uw#{x!_#{!_!`5O!`#O#{#P;'S#{;'S;=`$d<%lO#{U5TVrSOt#{uw#{x#O#{#P#Q5j#Q;'S#{;'S;=`$d<%lO#{U5qU#VQrSOt#{uw#{x#O#{#P;'S#{;'S;=`$d<%lO#{~6YO#R~U6aU#]QrSOt#{uw#{x#O#{#P;'S#{;'S;=`$d<%lO#{U6zUrS!TQOt#{uw#{x#O#{#P;'S#{;'S;=`$d<%lO#{U7cYrSOt#{uw#{x!_#{!_!`8R!`#O#{#P#T#{#T#o7^#o;'S#{;'S;=`$d<%lO#{U8YUyQrSOt#{uw#{x#O#{#P;'S#{;'S;=`$d<%lO#{U8qZrSOt#{uw#{x!_#{!_!`8R!`#O#{#P#T#{#T#U9d#U#o7^#o;'S#{;'S;=`$d<%lO#{U9i[rSOt#{uw#{x!_#{!_!`8R!`#O#{#P#T#{#T#`7^#`#a:_#a#o7^#o;'S#{;'S;=`$d<%lO#{U:d[rSOt#{uw#{x!_#{!_!`8R!`#O#{#P#T#{#T#g7^#g#h;Y#h#o7^#o;'S#{;'S;=`$d<%lO#{U;_[rSOt#{uw#{x!_#{!_!`8R!`#O#{#P#T#{#T#X7^#X#Yo[#TWrSOt#{uw#{x!_#{!_!`8R!`#O#{#P#T#{#T#f7^#f#g?e#g#o7^#o;'S#{;'S;=`$d<%lO#{U?j[rSOt#{uw#{x!_#{!_!`8R!`#O#{#P#T#{#T#i7^#i#j;Y#j#o7^#o;'S#{;'S;=`$d<%lO#{U@gU!YQrSOt#{uw#{x#O#{#P;'S#{;'S;=`$d<%lO#{~AOO#d~", + tokenizers: [operatorTokenizer, 1, 2, 3, tokenizer, new LocalTokenGroup("[~RP!O!PU~ZO!z~~", 11)], topRules: {"Program":[0,25]}, specialized: [{term: 20, get: (value: any, stack: any) => (specializeKeyword(value, stack) << 1), external: specializeKeyword},{term: 20, get: (value: keyof typeof spec_Identifier) => spec_Identifier[value] || -1}], - tokenPrec: 1150 + tokenPrec: 1562 })