/* * Copyright 1993, 2000 Christopher Seiwald. * * This file is part of Jam - see jam.c for Copyright information. */ /* * compile.h - compile parsed jam statements */ void compile_builtins(); LIST *compile_append( PARSE *parse, LOL *args ); LIST *compile_foreach( PARSE *parse, LOL *args ); LIST *compile_if( PARSE *parse, LOL *args ); LIST *compile_include( PARSE *parse, LOL *args ); LIST *compile_list( PARSE *parse, LOL *args ); LIST *compile_local( PARSE *parse, LOL *args ); LIST *compile_null( PARSE *parse, LOL *args ); LIST *compile_on( PARSE *parse, LOL *args ); LIST *compile_rule( PARSE *parse, LOL *args ); LIST *compile_rules( PARSE *parse, LOL *args ); LIST *compile_set( PARSE *parse, LOL *args ); LIST *compile_setcomp( PARSE *parse, LOL *args ); LIST *compile_setexec( PARSE *parse, LOL *args ); LIST *compile_settings( PARSE *parse, LOL *args ); LIST *compile_switch( PARSE *parse, LOL *args ); LIST *evaluate_rule( char *rulename, LOL *args ); /* Flags for compile_set(), etc */ # define ASSIGN_SET 0x00 /* = assign variable */ # define ASSIGN_APPEND 0x01 /* += append variable */ # define ASSIGN_DEFAULT 0x02 /* set only if unset */ /* Flags for compile_setexec() */ # define EXEC_UPDATED 0x01 /* executes updated */ # define EXEC_TOGETHER 0x02 /* executes together */ # define EXEC_IGNORE 0x04 /* executes ignore */ # define EXEC_QUIETLY 0x08 /* executes quietly */ # define EXEC_PIECEMEAL 0x10 /* executes piecemeal */ # define EXEC_EXISTING 0x20 /* executes existing */ /* Conditions for compile_if() */ # define COND_NOT 0 /* ! cond */ # define COND_AND 1 /* cond && cond */ # define COND_OR 2 /* cond || cond */ # define COND_EXISTS 3 /* arg */ # define COND_EQUALS 4 /* arg = arg */ # define COND_NOTEQ 5 /* arg != arg */ # define COND_LESS 6 /* arg < arg */ # define COND_LESSEQ 7 /* arg <= arg */ # define COND_MORE 8 /* arg > arg */ # define COND_MOREEQ 9 /* arg >= arg */ # define COND_IN 10 /* arg in arg */
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#5 | 1317 | Richard Geiger |
Update the copyright notices in all files touched in the upcoming drop into //public/jam/ |
||
#4 | 1295 | Richard Geiger |
Support for 'while' statement in jam. Useful? Who knows. === computer.perforce.com:1666: Change 20250 by seiwald@golly-seiwald on 2001/01/24 15:54:02 Documented in Jam.html - rmg |
||
#3 | 1287 | Richard Geiger |
Replace evaluate_if() with compile_eval(), which returns a LIST instead of an int. No functional change. This is made in anticipation of supporting (arithmetic) expression evaluation. === computer.perforce.com:1666: Change 20197 by seiwald@spice on 2001/01/21 22:51:39 |
||
#2 | 1237 | Richard Geiger |
Experimental support for running a rule under the influence of a target's specific variables. === computer.perforce.com:1666: Change 19932 by seiwald@spice on 2001/01/08 15:48:36 This feature is now considered part of the language, i.e., no longer experimental. Hence, I have also updated Jam.html and the RELNOTES. - rmg |
||
#1 | 1207 | Richard Geiger | Establish this branch to use for import of Perforce Jam. | ||
//guest/perforce_software/jam/src/compile.h | |||||
#2 | 486 | Perforce staff |
Jam 2.3. See RELNOTES for a list of changes from 2.2.x. Just about every source file was touched when jam got ANSI-fied. |
||
#1 | 2 | laura | Add Jam/MR 2.2 source |