Грамматика 1C (BSL) Language в формате tree-sitter.
Добавьте зависимость в 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());
}Установите пакет:
npm install tree-sitter-bsl tree-sitterconst 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());Установите пакет:
pip install tree-sitter-bsl tree-sitterimport 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())- Грамматика основана на правилах BSL Parser
