x86 및 amd64를 대상으로하는 컴파일러를 개발 중입니다. 제 컴파일러는 현재 64 비트 컴퓨터에서 잘 작동합니다. 32 비트에서 나는 segfault를 얻고 있습니다. 간단한 빈 프로그램 (메인 만 법) 다음 어셈블리로 컴파일 : extern GC_init
global main
global f_main
segment .data
segment .
컴파일러 옵션을 사용하면 루틴이 특정 레지스터 집합을 사용하지 못하도록 제한 할 수 있습니까? 예 : R0-R8 만 사용하도록 루틴을 제한하십시오. 목적 : 일부 컴파일러 옵션을 사용할 수있는 경우 일부 루틴 (예 : 인터럽트 서비스 루틴)이 제한된 레지스터 집합 만 사용할 수 있으므로 제한된 컨텍스트 저장 & 복원을 수행 할 수 있습니다.
내가하고 싶은 것은 내부에 파이썬 코드가 들어있는 xml 파일을 읽는 것입니다. 그런 다음이 코드를 실행하십시오. 예를 들어 는 xml 파일 인쇄를 포함 '안녕하세요' 나는 그런 같은 데프 RunXML (XML)와 같은 기능을 사용하려면 :이 기능의 코드를 읽을 수 xml 파일을 만들고 실행하십시오. 이 경우 RunXML 함수는 'Hello World'를
저는 스토리지 할당이 주 메모리의 적절한 위치에 데이터 코드를 매핑한다는 것을 알고 있습니다. 하지만 왜 자바에서 스택 데이터의 다른 데이터에 대한 별도의 부분은 classInformation 영역, 힙의 동적 (개체) 데이터, ConstantPool의 문자열 데이터 (우리가 만들 때 리터럴을 통해), 메서드 영역의 기능 등에 저장됩니다 그래서 스토리지 할
배열 및 구조가있는 프로그래밍 언어에 대한 타사 구문 분석기로 작업하고 있습니다. 다음 식에 대한 STR,이 호출 배열을 포함하는 구조 형식 변수라고 가정하고, I는 정수 변수 : Str.A[I]
를 파서 (의사의) 다음 식 트리를 생성한다 : StructMember
(
Left = "Str"
Right = ArraySubscript
이미 제대로 작동하는 컴파일러를 작성했습니다. 모든 void가 아닌 메소드에는 적어도 하나의 return 문이 있는지 확인하지만 비 void 메소드 내의 모든 코드 경로가 값을 리턴하는지 점검하지 않습니다. 따라서, 예를 들어, 나는 다음과 같은 코드가있는 경우 :가 int function(bool a)
{
if(a){
return 5
현재 사용자 지정 프로그래밍 언어 용 컴파일러를 작성하고 있습니다. 컴파일러는 파서에 의해 평가 될 것이다 형태 예 Call : Value
{
Value instance
String name
Value[] arguments
}
의 목적은, 식 3 + 4 (= 3.+(4)) Call : Value
{
instanc
기본 arithmetics에 대한 언어를 작성하려면 Antlr4을 배우고 있습니다. 현재 기본 산술 연산자 *+-/에 대해 Antlr4이라는 문법을 작성했습니다. op=('-'|'+') expr : grammar Expr; // rename to distinguish from Expr.g4
prog: stat (';' stat)* ;
stat: ID
화면에 문자열을 쓰기 : 를 내가 주제 공식 언어를 공부하고 컴파일러, 그리고 난이 연습 해결해야한다 : PL0에서 을 지시 WRI 0 0은 ASCII 값이 스택 맨 위에있는 문자를 화면에 표시하고 스택 포인터의 맨 위를 1 줄입니다. 스택에 문자 스트링이 저장되어 있다고 가정합니다 (저장 방법 생각). 이러한 문자열이 화면에 표시되는 일련의 지침을 작성하
(이 질문은 비록 JDBC 특정하지 않습니다) : 다음 컴파일러는 catch 블록에 내가 참조를 사용할 수 없다는 불평 Connection conn = null;
try
{
..... Do the normal JDBC thing here ....
}
catch(SQLException se)
{
if(conn != null)