@totvs/tds-parsers
TypeScript icon, indicating that this package has built-in type declarations

0.1.5 • Public • Published

TOTVS Developer Studio: Analisador sintático

All Contributors

Instalação

Para uso local:

npm install @totvs/tds-parsers

Para uso global:

npm install @totvs/tds-parsers -g

Uso embarcado (API)

Se você deseja executar o TDS-Parsers via programa:

Importe o pacote

import { parser } from '@totvs/tds-parsers';
import { IParserOptions } from '@totvs/tds-parsers/typings/config';
import { ASTNode } from '@totvs/tds-parsers/typings/ast_node';

parser(source: string, parserInfo: IParserInfo): { ast: ASTNode~, error: Error }

parser executa a análise sintática do conteúdo em source, retornando a arvore sintátîca abstrata (AST, em ingles). parserInfo.parser deve ser informado de acordo com a linguagem a ser formatada. Os valores válidos são: advpl ou 4gl. As demais informações são opcionais.

try {
    const parserInfo: any = {
      debug: false, //adiciona informações de depuração do analisador
      filepath: "c:\\myProject\\file1.prw", //localização do arquivo
      parser: "advpl", //analisador a ser aplicado
      fileext: "prw", //extensão do arquivo a ser considerado
    };

    const result: any = parser(source, parserInfo);
    if (result.error) {
      throw result.error;
    }

    // processamento da AST aqui

  } catch (error) {
    if (error.location) {
      console.error(
        `Sintax error: [${error.location.start.line}:${error.location.start.column}] ${error.message}`
      );
    } else {
      console.error(error);
    }
    throw error;
  }
}

Mantenedor


TOTVS S.A.

🚧 🔌 📆

Colaboradores


Alan Cândido

💻 📖 ⚠️

Package Sidebar

Install

npm i @totvs/tds-parsers

Weekly Downloads

5

Version

0.1.5

License

Apache-2.0

Unpacked Size

1.47 MB

Total Files

42

Last publish

Collaborators

  • jcorrea97
  • mingle.dev
  • rogerio.fialho
  • dev.totvs
  • felipecrescencio
  • nicoleoliveira
  • felipeconti
  • alexmmartins
  • danotto
  • mansano
  • rogeriorc
  • tvmatias
  • robson.dba
  • daniel.yampolschi
  • acandido
  • lwtnb.wrk
  • pouidev
  • alinelariguet
  • roger.steuernagel
  • totvstec-bot