Skip to content

Commit 93bf2b3

Browse files
Denny Sunamaanq
authored andcommitted
feat: add Microsoft's SEH extension
1 parent 978daf4 commit 93bf2b3

File tree

5 files changed

+70249
-65283
lines changed

5 files changed

+70249
-65283
lines changed

grammar.js

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -705,6 +705,8 @@ module.exports = grammar({
705705
$.break_statement,
706706
$.continue_statement,
707707
$.goto_statement,
708+
$.seh_try_statement,
709+
$.seh_leave_statement,
708710
),
709711

710712
_top_level_statement: $ => choice(
@@ -823,6 +825,27 @@ module.exports = grammar({
823825
';',
824826
),
825827

828+
seh_try_statement: $ => seq(
829+
'__try',
830+
field('body', $.compound_statement),
831+
choice($.seh_except_clause, $.seh_finally_clause),
832+
),
833+
834+
seh_except_clause: $ => seq(
835+
'__except',
836+
field('filter', $.parenthesized_expression),
837+
field('body', $.compound_statement),
838+
),
839+
840+
seh_finally_clause: $ => seq(
841+
'__finally',
842+
field('body', $.compound_statement),
843+
),
844+
845+
seh_leave_statement: _ => seq(
846+
'__leave', ';',
847+
),
848+
826849
// Expressions
827850

828851
_expression: $ => choice(

src/grammar.json

Lines changed: 93 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/node-types.json

Lines changed: 109 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)