So laden Sie die benutzerdefinierte Sprache in Python TreeTitter Version 0.23.0Python

Python-Programme
Anonymous
 So laden Sie die benutzerdefinierte Sprache in Python TreeTitter Version 0.23.0

Post by Anonymous »

Python TreeTitter-Version 0.21.3 oder früher

Code: Select all

from tree_sitter import Language, Parser

lang_path = "tree-sitter-test-lang/test-lang.so"

# Load the language
TESTLANG_LANGUAGE = Language(lang_path, 'testlang')

# Initialize the parser with the languages
parser = Parser()
parser.set_language(TESTLANG_LANGUAGE)

# Parse some code
source_code = b"""
let x = 10;
print x;
"""

tree = parser.parse(source_code)

# Explore the tree
root_node = tree.root_node

def print_node(node, indent=""):
print(f"{indent}{node.type}: {node.text.decode('utf-8')}")
for child in node.children:
print_node(child, indent + "  ")

print_node(root_node)
Python-Baum-Sitter-Version 0.23.0
In der neuesten Python-Version wird die Definition von Sprache und Parser geändert. Die Sprache erwartet ein Argument von Type Tree-Sitter. Build_libarary, set_language werden entfernt und set_language < /p>

Code: Select all

import tree_sitter_python as tspython
from tree_sitter import Language, Parser

PY_LANGUAGE = Language(tspython.language())

parser = Parser(PY_LANGUAGE)
tree = parser.parse(
bytes(
"""
def foo():
if bar:
baz()
""",
"utf8"
)
)
Die Essenz meiner Fragen besteht darin, wie man Baum-Sitter-Version 0.23.0 zum Laden und Parser mit einem benutzerdefinierten Parser wie Baum-Sitter-Test-Lang/Test-Lang.so Shared-Object
lang_path = "tree-sitter-simple-lang/simple-lang.so"
# Load the language grammar

# Load the compiled language from the shared object file
my_language = ctypes.cdll.LoadLibrary(lang_path)
...

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post