파이썬 AST를 활용한 AI 코드 생성 및 분석 기술

파이썬 코드의 구조적 분석과 AST의 역할인공지능을 이용한 자동 코드 생성 시스템을 구축할 때, 생성된 코드의 유효성을 검증하거나 기존 코드를 변형하기 위해서는 소스 코드를 단순한 텍스트가 아닌 구조적인 데이터로 다루어야 합니다. 이때 파이썬의 ast(Abstract Syntax Trees) 모듈이 핵심적인 역할을 수행합니다. AST는 소스 코드의 문법적 구조를 트리 형태로 표 ...

9월 15일 06:59에 게시됨

pytest의 AST 단언 재작성

"AST 단언 재작성 메커니즘" Pytest는 assert result == expected와 같은 코드가 실행되기 전에 구문 분석 트리(AST)를 통해 코드를 재구성합니다. 이 과정에서 단순한 비교 연산을 넘어, result와 expected의 속성값, 변수값을 모두 추적하여 상세한 오류 정보를 생성합니다. 이것이 바로 Pytest가 실패 시 풍부한 디버깅 정보를 제공하는 근본 원리입니다. 중 ...

8월 31일 10:23에 게시됨

Python AST 역직렬화 도구 비교: astor와 astunparse 활용법

Python 코드를 분석하거나 변환할 때 추상 구문 트리(AST)는 핵심적인 중간 표현입니다. 표준 라이브러리 ast는 소스코드를 트리 구조로 변환해주지만, 수정된 AST를 다시 실행 가능한 Python 코드로 되돌리려면 외부 패키지가 필요합니다. 이번 글에서는 astor와 astunparse 두 도구의 특징과 적절한 사용 상황을 살펴봅니다. AST 개념 정리 AST는 소스코드의 구문적 구 ...

7월 2일 18:21에 게시됨

Vermin 도구를 활용한 Python 최소 버전 분석 가이드

프로젝트 개요 Vermin은 Python 소스 코드가 필요로 하는 최소 Python 버전을 분석하는 유틸리티입니다. 이 도구는 파싱을 통해抽象구문트리(AST)를 구성하고, 사전에 정의된 규칙과의 매칭을 통해 코드에서 사용된 파이썬 특성을 식별합니다. 지원 범위는 Python 2.0부터 2.7까지, 그리고 Python 3.0부터 3.12까지 포함됩니다. 주요 기능은 다음과 같습니다: Python 2. ...

6월 27일 03:27에 게시됨

Druid SQLUtils API 사용 가이드

Druid SQLUtils API 활용 방법 SQLUtils는 Druid 내장 SQL 파서의 핵심 유틸리티 클래스로, SQL 포맷팅, 파싱, AST 변환, 테이블/필드 추출, SQL 검증 및 재작성 기능을 제공합니다. MySQL, Oracle, SQL Server 등 다양한 데이터베이스 방언을 지원하며, SQL 감사, 권한 제어, 동적 SQL 생성에 활용되는 필수 도구입니다. 의존성 추가 Maven 의존성 <dependency> ...

6월 20일 19:37에 게시됨

Druid SQLStatement 인터페이스 완벽 가이드: AST 기반 SQL 파싱과 활용

Druid SQL 파싱 엔진은 SQL 문자열을 구조화된 Java 객체(추상 구문 트리, AST)로 변환합니다. 이 과정에서 최상위 인터페이스가 바로 SQLStatement이며, 모든 SQL 유형(SELECT, INSERT, UPDATE, DELETE 등)은 이 인터페이스의 서브클래스 인스턴스로 표현됩니다. SQLStatement는 SQL AST의 모든 노드가 구현하는 SQLObject 인터페이스를 상속합니다. 1. SQLStatement 클 ...

6월 18일 21:02에 게시됨