Python Tree-Sitter версии 0.21.3 или более ранней
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 Tree-Sitter версии 0.23.0
В последней версии Python определения Язык и Парсер изменены. Язык ожидает один аргумент типа Tree-sitter.language, и Parser инициализируется непосредственно с выходными данными Parser. Build_libary, set_language удалены, а set_language
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"
)
)
Суть моих вопросов заключается в том, как использовать Tree-sitter версии 0.23.0 для загрузки и анализа с помощью специально созданного синтаксического анализатора, такого как tree-sitter-test-lang/test-lang.soshared-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)
...
Подробнее здесь: https://stackoverflow.com/questions/789 ... ion-0-23-0
Как загрузить собственный язык в Python Tree-Sitter версии 0.23.0 ⇐ Python
Программы на Python
-
Anonymous
1767193491
Anonymous
[b]Python Tree-Sitter версии 0.21.3 или более ранней[/b]
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)
[b]Python Tree-Sitter версии 0.23.0[/b]
В последней версии Python определения [b]Язык[/b] и [b]Парсер[/b] изменены. Язык ожидает один аргумент типа Tree-sitter.language, и Parser инициализируется непосредственно с выходными данными Parser. Build_libary, set_language удалены, а set_language
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"
)
)
Суть моих вопросов заключается в том, как использовать Tree-sitter версии 0.23.0 для загрузки и анализа с помощью специально созданного синтаксического анализатора, такого как tree-sitter-test-lang/test-lang.soshared-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)
...
Подробнее здесь: [url]https://stackoverflow.com/questions/78949267/how-to-load-custom-language-in-python-tree-sitter-version-0-23-0[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия