0

현재 프로젝트에서는 구성 파일에 저장된 데이터를 읽고 하드웨어 추상화 계층 코드를 생성해야합니다. 구성 데이터 구조는 저레벨 방식 (레지스터/비트 필드, 전원 켜기 재설정 값 등이있는 구성 요소)의 디지털 하드웨어를 나타냅니다. 이 데이터에서 다른 응용 프로그램 개발자가 응용 프로그램을 작성하기 위해 사용할 수있는 Python 코드를 자동 생성해야합니다. 앞서 말했듯이, 더 높은 수준의 응용 프로그램에 HAL을 제공하는 것이 아이디어입니다.파이썬 코드를 생성하는 코드 생성기를 설계하는 방법

내 질문은 :이 문제를 해결하기위한 귀하의 접근 방법은 무엇입니까? 필자는 Python을 코드 생성기로 사용하는 것이 당연하다고 느낍니다. 이 작업을 위해 더 나은 도구가 있는지 모르겠습니다 (yacc/bison?). 내 설계 아이디어는 정적 프로그램 구성 요소를 재배포하고 통신 처리, 로깅 및 모든 일반 작업을 처리하는 것입니다. 하드웨어에 종속적 인 다른 구성 요소는 완전히 자동 생성되며 정적 구성 요소의 API를 사용합니다.

+0

안녕하세요. 구체적인 문제와 그에 관련된 질문이 있습니까? 코드가 있습니까? 그렇다면 여기에 게시하십시오. –

답변

0

사용하고자하는 것은 Program Transformation System (PTS)입니다.

다음은 하나 이상의 컴퓨터 언어에 대한 설명을 허용하고 한 언어를 다른 언어로 매핑하는 규칙을 작성할 수있는 도구/프레임 워크입니다. 귀하의 경우 하드웨어의 "구성 파일"에 대한 언어를 정의하고 구성 파일의 다양한 패턴을 파이썬 코드 조각 (어쩌면 선언, 어쩌면 문, 함수 집합 일 수도 있음)에 매핑하는 규칙을 작성하여 원하는 하드웨어 API.

파이썬에서 PTS를 사용한다고 가정하면 PTS를 직접 만들지 않는다면 단순히 빈 세트로 선택이 제한됩니다. 그것도 일어나지 않을 것입니다. 파서를 사용하는 것이 좋은 단계라고 생각하지만 실제로 해결할 수있는 솔루션의 일부에 지나지 않습니다. 가득 찬 PTS를 원하는 이유에 관한 Life After Parsing의 저의 에세이를보십시오.

관련 문제