Buckets:
MisterAI/LocalAI_Demo_backends / cpu-diffusers.upgrade-tmp /venv /lib /python3.10 /site-packages /pygments /lexers /asn1.py
| """ | |
| pygments.lexers.asn1 | |
| ~~~~~~~~~~~~~~~~~~~~ | |
| Pygments lexers for ASN.1. | |
| :copyright: Copyright 2006-present by the Pygments team, see AUTHORS. | |
| :license: BSD, see LICENSE for details. | |
| """ | |
| import re | |
| from pygments.token import Comment, Operator, Keyword, Name, String, \ | |
| Number, Punctuation, Whitespace | |
| from pygments.lexer import RegexLexer, words, bygroups | |
| __all__ = ['Asn1Lexer'] | |
| SINGLE_WORD_KEYWORDS = [ | |
| "ENCODED", | |
| "ABSTRACT-SYNTAX", | |
| "END", | |
| "APPLICATION", | |
| "EXPLICIT", | |
| "IMPLICIT", | |
| "AUTOMATIC", | |
| "TAGS", | |
| "BEGIN", | |
| "EXTENSIBILITY", | |
| "BY", | |
| "FROM", | |
| "COMPONENT", | |
| "UNIVERSAL", | |
| "COMPONENTS", | |
| "CONSTRAINED", | |
| "IMPLIED", | |
| "DEFINITIONS", | |
| "INCLUDES", | |
| "PRIVATE", | |
| "WITH", | |
| "OF", | |
| ] | |
| OPERATOR_WORDS = [ | |
| "EXCEPT", | |
| "UNION", | |
| "INTERSECTION", | |
| ] | |
| SINGLE_WORD_NAMESPACE_KEYWORDS = [ | |
| "EXPORTS", | |
| "IMPORTS", | |
| ] | |
| MULTI_WORDS_DECLARATIONS = [ | |
| "SEQUENCE OF", | |
| "SET OF", | |
| "INSTANCE OF", | |
| "WITH SYNTAX", | |
| ] | |
| SINGLE_WORDS_DECLARATIONS = [ | |
| "SIZE", | |
| "SEQUENCE", | |
| "SET", | |
| "CLASS", | |
| "UNIQUE", | |
| "DEFAULT", | |
| "CHOICE", | |
| "PATTERN", | |
| "OPTIONAL", | |
| "PRESENT", | |
| "ABSENT", | |
| "CONTAINING", | |
| "ENUMERATED", | |
| "ALL", | |
| ] | |
| TWO_WORDS_TYPES = [ | |
| "OBJECT IDENTIFIER", | |
| "BIT STRING", | |
| "OCTET STRING", | |
| "CHARACTER STRING", | |
| "EMBEDDED PDV", | |
| ] | |
| SINGLE_WORD_TYPES = [ | |
| "RELATIVE-OID", | |
| "TYPE-IDENTIFIER", | |
| "ObjectDescriptor", | |
| "IA5String", | |
| "INTEGER", | |
| "ISO646String", | |
| "T61String", | |
| "BMPString", | |
| "NumericString", | |
| "TeletexString", | |
| "GeneralizedTime", | |
| "REAL", | |
| "BOOLEAN", | |
| "GeneralString", | |
| "GraphicString", | |
| "UniversalString", | |
| "UTCTime", | |
| "VisibleString", | |
| "UTF8String", | |
| "PrintableString", | |
| "VideotexString", | |
| "EXTERNAL", | |
| ] | |
| def word_sequences(tokens): | |
| return "(" + '|'.join(token.replace(' ', r'\s+') for token in tokens) + r')\b' | |
| class Asn1Lexer(RegexLexer): | |
| """ | |
| Lexer for ASN.1 module definition | |
| """ | |
| flags = re.MULTILINE | |
| name = 'ASN.1' | |
| aliases = ['asn1'] | |
| filenames = ["*.asn1"] | |
| url = "https://www.itu.int/ITU-T/studygroups/com17/languages/X.680-0207.pdf" | |
| version_added = '2.16' | |
| tokens = { | |
| 'root': [ | |
| # Whitespace: | |
| (r'\s+', Whitespace), | |
| # Comments: | |
| (r'--.*$', Comment.Single), | |
| (r'/\*', Comment.Multiline, 'comment'), | |
| # Numbers: | |
| (r'\d+\.\d+([eE][-+]?\d+)?', Number.Float), | |
| (r'\d+', Number.Integer), | |
| # Identifier: | |
| (r"&?[a-z][-a-zA-Z0-9]*[a-zA-Z0-9]\b", Name.Variable), | |
| # Constants: | |
| (words(("TRUE", "FALSE", "NULL", "MINUS-INFINITY", "PLUS-INFINITY", "MIN", "MAX"), suffix=r'\b'), Keyword.Constant), | |
| # Builtin types: | |
| (word_sequences(TWO_WORDS_TYPES), Keyword.Type), | |
| (words(SINGLE_WORD_TYPES, suffix=r'\b'), Keyword.Type), | |
| # Other keywords: | |
| (r"EXPORTS\s+ALL\b", Keyword.Namespace), | |
| (words(SINGLE_WORD_NAMESPACE_KEYWORDS, suffix=r'\b'), Operator.Namespace), | |
| (word_sequences(MULTI_WORDS_DECLARATIONS), Keyword.Declaration), | |
| (words(SINGLE_WORDS_DECLARATIONS, suffix=r'\b'), Keyword.Declaration), | |
| (words(OPERATOR_WORDS, suffix=r'\b'), Operator.Word), | |
| (words(SINGLE_WORD_KEYWORDS), Keyword), | |
| # Type identifier: | |
| (r"&?[A-Z][-a-zA-Z0-9]*[a-zA-Z0-9]\b", Name.Type), | |
| # Operators: | |
| (r"(::=|\.\.\.|\.\.|\[\[|\]\]|\||\^|-)", Operator), | |
| # Punctuation: | |
| (r"(\.|,|\{|\}|\(|\)|\[|\])", Punctuation), | |
| # String: | |
| (r'"', String, 'string'), | |
| # Binary string: | |
| (r"('[01 ]*')(B)\b", bygroups(String, String.Affix)), | |
| (r"('[0-9A-F ]*')(H)\b",bygroups(String, String.Affix)), | |
| ], | |
| 'comment': [ | |
| (r'[^*/]+', Comment.Multiline), | |
| (r'/\*', Comment.Multiline, '#push'), | |
| (r'\*/', Comment.Multiline, '#pop'), | |
| (r'[*/]', Comment.Multiline) | |
| ], | |
| 'string': [ | |
| (r'""', String), | |
| (r'"', String, "#pop"), | |
| (r'[^"]', String), | |
| ] | |
| } | |
Xet Storage Details
- Size:
- 4.27 kB
- Xet hash:
- f78e100a4a1f829a1d524cb4a0d2c6e0cafcd88e924c12bf3a7194d603c4637b
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.