cst: assign explicit values to SyntaxKind variants

This commit is contained in:
raf 2025-06-02 09:40:03 +03:00
commit 6f08d27a59
Signed by: NotAShelf
GPG key ID: 29D95B64378DB4BF

View file

@ -13,150 +13,150 @@ use thiserror::Error;
pub enum SyntaxKind {
// Root and containers
Root = 0,
Table,
Chain,
Rule,
Set,
Map,
Element,
Table = 1,
Chain = 2,
Rule = 3,
Set = 4,
Map = 5,
Element = 6,
// Expressions
Expression,
BinaryExpr,
UnaryExpr,
CallExpr,
SetExpr,
RangeExpr,
Expression = 7,
BinaryExpr = 8,
UnaryExpr = 9,
CallExpr = 10,
SetExpr = 11,
RangeExpr = 12,
// Statements
Statement,
IncludeStmt,
DefineStmt,
FlushStmt,
AddStmt,
DeleteStmt,
Statement = 13,
IncludeStmt = 14,
DefineStmt = 15,
FlushStmt = 16,
AddStmt = 17,
DeleteStmt = 18,
// Literals and identifiers
Identifier,
StringLiteral,
NumberLiteral,
IpAddress,
Ipv6Address,
MacAddress,
Identifier = 19,
StringLiteral = 20,
NumberLiteral = 21,
IpAddress = 22,
Ipv6Address = 23,
MacAddress = 24,
// Keywords
TableKw,
ChainKw,
RuleKw,
SetKw,
MapKw,
ElementKw,
IncludeKw,
DefineKw,
FlushKw,
AddKw,
DeleteKw,
InsertKw,
ReplaceKw,
TableKw = 25,
ChainKw = 26,
RuleKw = 27,
SetKw = 28,
MapKw = 29,
ElementKw = 30,
IncludeKw = 31,
DefineKw = 32,
FlushKw = 33,
AddKw = 34,
DeleteKw = 35,
InsertKw = 36,
ReplaceKw = 37,
// Chain types and hooks
FilterKw,
NatKw,
RouteKw,
InputKw,
OutputKw,
ForwardKw,
PreroutingKw,
PostroutingKw,
FilterKw = 38,
NatKw = 39,
RouteKw = 40,
InputKw = 41,
OutputKw = 42,
ForwardKw = 43,
PreroutingKw = 44,
PostroutingKw = 45,
// Protocols and families
IpKw,
Ip6Kw,
InetKw,
ArpKw,
BridgeKw,
NetdevKw,
TcpKw,
UdpKw,
IcmpKw,
Icmpv6Kw,
IpKw = 46,
Ip6Kw = 47,
InetKw = 48,
ArpKw = 49,
BridgeKw = 50,
NetdevKw = 51,
TcpKw = 52,
UdpKw = 53,
IcmpKw = 54,
Icmpv6Kw = 55,
// Match keywords
SportKw,
DportKw,
SaddrKw,
DaddrKw,
ProtocolKw,
NexthdrKw,
TypeKw,
HookKw,
PriorityKw,
PolicyKw,
IifnameKw,
OifnameKw,
CtKw,
StateKw,
SportKw = 56,
DportKw = 57,
SaddrKw = 58,
DaddrKw = 59,
ProtocolKw = 60,
NexthdrKw = 61,
TypeKw = 62,
HookKw = 63,
PriorityKw = 64,
PolicyKw = 65,
IifnameKw = 66,
OifnameKw = 67,
CtKw = 68,
StateKw = 69,
// Actions
AcceptKw,
DropKw,
RejectKw,
ReturnKw,
JumpKw,
GotoKw,
ContinueKw,
LogKw,
CommentKw,
AcceptKw = 70,
DropKw = 71,
RejectKw = 72,
ReturnKw = 73,
JumpKw = 74,
GotoKw = 75,
ContinueKw = 76,
LogKw = 77,
CommentKw = 78,
// States
EstablishedKw,
RelatedKw,
NewKw,
InvalidKw,
// Additional protocol keywords
VmapKw,
NdRouterAdvertKw,
NdNeighborSolicitKw,
NdNeighborAdvertKw,
EchoRequestKw,
DestUnreachableKw,
RouterAdvertisementKw,
TimeExceededKw,
ParameterProblemKw,
PacketTooBigKw,
EstablishedKw = 79,
RelatedKw = 80,
NewKw = 81,
InvalidKw = 82,
// Operators
EqOp,
NeOp,
LeOp,
GeOp,
LtOp,
GtOp,
EqOp = 83,
NeOp = 84,
LeOp = 85,
GeOp = 86,
LtOp = 87,
GtOp = 88,
// Punctuation
LeftBrace,
RightBrace,
LeftParen,
RightParen,
LeftBracket,
RightBracket,
Comma,
Semicolon,
Colon,
Assign,
Dash,
Slash,
Dot,
LeftBrace = 89,
RightBrace = 90,
LeftParen = 91,
RightParen = 92,
LeftBracket = 93,
RightBracket = 94,
Comma = 95,
Semicolon = 96,
Colon = 97,
Assign = 98,
Dash = 99,
Slash = 100,
Dot = 101,
// Trivia
Whitespace,
Newline,
Comment,
Shebang,
Whitespace = 102,
Newline = 103,
Comment = 104,
Shebang = 105,
// Error recovery
Error,
Error = 106,
// Additional protocol keywords
VmapKw = 107,
NdRouterAdvertKw = 108,
NdNeighborSolicitKw = 109,
NdNeighborAdvertKw = 110,
EchoRequestKw = 111,
DestUnreachableKw = 112,
RouterAdvertisementKw = 113,
TimeExceededKw = 114,
ParameterProblemKw = 115,
PacketTooBigKw = 116,
}
impl From<TokenKind> for SyntaxKind {