1.0.4 • Published 5 months ago
@appthreat/atom-parsetools v1.0.4
Introduction
This package hosts a collection of parsing tools that complement the @appthreat/atom project. These tools offer parsing and analysis-related functionalities such as generating AST and semantics information in JSON format. The full list of tools and bin commands exposed by this package is below:
- astgen - Generates AST for JavaScript and TypeScript projects in JSON format
 - phpastgen - Generates AST for PHP projects using 
php-parsecommand fromnikic/php-parser - rbastgen - Generates AST for Ruby projects using the AppThreat's 
ruby_ast_gengem - scalasem - Generates a custom semantics slice for Scala Projects by utilising scalac command.
 
Command usages
astgen
node astgen.js -h
Options:
  -i, --src      Source directory                                 [default: "."]
  -o, --output   Output directory for generated AST JSON files
                                                            [default: "ast_out"]
  -t, --type     Project type. Default auto-detect
  -r, --recurse  Recurse mode suitable for mono-repos  [boolean] [default: true]
      --tsTypes  Generate type mappings using the TypeScript Compiler API
                                                       [boolean] [default: true]
      --version  Show version number                                   [boolean]
  -h             Show help                                             [boolean]phpastgen
node phpastgen.js --help
Usage: phpastgen [operations] file1.php [file2.php ...]
   or: phpastgen [operations] "<?php code"
Turn PHP source code into an abstract syntax tree.
Operations is a list of the following options (--dump by default):
    -d, --dump              Dump nodes using NodeDumper
    -p, --pretty-print      Pretty print file using PrettyPrinter\Standard
    -j, --json-dump         Print json_encode() result
        --var-dump          var_dump() nodes (for exact structure)
    -N, --resolve-names     Resolve names using NodeVisitor\NameResolver
    -c, --with-column-info  Show column numbers for errors (if available)
    -P, --with-positions    Show positions in node dumps
    -r, --with-recovery     Use parsing with error recovery
    -h, --help              Display this pagerbastgen
node rbastgen.js --help
Usage:
  -i, --input      The input file or directory (required)
  -o, --output     The output directory (default: '.ast')
  -e, --exclude    The exclusion regex (default: '^(tests?|vendor|spec)')
  -d, --debug      Enable debug logging
      --version    Print the version
      --help       Print usagescalasem
scalasem <directory> <slices_file>Example:
scalasem $(pwd) slices.jsonLicense
MIT