{"name":"Lex","scopeName":"source.lex","patterns":[{"include":"#main"}],"repository":{"comments":{"patterns":[{"name":"comment.block.lex","begin":"/\\*","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.begin.comment.lex"}},"endCaptures":{"0":{"name":"punctuation.definition.end.comment.lex"}}},{"name":"comment.line.double-slash.lex","begin":"//","end":"(?=$)","beginCaptures":{"0":{"name":"punctuation.definition.comment.lex"}}}]},"definition":{"name":"meta.definition.lex","begin":"^\\s*([A-Za-z_][A-Za-z0-9_-]*)","end":"$","patterns":[{"name":"meta.pattern.lex","match":"(?\u003c=\\s)\\S.*","captures":{"0":{"patterns":[{"include":"source.lex.regexp"}]}}}],"beginCaptures":{"1":{"name":"entity.name.definition.lex"}}},"definitions":{"name":"meta.definitions.lex","begin":"\\A(?!\\s*%%)","end":"^(?=\\s*(?:%%|(?:package|import)\\s+\\w))","patterns":[{"include":"#comments"},{"include":"#directives"},{"include":"#passthrough"},{"include":"#definition"}]},"directives":{"name":"meta.directive.lex","begin":"^\\s*((%)\\w+)(?=\\s|$)","end":"(?=$)","patterns":[{"include":"#comments"},{"name":"constant.language.other.lex","match":"\\S+"}],"captures":{"1":{"name":"keyword.control.directive.lex"},"2":{"name":"punctuation.definition.directive.lex"}}},"jflex":{"name":"meta.jflex.lex","begin":"^(?=\\s*(?:package|import)\\s+\\w)","end":"(?=A)B","patterns":[{"include":"source.jflex"}]},"main":{"patterns":[{"include":"#jflex"},{"include":"#comments"},{"include":"#definitions"},{"include":"#rules"},{"include":"source.c++"}]},"passthrough":{"name":"meta.code-chunk.lex","begin":"^%{","end":"^%}","patterns":[{"include":"source.c++"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.lex"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.end.lex"}}},"rule.action":{"name":"meta.action.lex","begin":"(?\u003c!^)(?=\\S)","end":"(?=\\s*$|^)","patterns":[{"include":"#comments"},{"begin":"(?={)","end":"(?\u003c=})","patterns":[{"include":"source.c++"}]},{"match":"([^{\\s][^{]*?)\\s*$","captures":{"1":{"patterns":[{"include":"source.c++"}]}}}]},"rule.pattern":{"name":"meta.pattern.lex","begin":"(?\u003c=^|\\n)(?=\\S)","end":"(?=\\s|$)","patterns":[{"include":"source.lex.regexp"}]},"rules":{"begin":"^\\s*(%%)\\s*(?:$\\s*|(?=/\\*))","end":"^\\s*(%%)\\s*(?:$\\s*|(?=/\\*))","patterns":[{"include":"#passthrough"},{"include":"#rule.pattern"},{"include":"#rule.action"}],"beginCaptures":{"1":{"name":"keyword.control.section.begin.lex"}},"endCaptures":{"1":{"name":"keyword.control.section.end.lex"}}},"user-code":{"name":"meta.user-code.lex","contentName":"source.embedded.cpp","begin":"(?\u003c=^%%|\\s%%)","end":"(?=A)B","patterns":[{"include":"source.c++"}]}}}