tree-sitter-bsl
March 10, 2026 · View on GitHub
Грамматика 1C (BSL) Language в формате tree-sitter.

Использование
Rust
Добавьте зависимость в Cargo.toml:
[dependencies]
tree-sitter = "0.25"
tree-sitter-bsl = "0.1"
use tree_sitter::Parser;
fn main() {
let mut parser = Parser::new();
parser
.set_language(&tree_sitter_bsl::LANGUAGE.into())
.expect("Error loading BSL grammar");
let source = r#"
Процедура Привет()
Сообщить("Привет, мир!");
КонецПроцедуры
"#;
let tree = parser.parse(source, None).unwrap();
println!("{}", tree.root_node().to_sexp());
}
Node.js
Установите пакет:
npm install tree-sitter-bsl tree-sitter
const Parser = require("tree-sitter");
const BSL = require("tree-sitter-bsl");
const parser = new Parser();
parser.setLanguage(BSL);
const sourceCode = `
Процедура Привет()
Сообщить("Привет, мир!");
КонецПроцедуры
`;
const tree = parser.parse(sourceCode);
console.log(tree.rootNode.toString());
Python
Установите пакет:
pip install tree-sitter-bsl tree-sitter
import tree_sitter_bsl as tsbsl
from tree_sitter import Language, Parser
BSL_LANGUAGE = Language(tsbsl.language())
parser = Parser(BSL_LANGUAGE)
source = """
Процедура Привет()
Сообщить("Привет, мир!");
КонецПроцедуры
""".encode()
tree = parser.parse(source)
print(tree.root_node.sexp())
References
- Грамматика основана на правилах BSL Parser