diff options
author | NAKAMURA Takumi <geek4civic@gmail.com> | 2025-01-09 17:16:04 +0900 |
---|---|---|
committer | NAKAMURA Takumi <geek4civic@gmail.com> | 2025-01-09 17:16:04 +0900 |
commit | 0aa930a41f2d1ebf1fa90ec42da8f96d15a4dcbb (patch) | |
tree | 6a77b463f700e090df586672c26b9fe765fd115b /mlir/utils/pygments/mlir_lexer.py | |
parent | ec6892d1c979ce0b84c86918d5cdbb03037b409a (diff) | |
parent | 6d16b1c5c468a79ecf867293023c89ac518ecdda (diff) | |
download | llvm-users/chapuni/cov/single/nextcount-base.zip llvm-users/chapuni/cov/single/nextcount-base.tar.gz llvm-users/chapuni/cov/single/nextcount-base.tar.bz2 |
Merge branch 'users/chapuni/cov/single/pair' into users/chapuni/cov/single/nextcount-baseusers/chapuni/cov/single/nextcount-base
Diffstat (limited to 'mlir/utils/pygments/mlir_lexer.py')
-rw-r--r-- | mlir/utils/pygments/mlir_lexer.py | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/mlir/utils/pygments/mlir_lexer.py b/mlir/utils/pygments/mlir_lexer.py new file mode 100644 index 0000000..179a058 --- /dev/null +++ b/mlir/utils/pygments/mlir_lexer.py @@ -0,0 +1,38 @@ +# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +# See https://llvm.org/LICENSE.txt for license information. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + +from pygments.lexer import RegexLexer +from pygments.token import * + + +class MlirLexer(RegexLexer): + name = "MLIR" + aliases = ["mlir"] + filenames = ["*.mlir"] + + tokens = { + "root": [ + (r"%[a-zA-Z0-9_]+", Name.Variable), + (r"@[a-zA-Z_][a-zA-Z0-9_]+", Name.Function), + (r"\^[a-zA-Z0-9_]+", Name.Label), + (r"#[a-zA-Z0-9_]+", Name.Constant), + (r"![a-zA-Z0-9_]+", Keyword.Type), + (r"[a-zA-Z_][a-zA-Z0-9_]*\.", Name.Entity), + (r"memref[^.]", Keyword.Type), + (r"index", Keyword.Type), + (r"i[0-9]+", Keyword.Type), + (r"f[0-9]+", Keyword.Type), + (r"[0-9]+", Number.Integer), + (r"[0-9]*\.[0-9]*", Number.Float), + (r'"[^"]*"', String.Double), + (r"affine_map", Keyword.Reserved), + # TODO: this should be within affine maps only + (r"\+-\*\/", Operator), + (r"floordiv", Operator.Word), + (r"ceildiv", Operator.Word), + (r"mod", Operator.Word), + (r"()\[\]<>,{}", Punctuation), + (r"\/\/.*\n", Comment.Single), + ] + } |