Hello,

i am trying to develop a GCC frontend using flex and bison as lexer/parser.

i've read several documentation (the list below and also the gccint.info)

* https://github.com/rabishah/Mini-C-Compiler-using-Flex-And-Yacc/
* http://www.tldp.org/HOWTO/GCC-Frontend-HOWTO.html
* https://gcc.gnu.org/wiki/WritingANewFrontEnd
* https://gcc.gnu.org/ml/gcc-patches/2006-06/msg00648.html
* https://gcc.gnu.org/wiki/FrontEnd/skeleton
* http://blog.lxgcc.net/wp-content/uploads/2011/03/GCC_frontend.pdf
* http://cobolforgcc.sourceforge.net/cobol_14.html#SEC96
* https://gcc.gnu.org/onlinedocs/gccint/Parsing-pass.html#Parsing-pass

but still having some problems to make it work.

the code is on github:

https://github.com/danielneis/gcc-neis-frontend

the project compiles and generates my compiler "neis1". it is a valid
elf and i can run it with --help and it shows me the help.

I am testing it with a simple .c file like this:

int main() {
    return 0;
}

~/bin$ ./gcc -x neis /home/neis/test.c
/usr/lib/x86_64-linux-gnu/crt1.o: In function `_start':
/home/aurel32/glibc/glibc-2.19/csu/../sysdeps/x86_64/start.S:118:
undefined reference to `main'
collect2: error: ld returned 1 exit status


I think I may be missing some part of code generation with generic,
but could not find any references...

Any thoughts?

Kind regards,
Daniel

Reply via email to