quakeforge/tools/qfcc
Bill Currie 1779a124c5 expr.h:
nuke the ex_statement and estatement_[st] stuff
	add label_expr prototype
expr.c:
	ex_statement nukage
	correct new_expr's decl
	add label_expr to ease label creation
	don't crash when printing a null expression (bare return)
qc-parse.y:
	estatement_t nukage
	statement statements and statement_block are type expr
	generate `expressions' for statements

a full parse tree for each function is now generated. there are several
special expression opcodes for statements:
	d	done    \
	r	return  -> unary: expression to return or null
	i	if      binary:   evaluated expression, destination label
	n	ifnot   binary:   evaluated expression, destination label
	c	call    binary:   function def, args (expr list, rev order)
	s	state   binary:   frame const, function def
	g	goto    unary:    destination label
	l	label   unary:    label number
in a top level expression, l (label) defines the label, otherwise it is a
reference.
2001-06-25 20:52:04 +00:00
..
doc/man QFCC -- the QuakeForge Code Compiler -- an autoconfiscated qcc. 2001-02-24 06:58:54 +00:00
include expr.h: 2001-06-25 20:52:04 +00:00
source expr.h: 2001-06-25 20:52:04 +00:00
.gitignore add ChangeLog 2001-06-08 00:18:53 +00:00
acconfig.h make usage of the new parser easier to configure 2001-06-25 18:22:53 +00:00
AUTHORS QFCC -- the QuakeForge Code Compiler -- an autoconfiscated qcc. 2001-02-24 06:58:54 +00:00
bootstrap QFCC -- the QuakeForge Code Compiler -- an autoconfiscated qcc. 2001-02-24 06:58:54 +00:00
configure.in make usage of the new parser easier to configure 2001-06-25 18:22:53 +00:00
Makefile.am QFCC -- the QuakeForge Code Compiler -- an autoconfiscated qcc. 2001-02-24 06:58:54 +00:00
qfcc.lsm.in QFCC -- the QuakeForge Code Compiler -- an autoconfiscated qcc. 2001-02-24 06:58:54 +00:00