OPERATING SYSTEM SUPPORT FOR CONTRACTS
프런트엔드 컴파일러는 소스 코드를 중간 코드로 컴파일하고, 중간 코드는 추후에 이진 코드로 컴파일될 수 있다. 소스 코드는 실행 스코프를 정의하고 컨트랙트를 포함한다. 컨트랙트가 실행 스코프의 런타임에서 마주치게 될 때, 그 실행 스코프의 추가적인 실행은 컨트랙트와 연관된 술부가 참인지 여부에 따라 조정된다. 프론트 엔드 컴파일러는, 술부가 중간 언어 코드로부터 삭제될 수 있도록 의미론적으로 계속 구조화되도록, 컨트랙트를 보존하기 위해 동작한다. 따라서 컨트랙트는 컨트랙트의 의미론적 분석에 의해 계속 이해될 수 있다. 따라서, 술부...
Gespeichert in:
Hauptverfasser: | , , , , , , |
---|---|
Format: | Patent |
Sprache: | eng ; kor |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | 프런트엔드 컴파일러는 소스 코드를 중간 코드로 컴파일하고, 중간 코드는 추후에 이진 코드로 컴파일될 수 있다. 소스 코드는 실행 스코프를 정의하고 컨트랙트를 포함한다. 컨트랙트가 실행 스코프의 런타임에서 마주치게 될 때, 그 실행 스코프의 추가적인 실행은 컨트랙트와 연관된 술부가 참인지 여부에 따라 조정된다. 프론트 엔드 컴파일러는, 술부가 중간 언어 코드로부터 삭제될 수 있도록 의미론적으로 계속 구조화되도록, 컨트랙트를 보존하기 위해 동작한다. 따라서 컨트랙트는 컨트랙트의 의미론적 분석에 의해 계속 이해될 수 있다. 따라서, 술부는 중간 코드로 동작하는 정적 분석 툴에 의해 이해될 수 있다.
A front-end compiler compiles source code into intermediate code, that may later be compiled into binary code. The source code defines an execution scope and includes a contract. When a contract is encountered at runtime of an execution scope, further execution of that execution scope is conditioned on whether a predicate associated with the contract is true. The front-end compiler operates so as to preserve the contract so that the contract continues to be semantically structured such that the predicate may be removed from the intermediate language code. The contract may thus continue to be understood by semantic analysis of the contract. Thus, the predicate may be understood by static analysis tools that operate on the intermediate code. |
---|