An Improved Quake C Compiler
Find a file
2012-04-11 19:41:04 -04:00
test More parsing stuff (still totally broken) 2012-04-11 19:41:04 -04:00
code.c More parsing stuff (still totally broken) 2012-04-11 19:41:04 -04:00
error.c Work in progress preprocessor 2012-04-09 09:36:16 -04:00
gmqcc.h More parsing stuff (still totally broken) 2012-04-11 19:41:04 -04:00
info.txt code.c, info.txt 2012-04-10 05:09:55 -04:00
lex.c More parsing stuff (still totally broken) 2012-04-11 19:41:04 -04:00
main.c More parsing stuff (still totally broken) 2012-04-11 19:41:04 -04:00
Makefile More parsing stuff (still totally broken) 2012-04-11 19:41:04 -04:00
parse.c More parsing stuff (still totally broken) 2012-04-11 19:41:04 -04:00
README Cleanups 2012-04-10 05:02:58 -04:00
typedef.c Implemented support for #include, but it doesn't add an include to the lexer yet. 2012-04-11 12:13:31 -04:00
util.c Count file lines 2012-04-11 15:53:40 -04:00

This is my work in progress Quake C compiler. There are very few _good_ QC
compilers out there on the internet that can be used in the opensource
community.  There are a lot of mediocre compilers, but no one wants those.
This is the solution for that, for once a proper Quake C compiler that is
capable of doing proper optimization.  The design so far of this compiler
is basic, because it doesn't actually compile code yet.

gmqcc.h
	This is the common header with all definitions, structures, and
	constants for everything.

error.c
	This is the error subsystem, this handles the output of good detailed
	error messages (not currently, but will), with colors and such.
	
lex.c
	This is the lexer, a very small basic step-seek lexer that can be easily
	changed to add new tokens, very retargetable.
	
main.c
	This is the core compiler entry, handles switches (will) to toggle on
	and off certian compiler features.
	
parse.c
	This is the parser which goes over all tokens and generates a parse tree
	and check for syntax correctness.
	
typedef.c
	This is the typedef system, this is a seperate file because it's a lot more
	complicated than it sounds.  This handles all typedefs, and even recrusive
	typedefs.
	
util.c
	These are utilities for the compiler, some things in here include a
	allocator used for debugging, and some string functions.
	
README
	This is the file you're currently reading
	
Makefile
	The makefile, when sources are added you should add them to the SRC=
	line otherwise the build will not pick it up.  Trivial stuff, small
	easy to manage makefile, no need to complicate it.
	Some targets:
		#make gmqcc
			Builds gmqcc, creating a gmqcc binary file in the current
			directory as the makefile.
			
		#make clean
			Cleans the build files left behind by a previous build