소프트웨어 분석 강좌 노트: 컴파일러와 정적 분석의 기초
컴파일러와 정적 분석기의 구조
컴파일러의 구성 요소
컴파일러는 소스 코드를 기계 코드로 변환하는 핵심 도구입니다. 이 과정은 여러 단계로 구성되며, 각 단계는 특정 역할을 담당합니다.
1. 어휘 분석기(Scanner)
정규 표현식을 활용하여 소스 코드를 토큰으로 변환합니다. 이 단계에서는 단어의 철자와 의미적正確성을 검증합니다.
2. 구문 분석기(Parser)
문맥 ...
7월 24일 23:57에 게시됨
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에 게시됨
SonarQube 시작하기
SonarQube 설치, 설정 및 사용법
SonarQube는 코드 품질을 관리하는 오픈 플랫폼으로, 코드 내에 존재할 수 있는 잠재적이거나 명백한 오류를 빠르게 식별할 수 있습니다. 본 문서에서는 이 도구의 설치, 설정 및 사용 방법을 소개합니다.
사전 준비:
JDK (설명 생략)
SonarQube: http://www.sonarqube.org/downloads/
SonarQube Scanner: https://sonarsource.bintr ...
6월 12일 01:20에 게시됨