aboutsummaryrefslogtreecommitdiffhomepage
path: root/parser.h
diff options
context:
space:
mode:
authorGravatar axel <axel@liljencrantz.se>2006-09-09 00:12:41 +1000
committerGravatar axel <axel@liljencrantz.se>2006-09-09 00:12:41 +1000
commit00c25436d74785e54ac44d10743249d4cce7950d (patch)
tree05ecb4ffe597574876e3925b402ece6f514340e3 /parser.h
parent6107d639956e18448a2144d63f2d53f72cfc733e (diff)
Make it possible to save a function when defining it using the -S switch
darcs-hash:20060908141241-ac50b-69a055a1e791e04e2b1208a5c36b9bb22c854c12.gz
Diffstat (limited to 'parser.h')
-rw-r--r--parser.h25
1 files changed, 7 insertions, 18 deletions
diff --git a/parser.h b/parser.h
index 9a4df461..d563b0fb 100644
--- a/parser.h
+++ b/parser.h
@@ -54,6 +54,11 @@ typedef struct block
The job that is currently evaluated in the specified block.
*/
job_t *job;
+
+ /**
+ Block type-specific data
+ */
+ void *data;
/**
First block type specific variable
@@ -62,11 +67,11 @@ typedef struct block
{
int while_state; /**< True if the loop condition has not yet been evaluated*/
wchar_t *for_variable; /**< Name of the variable to loop over */
- int if_state; /**< The state of the if block */
+ int if_state; /**< The state of the if block, can be one of IF_STATE_UNTESTED, IF_STATE_FALSE, IF_STATE_TRUE */
wchar_t *switch_value; /**< The value to test in a switch block */
- wchar_t *function_name; /**< The name of the function to define or the function called*/
const wchar_t *source_dest; /**< The name of the file to source*/
event_t *event; /**<The event that triggered this block */
+ wchar_t *function_call_name;
} param1;
/**
@@ -76,25 +81,9 @@ typedef struct block
{
array_list_t for_vars; /**< List of values for a for block */
int switch_taken; /**< Whether a switch match has already been found */
- wchar_t *function_description; /**< The description of the function to define */
process_t *function_call_process; /**< The process representing this function call */
} param2;
- /**
- Third block type specific variable
- */
- union
- {
- int function_is_binding; /**< Whether a function is a keybinding */
- } param3;
-
- /**
- Fourth block type specific variable
- */
- union
- {
- array_list_t *function_events;
- } param4;
/**
Name of file that created this block