3
V'ícÍ ã @ sR d Z ddlmZmZmZ ddlmZmZmZm Z m
Z
mZ dgZG dd deZ
dS )zÇ
pygments.lexers.bare
~~~~~~~~~~~~~~~~~~~~
Lexer for the BARE schema.
:copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
é )Ú
RegexLexerÚwordsÚbygroups)ÚTextÚCommentÚKeywordÚNameÚLiteralÚ
WhitespaceÚ BareLexerc @ s e Zd ZdZdZdZdgZdgZdddd d
ddd
ddddddddddddgZde e
eej
eedfde e
eej
eedfde e
eeedfd e e
eej
edfd!efd"efgd#ed$fd%ed&fd'e ejeedfd"efgd(ed&fd)e eeefd*ej
feee
fd"efgd+efd!ed&fd,e eeefd-efd.edfd/e ee
efd0e eej
efd1ej
feee
fd2ed&fd#edfd"efd3efg
d#ed$fd%ed&fd4e ejeefd5e ejfd!efd"efgd6Zd7S )8r z<
For BARE schema source.
.. versionadded:: 2.7
ZBAREzhttps://baremessages.orgz*.bareZbareÚtypeÚenumÚu8Úu16Úu32Zu64ZuintÚi8Zi16Zi32Zi64ÚintZf32Zf64ÚboolÚvoidÚdataÚstringÚoptionalÚmapz'(type)(\s+)([A-Z][a-zA-Z0-9]+)(\s+)(\{)Ústructz'(type)(\s+)([A-Z][a-zA-Z0-9]+)(\s+)(\()Úunionz#(type)(\s+)([A-Z][a-zA-Z0-9]+)(\s+)Útypedefz%(enum)(\s+)([A-Z][a-zA-Z0-9]+)(\s+\{)z#.*?$z\s+z\{z#pushz\}z#popz([a-zA-Z0-9]+)(:)(\s*)z\)z(\s*)(\|)(\s*)z[A-Z][a-zA-Z0-9]+z\[\]z
(\[)(\d+)(\])z<|>z\(z(\[)([a-z][a-z-A-Z0-9]+)(\])z(\[)([A-Z][a-z-A-Z0-9]+)(\])z([A-Z][a-z-A-Z0-9]+)z\nz\d+z([A-Z][A-Z0-9_]*)(\s*=\s*)(\d+)z([A-Z][A-Z0-9_]*))Úrootr r r r