Advertisement
irapilguy

Untitled

Dec 15th, 2021
1,068
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import { default as Parser, SyntaxNode } from "tree-sitter";
  2.  
  3. export class AST {
  4.   public static supportedLanguages = ["cpp", "c-sharp", "java", "javascript", "python"];
  5.  
  6.   public static IsSupportedLanguage(language: string): boolean {
  7.     return this.supportedLanguages.includes(language);
  8.   }
  9.  
  10.   public static RegisterLanguage(language: string): void {
  11.      try {
  12.        require("tree-sitter-" + language);
  13.      }
  14.      catch (error) {
  15.         throw new Error("tree-sitter-${language} language not found.");
  16.      }
  17.      this.supportedLanguages.push(language);
  18.    }
  19.    
  20.   public AST(text: string): string {
  21.     const tree = this.parser.parse(text);
  22.     return tree.rootNode.toString();
  23.   }
  24. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement