From f5c8ee1f889824eaa4bb89a01711a538e295dba0 Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Thu, 30 Sep 2021 11:21:37 +0200 Subject: added a Makefile for wordgrinder export and markdown to HMTL --- miniany/cc.c | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) (limited to 'miniany/cc.c') diff --git a/miniany/cc.c b/miniany/cc.c index c814f3d..28d9f1c 100644 --- a/miniany/cc.c +++ b/miniany/cc.c @@ -1295,6 +1295,49 @@ void parseIf( struct Compiler *compiler ) free( label1 ); } +/* + void parseIf( struct Compiler *compiler ) +{ + struct Parser *parser; + struct ASTnode *node; + char *label1, *label2; + + parser = compiler->parser; + parserExpect( parser, S_IF, "if" ); + parserExpect( parser, S_LPAREN, "(" ); + node = parseExpression( parser, 0 ); + if( compiler->generator->debug ) { + putstring( "; if then" ); putnl( ); + } + generateFromAST( compiler->generator, node, NOREG ); + putstring( "cmp al, 0" ); putnl( ); + label1 = genGetLabel( compiler, compiler->parser->global_scope ); + putstring( "je " ); putstring( label1 ); putnl( ); + genFreeAllRegs( compiler->generator ); + parserExpect( parser, S_RPAREN, ")" ); + parseStatementBlock( compiler ); + if( parser->token == S_ELSE ) { + label2 = genGetLabel( compiler, compiler->parser->global_scope ); + putstring( "jmp " ); putstring( label2 ); putnl( ); + if( compiler->generator->debug ) { + putstring( "; else" ); putnl( ); + } + putstring( label1 ); putchar( ':' ); putnl( ); + compiler->parser->token = getToken( compiler->parser->scanner ); + parseStatementBlock( compiler ); + putstring( label2 ); putchar( ':' ); putnl( ); + free( label2 ); + } else { + putstring( label1 ); putchar( ':' ); putnl( ); + } + + if( compiler->generator->debug ) { + putstring( "; fi" ); putnl( ); + } + free( label1 ); +} + + */ void parseStatement( struct Compiler *compiler ) { struct Parser *parser; -- cgit v1.2.3-54-g00ecf