标签: compiler-construction

程序中的杂散字符

所以我的教授给了我们一些代码,他说它应该能够编译,但我得到各种错误,不知道什么是错的,因为我对c没有任何经验.它是一个汇编语言类,我们应该编写汇编代码来匹配c代码正在做的事情.他告诉我们在c中运行程序以了解事物.

#include <stdio.h>
#define  SIZE  40

main()
{
int v[SIZE];
register int gap, i, j, temp;

/*  Initialize array to random positive integers mod 256  */
for (i = 0; i < SIZE; i++)
    v[i] = rand() & 0xFF;

/*  Display the unsorted array  */
for (i = 0; i < SIZE; i++)
    printf(“v[%-d] = %-d\n”, i, v[i]);

/*  Sort the array using a shell sort  */
for (gap = SIZE / 2; gap > 0; gap /= 2) { …
Run Code Online (Sandbox Code Playgroud)

c compiler-construction

-1
推荐指数
1
解决办法
4562
查看次数

有用PHP编写的PHP吗?

我发现几乎语言都是自己编写的,有时只是为了证明它可以完成.那么是用php编写的php解释器/编译器吗?我搜索谷歌但没有找到任何东西.

php compiler-construction interpreter

-1
推荐指数
1
解决办法
100
查看次数

g ++编译器的内部工作原理,适用于假人

在使用g ++编译C/C++代码时,我对编译阶段有一个非常基本的了解,但我想要确认,澄清和额外的智慧珍珠.

对于这组文件:

main.c
foo.h
foo.c
bar.h
bar.c
Run Code Online (Sandbox Code Playgroud)

这些电话执行以下操作......

g++ -c foo.c
g++ -c bar.c
g++ -c main.c
Run Code Online (Sandbox Code Playgroud)

头文件现在添加到源文件中,所有这些.c文件都编译成.o文件.

g++ -o main.out main.o foo.o bar.o
Run Code Online (Sandbox Code Playgroud)

现在所有.o文件都链接在一起成为一个可执行文件 - main.out.

c++ compiler-construction g++

-1
推荐指数
1
解决办法
188
查看次数

即使通过结束进程也无法关闭基本C++程序

每当我编译一个基本程序,即使是一个简单的"Hello,world!",程序在尝试关闭时也会无响应.我甚至无法通过任务管理器结束这个过程.关闭程序的唯一解决方案是重新启动计算机.

我正在运行Windows 7 Ultimate 64bit,我使用Visual C++,Gygwin GCC和GNU GCC与CodeBlocks和Eclipse.

#include <iostream>

int main()
{
    using namespace std;
    cout << "Hello, world!";
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

谢谢你的时间!

c++ compiler-construction visual-c++

-1
推荐指数
1
解决办法
185
查看次数

在C++程序中使用C头

我有一个包含枚举的C头文件

typedef enum {leaf, operator} my_type;
Run Code Online (Sandbox Code Playgroud)

现在当我尝试在我的C++程序中包含此标题时,我得到错误"'运算符'之前的预期标识符"

我怎么能摆脱它.

c c++ compiler-construction compiler-errors compilation

-1
推荐指数
1
解决办法
90
查看次数

'未来'不是'std'的成员

我想知道为什么我的编译器在测试以下代码时会抱怨:

int main(int argc, char**) {    
...
std::future<int> result( std::async([](int m, int n) { return m + n;} , 2, 4));
...
return 0;
}
Run Code Online (Sandbox Code Playgroud)

它给出:错误:'future'不是'std'的成员

我有gcc(Ubuntu/Linaro 4.7.3-2ubuntu1~12.04)4.7.3.

谢谢!

c++ compiler-construction gcc g++ c++11

-1
推荐指数
1
解决办法
1602
查看次数

从txt文件到Python字典

如何以下列格式从文本文件中获取数据:

abc 5
defg 8
ghi 58
jklmn 450
opqrstuv 8456
Run Code Online (Sandbox Code Playgroud)

并将其添加到字典中.例如:第一个是字典['abc'] = 5,最后一个是字典['opqrstuv'] = 8456,依此类推.我需要添加所有数据(文本文件中的每一行)

python compiler-construction text dictionary file

-1
推荐指数
1
解决办法
77
查看次数

汇编程序中的一对一映射转换

程序集是一种人类可读的语言,但它通常与相应的机器代码具有一对一的关系.因此,据说汇编程序执行同构(一对一映射)转换.

我需要知道汇编程序中一对一映射转换的含义.

compiler-construction assembly

-1
推荐指数
1
解决办法
406
查看次数

如何编写第一个语言

这是鸡和蛋的问题.为语言X引导编译器的一个解决方案是使用语言Y,但是如何首先编译语言Y的编译器?!如果你一直跟踪到没有编译器存在的时间,那么第一个编译器如何能够自己编译?请使用高级隐喻来帮助理解.

compiler-construction bootstrapping

-1
推荐指数
1
解决办法
175
查看次数

动态类型检查编译语言中的符号表

我正在尝试创建一种动态类型检查编译语言,现在我对此有点困惑:

- 编译语言总是有静态类型检查
- 任何编译器的阶段必须具有相同的顺序 -
例如,符号表必须在词法分析阶段创建,并且必须与每个阶段连接,如下图所示。

在此处输入图片说明

上述条款是否属实?
真正的问题是什么时候(哪个阶段)必须为这种语言创建符号表?

compiler-construction typechecking symbol-table compile-time-type-checking

-1
推荐指数
1
解决办法
170
查看次数