본문으로 건너뛰기
토파즈6.0 · 출시 전
다운로드 →

문서 검색

명세 6.0

방향키로 결과를 고르고 Enter를 눌러 여세요.

API 이름, 진단 번호, 규칙 또는 프로젝트 주제를 입력하세요.

    도구

    dump-ast

    Parses a source file and prints its abstract syntax tree.

    Invocation, options and results

    링크

    topaz dump-ast

    호출 형식
    1. topaz dump-ast <file>

    입력

    Supply exactly one readable UTF-8 file within the source size limit. The command accepts the listed compiler, verbosity, language, and resource options.

    The same argument and source rejection rules as parse apply. Package options and --format json are rejected.

    옵션과 충돌

    옵션기본값계약충돌
    --compiler rust|selfself

    compiler selector (default self); rust selects the reference compiler Also rejects combination with --producer, --self-source.

    없음
    --verbosefalse

    Reports the selected compiler and whether it was explicit or the default. For version, prints the detailed release report.

    없음
    --language-version <5.21>5.21

    language version selector

    없음
    --compiler-memory-mib <MiB>8192

    self compiler worker memory budget (8192); overrides TOPAZ_COMPILER_MEMORY_MIB A positive integer is required. Environment input: TOPAZ_COMPILER_MEMORY_MIB.

    없음
    --compiler-time-ms <ms>1800000

    self compilation wall-clock budget (1800000); overrides TOPAZ_COMPILER_TIME_MS A positive integer is required. Environment input: TOPAZ_COMPILER_TIME_MS.

    없음

    출력 채널

    stdout

    stderr

    종료 상태

    0

    The source parses successfully.

    1

    Argument validation, source loading, parsing, or compiler execution fails.

    효과

    The command reads the source and installed compiler resources without modifying project files. Compiler-owned temporary workspace files may be created and removed.

    No network access occurs and no dependency is fetched.

    The same input bytes, path, language mode, compiler build, and presentation settings produce the same tree and verdict. Dumps from different compiler builds are not required to be byte-identical.

    The syntax tree describes the supplied file. Imports are represented as syntax and are not fetched or resolved. No manifest or lock is written.

    Operation

    링크

    Use the tree to inspect how the parser represents a source construct. Tree formatting is an inspection output.

    Option conditions

    링크

    --compiler cannot be combined with bootstrap --producer or --self-source

    Behavior contract

    링크
    규칙tools-commands-dump-ast.rule.behavior

    Command behavior

    Arguments and rejection

    Supply exactly one readable UTF-8 file within the source size limit. The command accepts the listed compiler, verbosity, language, and resource options.

    The same argument and source rejection rules as parse apply. Package options and --format json are rejected.

    Output

    Standard output contains the selected parser's indented syntax tree. It has no success banner. Standard error carries parser diagnostics and any failure count.

    The tree dump is a human inspection representation. Field layout and node spelling can change with the compiler release and are not a JSON interchange schema. A recovered tree can accompany a failing parse, so callers must check the exit status.

    Exit status

    Exit 0 means the parser accepted the file. Exit 1 covers invalid arguments, input loading, syntax diagnostics, unsupported compiler selection, and worker or budget failure.

    Filesystem effects

    The command reads the source and installed compiler resources without modifying project files. Compiler-owned temporary workspace files may be created and removed.

    Network access

    No network access occurs and no dependency is fetched.

    Reproducibility

    The same input bytes, path, language mode, compiler build, and presentation settings produce the same tree and verdict. Dumps from different compiler builds are not required to be byte-identical.

    Packages and locks

    The syntax tree describes the supplied file. Imports are represented as syntax and are not fetched or resolved. No manifest or lock is written.

    이유

    Tree inspection and syntax validation have different requested outputs. Keeping both commands preserves those distinct intentions even though they share the parser.

    The linked public CLI recipe checks one valid generic declaration, exit 0, and empty standard error. It does not assert the tree layout.

    The safe recipe covers a successful parse and checks the exit code. Recovered trees, syntax failures, and the inspection layout are outside its assertions.

    Example contract

    링크
    규칙tools-commands-dump-ast.rule.invocation

    Example contract

    The invocation topaz dump-ast main.tpz --language-version 5.21 is expected to exit with 0.

    The current SELF parser accepts the complete generic declaration and prints its AST. This test does not assert an AST serialization schema.

    이유

    AST inspection uses the same parser as parse. Accepting the same declaration keeps the inspected tree consistent with syntax acceptance.

    Example

    링크

    Small source invocation

    링크
    main.tpzSmall source invocation플레이그라운드 열기 →
    1. function identity<T>(value: T) -> T {
    2. value
    3. }
    기대 출력종료 코드 0
    $ topaz dump-ast main.tpz --language-version 5.21 · 대상 제품 5.21.3
    기대 결과

    기대 결과

    구문 분석이 프로그램을 받아들입니다. 종료 코드 0.

    The current SELF parser accepts the complete generic declaration and prints its AST. This test does not assert an AST serialization schema.

    Verification scope

    링크

    Observed with Topaz 5.21.3 on 2026-11-06T08:36:29.642Z. This invocation passed; exit 0. 2 assertions were evaluated against the independent expected result. Execution record. This result covers the displayed invocation. That record uses the earlier fixture revision. The current recipe has not been run.

    Related references

    링크

    Compiler selection →

    Packages, locks and targets →

    메뉴

    다운로드 →