Skip to content

lexanth/python-ast

Repository files navigation

python-ast

Python (3) Parser for JavaScript/TypeScript, based on antlr4ts, grammar taken from antlr4's python grammar too (so please report bugs and open pull requests related to grammars upstream)

npm version

Build Status

code style: prettier

Significantly based on java-ast - all credit to Urish

Usage Example

import { parse, createVisitor } from 'python-ast';

const countMethods = (source: string) => {
  let ast = parse(source);

  return createVisitor({
    visitFuncdef: () => 1,
    defaultResult: () => 0,
    aggregateResult: (a, b) => a + b,
  }).visit(ast);
};

console.log(
  countMethods(`
class A:
    a: int

    def b(self):
        pass
    
    def c(self):
        pass
class B:
    def z(self, i):
        pass
  `),
); // logs 3

About

Python (3) Parser for JavaScript/TypeScript (based on antlr4ts)

Resources

License

Stars

Watchers

Forks

Packages

No packages published
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy