1use crate::Span;
7use pyo3::prelude::*;
8use forj_parser::{self, PreprocessorCache};
9
10#[pyclass(eq, from_py_object, module = "forj_python", str)]
12#[derive(Clone, PartialEq, Eq)]
13pub enum Token {
14 Error(),
15 Always(),
17 And(),
18 Assign(),
19 Begin(),
20 Buf(),
21 Bufif0(),
22 Bufif1(),
23 Case(),
24 Casex(),
25 Casez(),
26 Cmos(),
27 Deassign(),
28 Default(),
29 Defparam(),
30 Disable(),
31 Edge(),
32 Else(),
33 End(),
34 Endcase(),
35 Endfunction(),
36 Endmodule(),
37 Endprimitive(),
38 Endspecify(),
39 Endtable(),
40 Endtask(),
41 Event(),
42 For(),
43 Force(),
44 Forever(),
45 Fork(),
46 Function(),
47 Highz0(),
48 Highz1(),
49 If(),
50 Ifnone(),
51 Initial(),
52 Inout(),
53 Input(),
54 Integer(),
55 Join(),
56 Large(),
57 Macromodule(),
58 Medium(),
59 Module(),
60 Nand(),
61 Negedge(),
62 Nmos(),
63 Nor(),
64 Not(),
65 Notif0(),
66 Notif1(),
67 Or(),
68 Output(),
69 Parameter(),
70 Pmos(),
71 Posedge(),
72 Primitive(),
73 Pull0(),
74 Pull1(),
75 Pulldown(),
76 Pullup(),
77 Rcmos(),
78 Real(),
79 Realtime(),
80 Reg(),
81 Release(),
82 Repeat(),
83 Rnmos(),
84 Rpmos(),
85 Rtran(),
86 Rtranif0(),
87 Rtranif1(),
88 Scalared(),
89 Small(),
90 Specify(),
91 Specparam(),
92 Strong0(),
93 Strong1(),
94 Supply0(),
95 Supply1(),
96 Table(),
97 Task(),
98 Time(),
99 Tran(),
100 Tranif0(),
101 Tranif1(),
102 Tri(),
103 Tri0(),
104 Tri1(),
105 Triand(),
106 Trior(),
107 Trireg(),
108 Vectored(),
109 Wait(),
110 Wand(),
111 Weak0(),
112 Weak1(),
113 While(),
114 Wire(),
115 Wor(),
116 Xnor(),
117 Xor(),
118 Automatic(),
120 Cell(),
121 Config(),
122 Design(),
123 Endconfig(),
124 Endgenerate(),
125 Generate(),
126 Genvar(),
127 Incdir(),
128 Include(),
129 Instance(),
130 Liblist(),
131 Library(),
132 Localparam(),
133 Noshowcancelled(),
134 PulsestyleOndetect(),
135 PulsestyleOnevent(),
136 Showcancelled(),
137 Signed(),
138 Unsigned(),
139 Use(),
140 Uwire(),
142 Alias(),
144 AlwaysComb(),
145 AlwaysFf(),
146 AlwaysLatch(),
147 Assert(),
148 Assume(),
149 Before(),
150 Bind(),
151 Bins(),
152 Binsof(),
153 Bit(),
154 Break(),
155 Byte(),
156 Chandle(),
157 Class(),
158 Clocking(),
159 Const(),
160 Constraint(),
161 Context(),
162 Continue(),
163 Cover(),
164 Covergroup(),
165 Coverpoint(),
166 Cross(),
167 Dist(),
168 Do(),
169 Endclass(),
170 Endclocking(),
171 Endgroup(),
172 Endinterface(),
173 Endpackage(),
174 Endprogram(),
175 Endproperty(),
176 Endsequence(),
177 Enum(),
178 Expect(),
179 Export(),
180 Extends(),
181 Extern(),
182 Final(),
183 FirstMatch(),
184 Foreach(),
185 Forkjoin(),
186 Iff(),
187 IgnoreBins(),
188 IllegalBins(),
189 Import(),
190 Inside(),
191 Int(),
192 Interface(),
193 Intersect(),
194 JoinAny(),
195 JoinNone(),
196 Local(),
197 Logic(),
198 Longint(),
199 Matches(),
200 Modport(),
201 New(),
202 Null(),
203 Package(),
204 Packed(),
205 Priority(),
206 Program(),
207 Property(),
208 Protected(),
209 Pure(),
210 Rand(),
211 Randc(),
212 Randcase(),
213 Randsequence(),
214 Ref(),
215 Return(),
216 Sequence(),
217 Shortint(),
218 Shortreal(),
219 Solve(),
220 Static(),
221 String(),
222 Struct(),
223 Super(),
224 Tagged(),
225 This(),
226 Throughout(),
227 Timeprecision(),
228 Timeunit(),
229 Type(),
230 Typedef(),
231 Union(),
232 Unique(),
233 Var(),
234 Virtual(),
235 Void(),
236 WaitOrder(),
237 Wildcard(),
238 With(),
239 Within(),
240 AcceptOn(),
242 Checker(),
243 Endchecker(),
244 Eventually(),
245 Global(),
246 Implies(),
247 Let(),
248 Nexttime(),
249 RejectOn(),
250 Restrict(),
251 SAlways(),
252 SEventually(),
253 SNexttime(),
254 SUntil(),
255 SUntilWith(),
256 Strong(),
257 SyncAcceptOn(),
258 SyncRejectOn(),
259 Unique0(),
260 Until(),
261 UntilWith(),
262 Untyped(),
263 Weak(),
264 Implements(),
266 Interconnect(),
267 Nettype(),
268 Soft(),
269 DirUnderscoreFile(),
271 DirUnderscoreLine(),
272 DirBeginKeywords(),
273 DirCelldefine(),
274 DirDefaultNettype(),
275 DirDefine(),
276 DirElse(),
277 DirElsif(),
278 DirEndKeywords(),
279 DirEndcelldefine(),
280 DirEndif(),
281 DirIfdef(),
282 DirIfndef(),
283 DirInclude(),
284 DirLine(),
285 DirNounconnectedDrive(),
286 DirPragma(),
287 DirResetall(),
288 DirTimescale(),
289 DirUnconnectedDrive(),
290 DirUndef(),
291 DirUndefineall(),
292 Plus(),
294 Minus(),
295 Exclamation(),
296 Quest(),
297 Tilde(),
298 Amp(),
299 TildeAmp(),
300 Pipe(),
301 TildePipe(),
302 Caret(),
303 TildeCaret(),
304 CaretTilde(),
305 Star(),
306 Slash(),
307 Percent(),
308 EqEq(),
309 ExclEq(),
310 PlusEq(),
311 MinusEq(),
312 StarEq(),
313 SlashEq(),
314 PercentEq(),
315 AmpEq(),
316 PipeEq(),
317 CaretEq(),
318 EqEqEq(),
319 ExclEqEq(),
320 EqEqQuest(),
321 ExclEqQuest(),
322 AmpAmp(),
323 AmpAmpAmp(),
324 PipePipe(),
325 StarStar(),
326 Lt(),
327 LtEq(),
328 Gt(),
329 GtEq(),
330 GtGt(),
331 LtLt(),
332 GtGtEq(),
333 LtLtEq(),
334 GtGtGt(),
335 LtLtLt(),
336 GtGtGtEq(),
337 LtLtLtEq(),
338 MinusGt(),
339 MinusGtGt(),
340 LtMinusGt(),
341 PlusPlus(),
342 MinusMinus(),
343 PlusColon(),
344 MinusColon(),
345 PlusSlashMinus(),
346 PlusPercentMinus(),
347 Paren(),
349 EParen(),
350 Bracket(),
351 EBracket(),
352 Brace(),
353 EBrace(),
354 Colon(),
355 SColon(),
356 Apost(),
357 Comma(),
358 Period(),
359 Pound(),
360 Dollar(),
361 At(),
362 AtAt(),
363 Eq(),
364 ColonColon(),
365 ColonEq(),
366 ColonSlash(),
367 PoundPound(),
368 PoundMinusPound(),
369 PoundEqPound(),
370 EqGt(),
371 StarGt(),
372 PipeMinusGt(),
373 PipeEqGt(),
374 Bslash(),
375 Std(),
377 PathpulseDollar(),
378 Option(),
379 TypeOption(),
380 Randomize(),
381 Sample(),
382 OneStep(),
383 DollarSetup(),
384 DollarHold(),
385 DollarSetuphold(),
386 DollarRecovery(),
387 DollarRemoval(),
388 DollarRecrem(),
389 DollarSkew(),
390 DollarTimeskew(),
391 DollarFullskew(),
392 DollarPeriod(),
393 DollarWidth(),
394 DollarNochange(),
395 DollarRoot(),
396 DollarUnit(),
397 DollarFatal(),
398 DollarError(),
399 DollarWarning(),
400 DollarInfo(),
401 OnelineComment { text: String },
403 BlockComment { text: String },
404 UnsignedNumber { text: String },
406 FixedPointNumber { text: String },
407 BinaryNumber { text: String },
408 OctalNumber { text: String },
409 DecimalNumber { text: String },
410 HexNumber { text: String },
411 ScientificNumber { text: String },
412 UnbasedUnsizedLiteral { text: String },
413 SystemTfIdentifier { text: String },
415 SimpleIdentifier { text: String },
416 EscapedIdentifier { text: String },
417 PreprocessorIdentifier { text: String },
418 TextMacro { text: String },
419 ConcatenatedTextMacro { text: String },
420 StringLiteral { text: String },
421 PreprocessorStringLiteral { text: String },
422 TripleQuoteStringLiteral { text: String },
423 PreprocessorTripleQuoteStringLiteral { text: String },
424 Newline(),
425}
426
427impl std::fmt::Display for Token {
428 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
429 let rust_token: forj_parser::Token<'_> = self.into();
430 rust_token.fmt(f)
431 }
432}
433
434impl<'a> From<forj_parser::Token<'a>> for Token {
435 fn from(value: forj_parser::Token<'a>) -> Self {
436 match value {
437 forj_parser::Token::Error => Token::Error(),
438 forj_parser::Token::Always => Token::Always(),
439 forj_parser::Token::And => Token::And(),
440 forj_parser::Token::Assign => Token::Assign(),
441 forj_parser::Token::Begin => Token::Begin(),
442 forj_parser::Token::Buf => Token::Buf(),
443 forj_parser::Token::Bufif0 => Token::Bufif0(),
444 forj_parser::Token::Bufif1 => Token::Bufif1(),
445 forj_parser::Token::Case => Token::Case(),
446 forj_parser::Token::Casex => Token::Casex(),
447 forj_parser::Token::Casez => Token::Casez(),
448 forj_parser::Token::Cmos => Token::Cmos(),
449 forj_parser::Token::Deassign => Token::Deassign(),
450 forj_parser::Token::Default => Token::Default(),
451 forj_parser::Token::Defparam => Token::Defparam(),
452 forj_parser::Token::Disable => Token::Disable(),
453 forj_parser::Token::Edge => Token::Edge(),
454 forj_parser::Token::Else => Token::Else(),
455 forj_parser::Token::End => Token::End(),
456 forj_parser::Token::Endcase => Token::Endcase(),
457 forj_parser::Token::Endfunction => Token::Endfunction(),
458 forj_parser::Token::Endmodule => Token::Endmodule(),
459 forj_parser::Token::Endprimitive => Token::Endprimitive(),
460 forj_parser::Token::Endspecify => Token::Endspecify(),
461 forj_parser::Token::Endtable => Token::Endtable(),
462 forj_parser::Token::Endtask => Token::Endtask(),
463 forj_parser::Token::Event => Token::Event(),
464 forj_parser::Token::For => Token::For(),
465 forj_parser::Token::Force => Token::Force(),
466 forj_parser::Token::Forever => Token::Forever(),
467 forj_parser::Token::Fork => Token::Fork(),
468 forj_parser::Token::Function => Token::Function(),
469 forj_parser::Token::Highz0 => Token::Highz0(),
470 forj_parser::Token::Highz1 => Token::Highz1(),
471 forj_parser::Token::If => Token::If(),
472 forj_parser::Token::Ifnone => Token::Ifnone(),
473 forj_parser::Token::Initial => Token::Initial(),
474 forj_parser::Token::Inout => Token::Inout(),
475 forj_parser::Token::Input => Token::Input(),
476 forj_parser::Token::Integer => Token::Integer(),
477 forj_parser::Token::Join => Token::Join(),
478 forj_parser::Token::Large => Token::Large(),
479 forj_parser::Token::Macromodule => Token::Macromodule(),
480 forj_parser::Token::Medium => Token::Medium(),
481 forj_parser::Token::Module => Token::Module(),
482 forj_parser::Token::Nand => Token::Nand(),
483 forj_parser::Token::Negedge => Token::Negedge(),
484 forj_parser::Token::Nmos => Token::Nmos(),
485 forj_parser::Token::Nor => Token::Nor(),
486 forj_parser::Token::Not => Token::Not(),
487 forj_parser::Token::Notif0 => Token::Notif0(),
488 forj_parser::Token::Notif1 => Token::Notif1(),
489 forj_parser::Token::Or => Token::Or(),
490 forj_parser::Token::Output => Token::Output(),
491 forj_parser::Token::Parameter => Token::Parameter(),
492 forj_parser::Token::Pmos => Token::Pmos(),
493 forj_parser::Token::Posedge => Token::Posedge(),
494 forj_parser::Token::Primitive => Token::Primitive(),
495 forj_parser::Token::Pull0 => Token::Pull0(),
496 forj_parser::Token::Pull1 => Token::Pull1(),
497 forj_parser::Token::Pulldown => Token::Pulldown(),
498 forj_parser::Token::Pullup => Token::Pullup(),
499 forj_parser::Token::Rcmos => Token::Rcmos(),
500 forj_parser::Token::Real => Token::Real(),
501 forj_parser::Token::Realtime => Token::Realtime(),
502 forj_parser::Token::Reg => Token::Reg(),
503 forj_parser::Token::Release => Token::Release(),
504 forj_parser::Token::Repeat => Token::Repeat(),
505 forj_parser::Token::Rnmos => Token::Rnmos(),
506 forj_parser::Token::Rpmos => Token::Rpmos(),
507 forj_parser::Token::Rtran => Token::Rtran(),
508 forj_parser::Token::Rtranif0 => Token::Rtranif0(),
509 forj_parser::Token::Rtranif1 => Token::Rtranif1(),
510 forj_parser::Token::Scalared => Token::Scalared(),
511 forj_parser::Token::Small => Token::Small(),
512 forj_parser::Token::Specify => Token::Specify(),
513 forj_parser::Token::Specparam => Token::Specparam(),
514 forj_parser::Token::Strong0 => Token::Strong0(),
515 forj_parser::Token::Strong1 => Token::Strong1(),
516 forj_parser::Token::Supply0 => Token::Supply0(),
517 forj_parser::Token::Supply1 => Token::Supply1(),
518 forj_parser::Token::Table => Token::Table(),
519 forj_parser::Token::Task => Token::Task(),
520 forj_parser::Token::Time => Token::Time(),
521 forj_parser::Token::Tran => Token::Tran(),
522 forj_parser::Token::Tranif0 => Token::Tranif0(),
523 forj_parser::Token::Tranif1 => Token::Tranif1(),
524 forj_parser::Token::Tri => Token::Tri(),
525 forj_parser::Token::Tri0 => Token::Tri0(),
526 forj_parser::Token::Tri1 => Token::Tri1(),
527 forj_parser::Token::Triand => Token::Triand(),
528 forj_parser::Token::Trior => Token::Trior(),
529 forj_parser::Token::Trireg => Token::Trireg(),
530 forj_parser::Token::Vectored => Token::Vectored(),
531 forj_parser::Token::Wait => Token::Wait(),
532 forj_parser::Token::Wand => Token::Wand(),
533 forj_parser::Token::Weak0 => Token::Weak0(),
534 forj_parser::Token::Weak1 => Token::Weak1(),
535 forj_parser::Token::While => Token::While(),
536 forj_parser::Token::Wire => Token::Wire(),
537 forj_parser::Token::Wor => Token::Wor(),
538 forj_parser::Token::Xnor => Token::Xnor(),
539 forj_parser::Token::Xor => Token::Xor(),
540 forj_parser::Token::Automatic => Token::Automatic(),
541 forj_parser::Token::Cell => Token::Cell(),
542 forj_parser::Token::Config => Token::Config(),
543 forj_parser::Token::Design => Token::Design(),
544 forj_parser::Token::Endconfig => Token::Endconfig(),
545 forj_parser::Token::Endgenerate => Token::Endgenerate(),
546 forj_parser::Token::Generate => Token::Generate(),
547 forj_parser::Token::Genvar => Token::Genvar(),
548 forj_parser::Token::Incdir => Token::Incdir(),
549 forj_parser::Token::Include => Token::Include(),
550 forj_parser::Token::Instance => Token::Instance(),
551 forj_parser::Token::Liblist => Token::Liblist(),
552 forj_parser::Token::Library => Token::Library(),
553 forj_parser::Token::Localparam => Token::Localparam(),
554 forj_parser::Token::Noshowcancelled => Token::Noshowcancelled(),
555 forj_parser::Token::PulsestyleOndetect => {
556 Token::PulsestyleOndetect()
557 }
558 forj_parser::Token::PulsestyleOnevent => {
559 Token::PulsestyleOnevent()
560 }
561 forj_parser::Token::Showcancelled => Token::Showcancelled(),
562 forj_parser::Token::Signed => Token::Signed(),
563 forj_parser::Token::Unsigned => Token::Unsigned(),
564 forj_parser::Token::Use => Token::Use(),
565 forj_parser::Token::Uwire => Token::Uwire(),
566 forj_parser::Token::Alias => Token::Alias(),
567 forj_parser::Token::AlwaysComb => Token::AlwaysComb(),
568 forj_parser::Token::AlwaysFf => Token::AlwaysFf(),
569 forj_parser::Token::AlwaysLatch => Token::AlwaysLatch(),
570 forj_parser::Token::Assert => Token::Assert(),
571 forj_parser::Token::Assume => Token::Assume(),
572 forj_parser::Token::Before => Token::Before(),
573 forj_parser::Token::Bind => Token::Bind(),
574 forj_parser::Token::Bins => Token::Bins(),
575 forj_parser::Token::Binsof => Token::Binsof(),
576 forj_parser::Token::Bit => Token::Bit(),
577 forj_parser::Token::Break => Token::Break(),
578 forj_parser::Token::Byte => Token::Byte(),
579 forj_parser::Token::Chandle => Token::Chandle(),
580 forj_parser::Token::Class => Token::Class(),
581 forj_parser::Token::Clocking => Token::Clocking(),
582 forj_parser::Token::Const => Token::Const(),
583 forj_parser::Token::Constraint => Token::Constraint(),
584 forj_parser::Token::Context => Token::Context(),
585 forj_parser::Token::Continue => Token::Continue(),
586 forj_parser::Token::Cover => Token::Cover(),
587 forj_parser::Token::Covergroup => Token::Covergroup(),
588 forj_parser::Token::Coverpoint => Token::Coverpoint(),
589 forj_parser::Token::Cross => Token::Cross(),
590 forj_parser::Token::Dist => Token::Dist(),
591 forj_parser::Token::Do => Token::Do(),
592 forj_parser::Token::Endclass => Token::Endclass(),
593 forj_parser::Token::Endclocking => Token::Endclocking(),
594 forj_parser::Token::Endgroup => Token::Endgroup(),
595 forj_parser::Token::Endinterface => Token::Endinterface(),
596 forj_parser::Token::Endpackage => Token::Endpackage(),
597 forj_parser::Token::Endprogram => Token::Endprogram(),
598 forj_parser::Token::Endproperty => Token::Endproperty(),
599 forj_parser::Token::Endsequence => Token::Endsequence(),
600 forj_parser::Token::Enum => Token::Enum(),
601 forj_parser::Token::Expect => Token::Expect(),
602 forj_parser::Token::Export => Token::Export(),
603 forj_parser::Token::Extends => Token::Extends(),
604 forj_parser::Token::Extern => Token::Extern(),
605 forj_parser::Token::Final => Token::Final(),
606 forj_parser::Token::FirstMatch => Token::FirstMatch(),
607 forj_parser::Token::Foreach => Token::Foreach(),
608 forj_parser::Token::Forkjoin => Token::Forkjoin(),
609 forj_parser::Token::Iff => Token::Iff(),
610 forj_parser::Token::IgnoreBins => Token::IgnoreBins(),
611 forj_parser::Token::IllegalBins => Token::IllegalBins(),
612 forj_parser::Token::Import => Token::Import(),
613 forj_parser::Token::Inside => Token::Inside(),
614 forj_parser::Token::Int => Token::Int(),
615 forj_parser::Token::Interface => Token::Interface(),
616 forj_parser::Token::Intersect => Token::Intersect(),
617 forj_parser::Token::JoinAny => Token::JoinAny(),
618 forj_parser::Token::JoinNone => Token::JoinNone(),
619 forj_parser::Token::Local => Token::Local(),
620 forj_parser::Token::Logic => Token::Logic(),
621 forj_parser::Token::Longint => Token::Longint(),
622 forj_parser::Token::Matches => Token::Matches(),
623 forj_parser::Token::Modport => Token::Modport(),
624 forj_parser::Token::New => Token::New(),
625 forj_parser::Token::Null => Token::Null(),
626 forj_parser::Token::Package => Token::Package(),
627 forj_parser::Token::Packed => Token::Packed(),
628 forj_parser::Token::Priority => Token::Priority(),
629 forj_parser::Token::Program => Token::Program(),
630 forj_parser::Token::Property => Token::Property(),
631 forj_parser::Token::Protected => Token::Protected(),
632 forj_parser::Token::Pure => Token::Pure(),
633 forj_parser::Token::Rand => Token::Rand(),
634 forj_parser::Token::Randc => Token::Randc(),
635 forj_parser::Token::Randcase => Token::Randcase(),
636 forj_parser::Token::Randsequence => Token::Randsequence(),
637 forj_parser::Token::Ref => Token::Ref(),
638 forj_parser::Token::Return => Token::Return(),
639 forj_parser::Token::Sequence => Token::Sequence(),
640 forj_parser::Token::Shortint => Token::Shortint(),
641 forj_parser::Token::Shortreal => Token::Shortreal(),
642 forj_parser::Token::Solve => Token::Solve(),
643 forj_parser::Token::Static => Token::Static(),
644 forj_parser::Token::String => Token::String(),
645 forj_parser::Token::Struct => Token::Struct(),
646 forj_parser::Token::Super => Token::Super(),
647 forj_parser::Token::Tagged => Token::Tagged(),
648 forj_parser::Token::This => Token::This(),
649 forj_parser::Token::Throughout => Token::Throughout(),
650 forj_parser::Token::Timeprecision => Token::Timeprecision(),
651 forj_parser::Token::Timeunit => Token::Timeunit(),
652 forj_parser::Token::Type => Token::Type(),
653 forj_parser::Token::Typedef => Token::Typedef(),
654 forj_parser::Token::Union => Token::Union(),
655 forj_parser::Token::Unique => Token::Unique(),
656 forj_parser::Token::Var => Token::Var(),
657 forj_parser::Token::Virtual => Token::Virtual(),
658 forj_parser::Token::Void => Token::Void(),
659 forj_parser::Token::WaitOrder => Token::WaitOrder(),
660 forj_parser::Token::Wildcard => Token::Wildcard(),
661 forj_parser::Token::With => Token::With(),
662 forj_parser::Token::Within => Token::Within(),
663 forj_parser::Token::AcceptOn => Token::AcceptOn(),
664 forj_parser::Token::Checker => Token::Checker(),
665 forj_parser::Token::Endchecker => Token::Endchecker(),
666 forj_parser::Token::Eventually => Token::Eventually(),
667 forj_parser::Token::Global => Token::Global(),
668 forj_parser::Token::Implies => Token::Implies(),
669 forj_parser::Token::Let => Token::Let(),
670 forj_parser::Token::Nexttime => Token::Nexttime(),
671 forj_parser::Token::RejectOn => Token::RejectOn(),
672 forj_parser::Token::Restrict => Token::Restrict(),
673 forj_parser::Token::SAlways => Token::SAlways(),
674 forj_parser::Token::SEventually => Token::SEventually(),
675 forj_parser::Token::SNexttime => Token::SNexttime(),
676 forj_parser::Token::SUntil => Token::SUntil(),
677 forj_parser::Token::SUntilWith => Token::SUntilWith(),
678 forj_parser::Token::Strong => Token::Strong(),
679 forj_parser::Token::SyncAcceptOn => Token::SyncAcceptOn(),
680 forj_parser::Token::SyncRejectOn => Token::SyncRejectOn(),
681 forj_parser::Token::Unique0 => Token::Unique0(),
682 forj_parser::Token::Until => Token::Until(),
683 forj_parser::Token::UntilWith => Token::UntilWith(),
684 forj_parser::Token::Untyped => Token::Untyped(),
685 forj_parser::Token::Weak => Token::Weak(),
686 forj_parser::Token::Implements => Token::Implements(),
687 forj_parser::Token::Interconnect => Token::Interconnect(),
688 forj_parser::Token::Nettype => Token::Nettype(),
689 forj_parser::Token::Soft => Token::Soft(),
690 forj_parser::Token::DirUnderscoreFile => {
691 Token::DirUnderscoreFile()
692 }
693 forj_parser::Token::DirUnderscoreLine => {
694 Token::DirUnderscoreLine()
695 }
696 forj_parser::Token::DirBeginKeywords => Token::DirBeginKeywords(),
697 forj_parser::Token::DirCelldefine => Token::DirCelldefine(),
698 forj_parser::Token::DirDefaultNettype => {
699 Token::DirDefaultNettype()
700 }
701 forj_parser::Token::DirDefine => Token::DirDefine(),
702 forj_parser::Token::DirElse => Token::DirElse(),
703 forj_parser::Token::DirElsif => Token::DirElsif(),
704 forj_parser::Token::DirEndKeywords => Token::DirEndKeywords(),
705 forj_parser::Token::DirEndcelldefine => Token::DirEndcelldefine(),
706 forj_parser::Token::DirEndif => Token::DirEndif(),
707 forj_parser::Token::DirIfdef => Token::DirIfdef(),
708 forj_parser::Token::DirIfndef => Token::DirIfndef(),
709 forj_parser::Token::DirInclude => Token::DirInclude(),
710 forj_parser::Token::DirLine => Token::DirLine(),
711 forj_parser::Token::DirNounconnectedDrive => {
712 Token::DirNounconnectedDrive()
713 }
714 forj_parser::Token::DirPragma => Token::DirPragma(),
715 forj_parser::Token::DirResetall => Token::DirResetall(),
716 forj_parser::Token::DirTimescale => Token::DirTimescale(),
717 forj_parser::Token::DirUnconnectedDrive => {
718 Token::DirUnconnectedDrive()
719 }
720 forj_parser::Token::DirUndef => Token::DirUndef(),
721 forj_parser::Token::DirUndefineall => Token::DirUndefineall(),
722 forj_parser::Token::Plus => Token::Plus(),
723 forj_parser::Token::Minus => Token::Minus(),
724 forj_parser::Token::Exclamation => Token::Exclamation(),
725 forj_parser::Token::Quest => Token::Quest(),
726 forj_parser::Token::Tilde => Token::Tilde(),
727 forj_parser::Token::Amp => Token::Amp(),
728 forj_parser::Token::TildeAmp => Token::TildeAmp(),
729 forj_parser::Token::Pipe => Token::Pipe(),
730 forj_parser::Token::TildePipe => Token::TildePipe(),
731 forj_parser::Token::Caret => Token::Caret(),
732 forj_parser::Token::TildeCaret => Token::TildeCaret(),
733 forj_parser::Token::CaretTilde => Token::CaretTilde(),
734 forj_parser::Token::Star => Token::Star(),
735 forj_parser::Token::Slash => Token::Slash(),
736 forj_parser::Token::Percent => Token::Percent(),
737 forj_parser::Token::EqEq => Token::EqEq(),
738 forj_parser::Token::ExclEq => Token::ExclEq(),
739 forj_parser::Token::PlusEq => Token::PlusEq(),
740 forj_parser::Token::MinusEq => Token::MinusEq(),
741 forj_parser::Token::StarEq => Token::StarEq(),
742 forj_parser::Token::SlashEq => Token::SlashEq(),
743 forj_parser::Token::PercentEq => Token::PercentEq(),
744 forj_parser::Token::AmpEq => Token::AmpEq(),
745 forj_parser::Token::PipeEq => Token::PipeEq(),
746 forj_parser::Token::CaretEq => Token::CaretEq(),
747 forj_parser::Token::EqEqEq => Token::EqEqEq(),
748 forj_parser::Token::ExclEqEq => Token::ExclEqEq(),
749 forj_parser::Token::EqEqQuest => Token::EqEqQuest(),
750 forj_parser::Token::ExclEqQuest => Token::ExclEqQuest(),
751 forj_parser::Token::AmpAmp => Token::AmpAmp(),
752 forj_parser::Token::AmpAmpAmp => Token::AmpAmpAmp(),
753 forj_parser::Token::PipePipe => Token::PipePipe(),
754 forj_parser::Token::StarStar => Token::StarStar(),
755 forj_parser::Token::Lt => Token::Lt(),
756 forj_parser::Token::LtEq => Token::LtEq(),
757 forj_parser::Token::Gt => Token::Gt(),
758 forj_parser::Token::GtEq => Token::GtEq(),
759 forj_parser::Token::GtGt => Token::GtGt(),
760 forj_parser::Token::LtLt => Token::LtLt(),
761 forj_parser::Token::GtGtEq => Token::GtGtEq(),
762 forj_parser::Token::LtLtEq => Token::LtLtEq(),
763 forj_parser::Token::GtGtGt => Token::GtGtGt(),
764 forj_parser::Token::LtLtLt => Token::LtLtLt(),
765 forj_parser::Token::GtGtGtEq => Token::GtGtGtEq(),
766 forj_parser::Token::LtLtLtEq => Token::LtLtLtEq(),
767 forj_parser::Token::MinusGt => Token::MinusGt(),
768 forj_parser::Token::MinusGtGt => Token::MinusGtGt(),
769 forj_parser::Token::LtMinusGt => Token::LtMinusGt(),
770 forj_parser::Token::PlusPlus => Token::PlusPlus(),
771 forj_parser::Token::MinusMinus => Token::MinusMinus(),
772 forj_parser::Token::PlusColon => Token::PlusColon(),
773 forj_parser::Token::MinusColon => Token::MinusColon(),
774 forj_parser::Token::PlusSlashMinus => Token::PlusSlashMinus(),
775 forj_parser::Token::PlusPercentMinus => Token::PlusPercentMinus(),
776 forj_parser::Token::Paren => Token::Paren(),
777 forj_parser::Token::EParen => Token::EParen(),
778 forj_parser::Token::Bracket => Token::Bracket(),
779 forj_parser::Token::EBracket => Token::EBracket(),
780 forj_parser::Token::Brace => Token::Brace(),
781 forj_parser::Token::EBrace => Token::EBrace(),
782 forj_parser::Token::Colon => Token::Colon(),
783 forj_parser::Token::SColon => Token::SColon(),
784 forj_parser::Token::Apost => Token::Apost(),
785 forj_parser::Token::Comma => Token::Comma(),
786 forj_parser::Token::Period => Token::Period(),
787 forj_parser::Token::Pound => Token::Pound(),
788 forj_parser::Token::Dollar => Token::Dollar(),
789 forj_parser::Token::At => Token::At(),
790 forj_parser::Token::AtAt => Token::AtAt(),
791 forj_parser::Token::Eq => Token::Eq(),
792 forj_parser::Token::ColonColon => Token::ColonColon(),
793 forj_parser::Token::ColonEq => Token::ColonEq(),
794 forj_parser::Token::ColonSlash => Token::ColonSlash(),
795 forj_parser::Token::PoundPound => Token::PoundPound(),
796 forj_parser::Token::PoundMinusPound => Token::PoundMinusPound(),
797 forj_parser::Token::PoundEqPound => Token::PoundEqPound(),
798 forj_parser::Token::EqGt => Token::EqGt(),
799 forj_parser::Token::StarGt => Token::StarGt(),
800 forj_parser::Token::PipeMinusGt => Token::PipeMinusGt(),
801 forj_parser::Token::PipeEqGt => Token::PipeEqGt(),
802 forj_parser::Token::Bslash => Token::Bslash(),
803 forj_parser::Token::Std => Token::Std(),
804 forj_parser::Token::PathpulseDollar => Token::PathpulseDollar(),
805 forj_parser::Token::Option => Token::Option(),
806 forj_parser::Token::TypeOption => Token::TypeOption(),
807 forj_parser::Token::Randomize => Token::Randomize(),
808 forj_parser::Token::Sample => Token::Sample(),
809 forj_parser::Token::OneStep => Token::OneStep(),
810 forj_parser::Token::DollarSetup => Token::DollarSetup(),
811 forj_parser::Token::DollarHold => Token::DollarHold(),
812 forj_parser::Token::DollarSetuphold => Token::DollarSetuphold(),
813 forj_parser::Token::DollarRecovery => Token::DollarRecovery(),
814 forj_parser::Token::DollarRemoval => Token::DollarRemoval(),
815 forj_parser::Token::DollarRecrem => Token::DollarRecrem(),
816 forj_parser::Token::DollarSkew => Token::DollarSkew(),
817 forj_parser::Token::DollarTimeskew => Token::DollarTimeskew(),
818 forj_parser::Token::DollarFullskew => Token::DollarFullskew(),
819 forj_parser::Token::DollarPeriod => Token::DollarPeriod(),
820 forj_parser::Token::DollarWidth => Token::DollarWidth(),
821 forj_parser::Token::DollarNochange => Token::DollarNochange(),
822 forj_parser::Token::DollarRoot => Token::DollarRoot(),
823 forj_parser::Token::DollarUnit => Token::DollarUnit(),
824 forj_parser::Token::DollarFatal => Token::DollarFatal(),
825 forj_parser::Token::DollarError => Token::DollarError(),
826 forj_parser::Token::DollarWarning => Token::DollarWarning(),
827 forj_parser::Token::DollarInfo => Token::DollarInfo(),
828 forj_parser::Token::OnelineComment(str) => Token::OnelineComment {
829 text: str.to_string(),
830 },
831 forj_parser::Token::BlockComment(str) => Token::BlockComment {
832 text: str.to_string(),
833 },
834 forj_parser::Token::UnsignedNumber(str) => Token::UnsignedNumber {
835 text: str.to_string(),
836 },
837 forj_parser::Token::FixedPointNumber(str) => {
838 Token::FixedPointNumber {
839 text: str.to_string(),
840 }
841 }
842 forj_parser::Token::BinaryNumber(str) => Token::BinaryNumber {
843 text: str.to_string(),
844 },
845 forj_parser::Token::OctalNumber(str) => Token::OctalNumber {
846 text: str.to_string(),
847 },
848 forj_parser::Token::DecimalNumber(str) => Token::DecimalNumber {
849 text: str.to_string(),
850 },
851 forj_parser::Token::HexNumber(str) => Token::HexNumber {
852 text: str.to_string(),
853 },
854 forj_parser::Token::ScientificNumber(str) => {
855 Token::ScientificNumber {
856 text: str.to_string(),
857 }
858 }
859 forj_parser::Token::UnbasedUnsizedLiteral(str) => {
860 Token::UnbasedUnsizedLiteral {
861 text: str.to_string(),
862 }
863 }
864 forj_parser::Token::SystemTfIdentifier(str) => {
865 Token::SystemTfIdentifier {
866 text: str.to_string(),
867 }
868 }
869 forj_parser::Token::SimpleIdentifier(str) => {
870 Token::SimpleIdentifier {
871 text: str.to_string(),
872 }
873 }
874 forj_parser::Token::EscapedIdentifier(str) => {
875 Token::EscapedIdentifier {
876 text: str.to_string(),
877 }
878 }
879 forj_parser::Token::PreprocessorIdentifier(str) => {
880 Token::PreprocessorIdentifier {
881 text: str.to_string(),
882 }
883 }
884 forj_parser::Token::TextMacro(str) => Token::TextMacro {
885 text: str.to_string(),
886 },
887 forj_parser::Token::ConcatenatedTextMacro(str) => {
888 Token::ConcatenatedTextMacro {
889 text: str.to_string(),
890 }
891 }
892 forj_parser::Token::StringLiteral(str) => Token::StringLiteral {
893 text: str.to_string(),
894 },
895 forj_parser::Token::PreprocessorStringLiteral(str) => {
896 Token::PreprocessorStringLiteral {
897 text: str.to_string(),
898 }
899 }
900 forj_parser::Token::TripleQuoteStringLiteral(str) => {
901 Token::TripleQuoteStringLiteral {
902 text: str.to_string(),
903 }
904 }
905 forj_parser::Token::PreprocessorTripleQuoteStringLiteral(str) => {
906 Token::PreprocessorTripleQuoteStringLiteral {
907 text: str.to_string(),
908 }
909 }
910 forj_parser::Token::Newline => Token::Newline(),
911 }
912 }
913}
914
915impl<'a> From<&'a Token> for forj_parser::Token<'a> {
916 fn from(value: &'a Token) -> Self {
917 match value {
918 Token::Error() => forj_parser::Token::Error,
919 Token::Always() => forj_parser::Token::Always,
920 Token::And() => forj_parser::Token::And,
921 Token::Assign() => forj_parser::Token::Assign,
922 Token::Begin() => forj_parser::Token::Begin,
923 Token::Buf() => forj_parser::Token::Buf,
924 Token::Bufif0() => forj_parser::Token::Bufif0,
925 Token::Bufif1() => forj_parser::Token::Bufif1,
926 Token::Case() => forj_parser::Token::Case,
927 Token::Casex() => forj_parser::Token::Casex,
928 Token::Casez() => forj_parser::Token::Casez,
929 Token::Cmos() => forj_parser::Token::Cmos,
930 Token::Deassign() => forj_parser::Token::Deassign,
931 Token::Default() => forj_parser::Token::Default,
932 Token::Defparam() => forj_parser::Token::Defparam,
933 Token::Disable() => forj_parser::Token::Disable,
934 Token::Edge() => forj_parser::Token::Edge,
935 Token::Else() => forj_parser::Token::Else,
936 Token::End() => forj_parser::Token::End,
937 Token::Endcase() => forj_parser::Token::Endcase,
938 Token::Endfunction() => forj_parser::Token::Endfunction,
939 Token::Endmodule() => forj_parser::Token::Endmodule,
940 Token::Endprimitive() => forj_parser::Token::Endprimitive,
941 Token::Endspecify() => forj_parser::Token::Endspecify,
942 Token::Endtable() => forj_parser::Token::Endtable,
943 Token::Endtask() => forj_parser::Token::Endtask,
944 Token::Event() => forj_parser::Token::Event,
945 Token::For() => forj_parser::Token::For,
946 Token::Force() => forj_parser::Token::Force,
947 Token::Forever() => forj_parser::Token::Forever,
948 Token::Fork() => forj_parser::Token::Fork,
949 Token::Function() => forj_parser::Token::Function,
950 Token::Highz0() => forj_parser::Token::Highz0,
951 Token::Highz1() => forj_parser::Token::Highz1,
952 Token::If() => forj_parser::Token::If,
953 Token::Ifnone() => forj_parser::Token::Ifnone,
954 Token::Initial() => forj_parser::Token::Initial,
955 Token::Inout() => forj_parser::Token::Inout,
956 Token::Input() => forj_parser::Token::Input,
957 Token::Integer() => forj_parser::Token::Integer,
958 Token::Join() => forj_parser::Token::Join,
959 Token::Large() => forj_parser::Token::Large,
960 Token::Macromodule() => forj_parser::Token::Macromodule,
961 Token::Medium() => forj_parser::Token::Medium,
962 Token::Module() => forj_parser::Token::Module,
963 Token::Nand() => forj_parser::Token::Nand,
964 Token::Negedge() => forj_parser::Token::Negedge,
965 Token::Nmos() => forj_parser::Token::Nmos,
966 Token::Nor() => forj_parser::Token::Nor,
967 Token::Not() => forj_parser::Token::Not,
968 Token::Notif0() => forj_parser::Token::Notif0,
969 Token::Notif1() => forj_parser::Token::Notif1,
970 Token::Or() => forj_parser::Token::Or,
971 Token::Output() => forj_parser::Token::Output,
972 Token::Parameter() => forj_parser::Token::Parameter,
973 Token::Pmos() => forj_parser::Token::Pmos,
974 Token::Posedge() => forj_parser::Token::Posedge,
975 Token::Primitive() => forj_parser::Token::Primitive,
976 Token::Pull0() => forj_parser::Token::Pull0,
977 Token::Pull1() => forj_parser::Token::Pull1,
978 Token::Pulldown() => forj_parser::Token::Pulldown,
979 Token::Pullup() => forj_parser::Token::Pullup,
980 Token::Rcmos() => forj_parser::Token::Rcmos,
981 Token::Real() => forj_parser::Token::Real,
982 Token::Realtime() => forj_parser::Token::Realtime,
983 Token::Reg() => forj_parser::Token::Reg,
984 Token::Release() => forj_parser::Token::Release,
985 Token::Repeat() => forj_parser::Token::Repeat,
986 Token::Rnmos() => forj_parser::Token::Rnmos,
987 Token::Rpmos() => forj_parser::Token::Rpmos,
988 Token::Rtran() => forj_parser::Token::Rtran,
989 Token::Rtranif0() => forj_parser::Token::Rtranif0,
990 Token::Rtranif1() => forj_parser::Token::Rtranif1,
991 Token::Scalared() => forj_parser::Token::Scalared,
992 Token::Small() => forj_parser::Token::Small,
993 Token::Specify() => forj_parser::Token::Specify,
994 Token::Specparam() => forj_parser::Token::Specparam,
995 Token::Strong0() => forj_parser::Token::Strong0,
996 Token::Strong1() => forj_parser::Token::Strong1,
997 Token::Supply0() => forj_parser::Token::Supply0,
998 Token::Supply1() => forj_parser::Token::Supply1,
999 Token::Table() => forj_parser::Token::Table,
1000 Token::Task() => forj_parser::Token::Task,
1001 Token::Time() => forj_parser::Token::Time,
1002 Token::Tran() => forj_parser::Token::Tran,
1003 Token::Tranif0() => forj_parser::Token::Tranif0,
1004 Token::Tranif1() => forj_parser::Token::Tranif1,
1005 Token::Tri() => forj_parser::Token::Tri,
1006 Token::Tri0() => forj_parser::Token::Tri0,
1007 Token::Tri1() => forj_parser::Token::Tri1,
1008 Token::Triand() => forj_parser::Token::Triand,
1009 Token::Trior() => forj_parser::Token::Trior,
1010 Token::Trireg() => forj_parser::Token::Trireg,
1011 Token::Vectored() => forj_parser::Token::Vectored,
1012 Token::Wait() => forj_parser::Token::Wait,
1013 Token::Wand() => forj_parser::Token::Wand,
1014 Token::Weak0() => forj_parser::Token::Weak0,
1015 Token::Weak1() => forj_parser::Token::Weak1,
1016 Token::While() => forj_parser::Token::While,
1017 Token::Wire() => forj_parser::Token::Wire,
1018 Token::Wor() => forj_parser::Token::Wor,
1019 Token::Xnor() => forj_parser::Token::Xnor,
1020 Token::Xor() => forj_parser::Token::Xor,
1021 Token::Automatic() => forj_parser::Token::Automatic,
1022 Token::Cell() => forj_parser::Token::Cell,
1023 Token::Config() => forj_parser::Token::Config,
1024 Token::Design() => forj_parser::Token::Design,
1025 Token::Endconfig() => forj_parser::Token::Endconfig,
1026 Token::Endgenerate() => forj_parser::Token::Endgenerate,
1027 Token::Generate() => forj_parser::Token::Generate,
1028 Token::Genvar() => forj_parser::Token::Genvar,
1029 Token::Incdir() => forj_parser::Token::Incdir,
1030 Token::Include() => forj_parser::Token::Include,
1031 Token::Instance() => forj_parser::Token::Instance,
1032 Token::Liblist() => forj_parser::Token::Liblist,
1033 Token::Library() => forj_parser::Token::Library,
1034 Token::Localparam() => forj_parser::Token::Localparam,
1035 Token::Noshowcancelled() => forj_parser::Token::Noshowcancelled,
1036 Token::PulsestyleOndetect() => {
1037 forj_parser::Token::PulsestyleOndetect
1038 }
1039 Token::PulsestyleOnevent() => {
1040 forj_parser::Token::PulsestyleOnevent
1041 }
1042 Token::Showcancelled() => forj_parser::Token::Showcancelled,
1043 Token::Signed() => forj_parser::Token::Signed,
1044 Token::Unsigned() => forj_parser::Token::Unsigned,
1045 Token::Use() => forj_parser::Token::Use,
1046 Token::Uwire() => forj_parser::Token::Uwire,
1047 Token::Alias() => forj_parser::Token::Alias,
1048 Token::AlwaysComb() => forj_parser::Token::AlwaysComb,
1049 Token::AlwaysFf() => forj_parser::Token::AlwaysFf,
1050 Token::AlwaysLatch() => forj_parser::Token::AlwaysLatch,
1051 Token::Assert() => forj_parser::Token::Assert,
1052 Token::Assume() => forj_parser::Token::Assume,
1053 Token::Before() => forj_parser::Token::Before,
1054 Token::Bind() => forj_parser::Token::Bind,
1055 Token::Bins() => forj_parser::Token::Bins,
1056 Token::Binsof() => forj_parser::Token::Binsof,
1057 Token::Bit() => forj_parser::Token::Bit,
1058 Token::Break() => forj_parser::Token::Break,
1059 Token::Byte() => forj_parser::Token::Byte,
1060 Token::Chandle() => forj_parser::Token::Chandle,
1061 Token::Class() => forj_parser::Token::Class,
1062 Token::Clocking() => forj_parser::Token::Clocking,
1063 Token::Const() => forj_parser::Token::Const,
1064 Token::Constraint() => forj_parser::Token::Constraint,
1065 Token::Context() => forj_parser::Token::Context,
1066 Token::Continue() => forj_parser::Token::Continue,
1067 Token::Cover() => forj_parser::Token::Cover,
1068 Token::Covergroup() => forj_parser::Token::Covergroup,
1069 Token::Coverpoint() => forj_parser::Token::Coverpoint,
1070 Token::Cross() => forj_parser::Token::Cross,
1071 Token::Dist() => forj_parser::Token::Dist,
1072 Token::Do() => forj_parser::Token::Do,
1073 Token::Endclass() => forj_parser::Token::Endclass,
1074 Token::Endclocking() => forj_parser::Token::Endclocking,
1075 Token::Endgroup() => forj_parser::Token::Endgroup,
1076 Token::Endinterface() => forj_parser::Token::Endinterface,
1077 Token::Endpackage() => forj_parser::Token::Endpackage,
1078 Token::Endprogram() => forj_parser::Token::Endprogram,
1079 Token::Endproperty() => forj_parser::Token::Endproperty,
1080 Token::Endsequence() => forj_parser::Token::Endsequence,
1081 Token::Enum() => forj_parser::Token::Enum,
1082 Token::Expect() => forj_parser::Token::Expect,
1083 Token::Export() => forj_parser::Token::Export,
1084 Token::Extends() => forj_parser::Token::Extends,
1085 Token::Extern() => forj_parser::Token::Extern,
1086 Token::Final() => forj_parser::Token::Final,
1087 Token::FirstMatch() => forj_parser::Token::FirstMatch,
1088 Token::Foreach() => forj_parser::Token::Foreach,
1089 Token::Forkjoin() => forj_parser::Token::Forkjoin,
1090 Token::Iff() => forj_parser::Token::Iff,
1091 Token::IgnoreBins() => forj_parser::Token::IgnoreBins,
1092 Token::IllegalBins() => forj_parser::Token::IllegalBins,
1093 Token::Import() => forj_parser::Token::Import,
1094 Token::Inside() => forj_parser::Token::Inside,
1095 Token::Int() => forj_parser::Token::Int,
1096 Token::Interface() => forj_parser::Token::Interface,
1097 Token::Intersect() => forj_parser::Token::Intersect,
1098 Token::JoinAny() => forj_parser::Token::JoinAny,
1099 Token::JoinNone() => forj_parser::Token::JoinNone,
1100 Token::Local() => forj_parser::Token::Local,
1101 Token::Logic() => forj_parser::Token::Logic,
1102 Token::Longint() => forj_parser::Token::Longint,
1103 Token::Matches() => forj_parser::Token::Matches,
1104 Token::Modport() => forj_parser::Token::Modport,
1105 Token::New() => forj_parser::Token::New,
1106 Token::Null() => forj_parser::Token::Null,
1107 Token::Package() => forj_parser::Token::Package,
1108 Token::Packed() => forj_parser::Token::Packed,
1109 Token::Priority() => forj_parser::Token::Priority,
1110 Token::Program() => forj_parser::Token::Program,
1111 Token::Property() => forj_parser::Token::Property,
1112 Token::Protected() => forj_parser::Token::Protected,
1113 Token::Pure() => forj_parser::Token::Pure,
1114 Token::Rand() => forj_parser::Token::Rand,
1115 Token::Randc() => forj_parser::Token::Randc,
1116 Token::Randcase() => forj_parser::Token::Randcase,
1117 Token::Randsequence() => forj_parser::Token::Randsequence,
1118 Token::Ref() => forj_parser::Token::Ref,
1119 Token::Return() => forj_parser::Token::Return,
1120 Token::Sequence() => forj_parser::Token::Sequence,
1121 Token::Shortint() => forj_parser::Token::Shortint,
1122 Token::Shortreal() => forj_parser::Token::Shortreal,
1123 Token::Solve() => forj_parser::Token::Solve,
1124 Token::Static() => forj_parser::Token::Static,
1125 Token::String() => forj_parser::Token::String,
1126 Token::Struct() => forj_parser::Token::Struct,
1127 Token::Super() => forj_parser::Token::Super,
1128 Token::Tagged() => forj_parser::Token::Tagged,
1129 Token::This() => forj_parser::Token::This,
1130 Token::Throughout() => forj_parser::Token::Throughout,
1131 Token::Timeprecision() => forj_parser::Token::Timeprecision,
1132 Token::Timeunit() => forj_parser::Token::Timeunit,
1133 Token::Type() => forj_parser::Token::Type,
1134 Token::Typedef() => forj_parser::Token::Typedef,
1135 Token::Union() => forj_parser::Token::Union,
1136 Token::Unique() => forj_parser::Token::Unique,
1137 Token::Var() => forj_parser::Token::Var,
1138 Token::Virtual() => forj_parser::Token::Virtual,
1139 Token::Void() => forj_parser::Token::Void,
1140 Token::WaitOrder() => forj_parser::Token::WaitOrder,
1141 Token::Wildcard() => forj_parser::Token::Wildcard,
1142 Token::With() => forj_parser::Token::With,
1143 Token::Within() => forj_parser::Token::Within,
1144 Token::AcceptOn() => forj_parser::Token::AcceptOn,
1145 Token::Checker() => forj_parser::Token::Checker,
1146 Token::Endchecker() => forj_parser::Token::Endchecker,
1147 Token::Eventually() => forj_parser::Token::Eventually,
1148 Token::Global() => forj_parser::Token::Global,
1149 Token::Implies() => forj_parser::Token::Implies,
1150 Token::Let() => forj_parser::Token::Let,
1151 Token::Nexttime() => forj_parser::Token::Nexttime,
1152 Token::RejectOn() => forj_parser::Token::RejectOn,
1153 Token::Restrict() => forj_parser::Token::Restrict,
1154 Token::SAlways() => forj_parser::Token::SAlways,
1155 Token::SEventually() => forj_parser::Token::SEventually,
1156 Token::SNexttime() => forj_parser::Token::SNexttime,
1157 Token::SUntil() => forj_parser::Token::SUntil,
1158 Token::SUntilWith() => forj_parser::Token::SUntilWith,
1159 Token::Strong() => forj_parser::Token::Strong,
1160 Token::SyncAcceptOn() => forj_parser::Token::SyncAcceptOn,
1161 Token::SyncRejectOn() => forj_parser::Token::SyncRejectOn,
1162 Token::Unique0() => forj_parser::Token::Unique0,
1163 Token::Until() => forj_parser::Token::Until,
1164 Token::UntilWith() => forj_parser::Token::UntilWith,
1165 Token::Untyped() => forj_parser::Token::Untyped,
1166 Token::Weak() => forj_parser::Token::Weak,
1167 Token::Implements() => forj_parser::Token::Implements,
1168 Token::Interconnect() => forj_parser::Token::Interconnect,
1169 Token::Nettype() => forj_parser::Token::Nettype,
1170 Token::Soft() => forj_parser::Token::Soft,
1171 Token::DirUnderscoreFile() => {
1172 forj_parser::Token::DirUnderscoreFile
1173 }
1174 Token::DirUnderscoreLine() => {
1175 forj_parser::Token::DirUnderscoreLine
1176 }
1177 Token::DirBeginKeywords() => forj_parser::Token::DirBeginKeywords,
1178 Token::DirCelldefine() => forj_parser::Token::DirCelldefine,
1179 Token::DirDefaultNettype() => {
1180 forj_parser::Token::DirDefaultNettype
1181 }
1182 Token::DirDefine() => forj_parser::Token::DirDefine,
1183 Token::DirElse() => forj_parser::Token::DirElse,
1184 Token::DirElsif() => forj_parser::Token::DirElsif,
1185 Token::DirEndKeywords() => forj_parser::Token::DirEndKeywords,
1186 Token::DirEndcelldefine() => forj_parser::Token::DirEndcelldefine,
1187 Token::DirEndif() => forj_parser::Token::DirEndif,
1188 Token::DirIfdef() => forj_parser::Token::DirIfdef,
1189 Token::DirIfndef() => forj_parser::Token::DirIfndef,
1190 Token::DirInclude() => forj_parser::Token::DirInclude,
1191 Token::DirLine() => forj_parser::Token::DirLine,
1192 Token::DirNounconnectedDrive() => {
1193 forj_parser::Token::DirNounconnectedDrive
1194 }
1195 Token::DirPragma() => forj_parser::Token::DirPragma,
1196 Token::DirResetall() => forj_parser::Token::DirResetall,
1197 Token::DirTimescale() => forj_parser::Token::DirTimescale,
1198 Token::DirUnconnectedDrive() => {
1199 forj_parser::Token::DirUnconnectedDrive
1200 }
1201 Token::DirUndef() => forj_parser::Token::DirUndef,
1202 Token::DirUndefineall() => forj_parser::Token::DirUndefineall,
1203 Token::Plus() => forj_parser::Token::Plus,
1204 Token::Minus() => forj_parser::Token::Minus,
1205 Token::Exclamation() => forj_parser::Token::Exclamation,
1206 Token::Quest() => forj_parser::Token::Quest,
1207 Token::Tilde() => forj_parser::Token::Tilde,
1208 Token::Amp() => forj_parser::Token::Amp,
1209 Token::TildeAmp() => forj_parser::Token::TildeAmp,
1210 Token::Pipe() => forj_parser::Token::Pipe,
1211 Token::TildePipe() => forj_parser::Token::TildePipe,
1212 Token::Caret() => forj_parser::Token::Caret,
1213 Token::TildeCaret() => forj_parser::Token::TildeCaret,
1214 Token::CaretTilde() => forj_parser::Token::CaretTilde,
1215 Token::Star() => forj_parser::Token::Star,
1216 Token::Slash() => forj_parser::Token::Slash,
1217 Token::Percent() => forj_parser::Token::Percent,
1218 Token::EqEq() => forj_parser::Token::EqEq,
1219 Token::ExclEq() => forj_parser::Token::ExclEq,
1220 Token::PlusEq() => forj_parser::Token::PlusEq,
1221 Token::MinusEq() => forj_parser::Token::MinusEq,
1222 Token::StarEq() => forj_parser::Token::StarEq,
1223 Token::SlashEq() => forj_parser::Token::SlashEq,
1224 Token::PercentEq() => forj_parser::Token::PercentEq,
1225 Token::AmpEq() => forj_parser::Token::AmpEq,
1226 Token::PipeEq() => forj_parser::Token::PipeEq,
1227 Token::CaretEq() => forj_parser::Token::CaretEq,
1228 Token::EqEqEq() => forj_parser::Token::EqEqEq,
1229 Token::ExclEqEq() => forj_parser::Token::ExclEqEq,
1230 Token::EqEqQuest() => forj_parser::Token::EqEqQuest,
1231 Token::ExclEqQuest() => forj_parser::Token::ExclEqQuest,
1232 Token::AmpAmp() => forj_parser::Token::AmpAmp,
1233 Token::AmpAmpAmp() => forj_parser::Token::AmpAmpAmp,
1234 Token::PipePipe() => forj_parser::Token::PipePipe,
1235 Token::StarStar() => forj_parser::Token::StarStar,
1236 Token::Lt() => forj_parser::Token::Lt,
1237 Token::LtEq() => forj_parser::Token::LtEq,
1238 Token::Gt() => forj_parser::Token::Gt,
1239 Token::GtEq() => forj_parser::Token::GtEq,
1240 Token::GtGt() => forj_parser::Token::GtGt,
1241 Token::LtLt() => forj_parser::Token::LtLt,
1242 Token::GtGtEq() => forj_parser::Token::GtGtEq,
1243 Token::LtLtEq() => forj_parser::Token::LtLtEq,
1244 Token::GtGtGt() => forj_parser::Token::GtGtGt,
1245 Token::LtLtLt() => forj_parser::Token::LtLtLt,
1246 Token::GtGtGtEq() => forj_parser::Token::GtGtGtEq,
1247 Token::LtLtLtEq() => forj_parser::Token::LtLtLtEq,
1248 Token::MinusGt() => forj_parser::Token::MinusGt,
1249 Token::MinusGtGt() => forj_parser::Token::MinusGtGt,
1250 Token::LtMinusGt() => forj_parser::Token::LtMinusGt,
1251 Token::PlusPlus() => forj_parser::Token::PlusPlus,
1252 Token::MinusMinus() => forj_parser::Token::MinusMinus,
1253 Token::PlusColon() => forj_parser::Token::PlusColon,
1254 Token::MinusColon() => forj_parser::Token::MinusColon,
1255 Token::PlusSlashMinus() => forj_parser::Token::PlusSlashMinus,
1256 Token::PlusPercentMinus() => forj_parser::Token::PlusPercentMinus,
1257 Token::Paren() => forj_parser::Token::Paren,
1258 Token::EParen() => forj_parser::Token::EParen,
1259 Token::Bracket() => forj_parser::Token::Bracket,
1260 Token::EBracket() => forj_parser::Token::EBracket,
1261 Token::Brace() => forj_parser::Token::Brace,
1262 Token::EBrace() => forj_parser::Token::EBrace,
1263 Token::Colon() => forj_parser::Token::Colon,
1264 Token::SColon() => forj_parser::Token::SColon,
1265 Token::Apost() => forj_parser::Token::Apost,
1266 Token::Comma() => forj_parser::Token::Comma,
1267 Token::Period() => forj_parser::Token::Period,
1268 Token::Pound() => forj_parser::Token::Pound,
1269 Token::Dollar() => forj_parser::Token::Dollar,
1270 Token::At() => forj_parser::Token::At,
1271 Token::AtAt() => forj_parser::Token::AtAt,
1272 Token::Eq() => forj_parser::Token::Eq,
1273 Token::ColonColon() => forj_parser::Token::ColonColon,
1274 Token::ColonEq() => forj_parser::Token::ColonEq,
1275 Token::ColonSlash() => forj_parser::Token::ColonSlash,
1276 Token::PoundPound() => forj_parser::Token::PoundPound,
1277 Token::PoundMinusPound() => forj_parser::Token::PoundMinusPound,
1278 Token::PoundEqPound() => forj_parser::Token::PoundEqPound,
1279 Token::EqGt() => forj_parser::Token::EqGt,
1280 Token::StarGt() => forj_parser::Token::StarGt,
1281 Token::PipeMinusGt() => forj_parser::Token::PipeMinusGt,
1282 Token::PipeEqGt() => forj_parser::Token::PipeEqGt,
1283 Token::Bslash() => forj_parser::Token::Bslash,
1284 Token::Std() => forj_parser::Token::Std,
1285 Token::PathpulseDollar() => forj_parser::Token::PathpulseDollar,
1286 Token::Option() => forj_parser::Token::Option,
1287 Token::TypeOption() => forj_parser::Token::TypeOption,
1288 Token::Randomize() => forj_parser::Token::Randomize,
1289 Token::Sample() => forj_parser::Token::Sample,
1290 Token::OneStep() => forj_parser::Token::OneStep,
1291 Token::DollarSetup() => forj_parser::Token::DollarSetup,
1292 Token::DollarHold() => forj_parser::Token::DollarHold,
1293 Token::DollarSetuphold() => forj_parser::Token::DollarSetuphold,
1294 Token::DollarRecovery() => forj_parser::Token::DollarRecovery,
1295 Token::DollarRemoval() => forj_parser::Token::DollarRemoval,
1296 Token::DollarRecrem() => forj_parser::Token::DollarRecrem,
1297 Token::DollarSkew() => forj_parser::Token::DollarSkew,
1298 Token::DollarTimeskew() => forj_parser::Token::DollarTimeskew,
1299 Token::DollarFullskew() => forj_parser::Token::DollarFullskew,
1300 Token::DollarPeriod() => forj_parser::Token::DollarPeriod,
1301 Token::DollarWidth() => forj_parser::Token::DollarWidth,
1302 Token::DollarNochange() => forj_parser::Token::DollarNochange,
1303 Token::DollarRoot() => forj_parser::Token::DollarRoot,
1304 Token::DollarUnit() => forj_parser::Token::DollarUnit,
1305 Token::DollarFatal() => forj_parser::Token::DollarFatal,
1306 Token::DollarError() => forj_parser::Token::DollarError,
1307 Token::DollarWarning() => forj_parser::Token::DollarWarning,
1308 Token::DollarInfo() => forj_parser::Token::DollarInfo,
1309 Token::OnelineComment { text } => {
1310 forj_parser::Token::OnelineComment(&text)
1311 }
1312 Token::BlockComment { text } => {
1313 forj_parser::Token::BlockComment(&text)
1314 }
1315 Token::UnsignedNumber { text } => {
1316 forj_parser::Token::UnsignedNumber(&text)
1317 }
1318 Token::FixedPointNumber { text } => {
1319 forj_parser::Token::FixedPointNumber(&text)
1320 }
1321 Token::BinaryNumber { text } => {
1322 forj_parser::Token::BinaryNumber(&text)
1323 }
1324 Token::OctalNumber { text } => {
1325 forj_parser::Token::OctalNumber(&text)
1326 }
1327 Token::DecimalNumber { text } => {
1328 forj_parser::Token::DecimalNumber(&text)
1329 }
1330 Token::HexNumber { text } => forj_parser::Token::HexNumber(&text),
1331 Token::ScientificNumber { text } => {
1332 forj_parser::Token::ScientificNumber(&text)
1333 }
1334 Token::UnbasedUnsizedLiteral { text } => {
1335 forj_parser::Token::UnbasedUnsizedLiteral(&text)
1336 }
1337 Token::SystemTfIdentifier { text } => {
1338 forj_parser::Token::SystemTfIdentifier(&text)
1339 }
1340 Token::SimpleIdentifier { text } => {
1341 forj_parser::Token::SimpleIdentifier(&text)
1342 }
1343 Token::EscapedIdentifier { text } => {
1344 forj_parser::Token::EscapedIdentifier(&text)
1345 }
1346 Token::PreprocessorIdentifier { text } => {
1347 forj_parser::Token::PreprocessorIdentifier(&text)
1348 }
1349 Token::TextMacro { text } => forj_parser::Token::TextMacro(&text),
1350 Token::ConcatenatedTextMacro { text } => {
1351 forj_parser::Token::ConcatenatedTextMacro(&text)
1352 }
1353 Token::StringLiteral { text } => {
1354 forj_parser::Token::StringLiteral(&text)
1355 }
1356 Token::PreprocessorStringLiteral { text } => {
1357 forj_parser::Token::PreprocessorStringLiteral(&text)
1358 }
1359 Token::TripleQuoteStringLiteral { text } => {
1360 forj_parser::Token::TripleQuoteStringLiteral(&text)
1361 }
1362 Token::PreprocessorTripleQuoteStringLiteral { text } => {
1363 forj_parser::Token::PreprocessorTripleQuoteStringLiteral(&text)
1364 }
1365 Token::Newline() => forj_parser::Token::Newline,
1366 }
1367 }
1368}
1369
1370#[pyclass(eq, from_py_object, module = "forj_python", str)]
1372#[derive(Clone, PartialEq, Eq)]
1373pub struct SpannedToken {
1374 #[pyo3(get, set)]
1375 pub token: Token,
1376 #[pyo3(get, set)]
1377 pub span: Span,
1378}
1379
1380impl<'a> From<forj_parser::SpannedToken<'a>> for SpannedToken {
1381 fn from(value: forj_parser::SpannedToken<'a>) -> Self {
1382 Self {
1383 token: value.0.into(),
1384 span: value.1.into(),
1385 }
1386 }
1387}
1388
1389impl std::fmt::Display for SpannedToken {
1390 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1391 self.token.fmt(f)
1392 }
1393}
1394
1395impl<'a> SpannedToken {
1396 pub fn to_rust(
1398 &'a self,
1399 cache: &'a PreprocessorCache<'a>,
1400 ) -> forj_parser::SpannedToken<'a> {
1401 forj_parser::SpannedToken(
1402 (&self.token).into(),
1403 (&self.span).to_span(cache),
1404 )
1405 }
1406}