// // EXPElement.h // XMLTest // // Created by Ashley on 11/04/2007. // Copyright 2007 __MyCompanyName__. All rights reserved. // #import #import "EXPExpressionList.h" #import "EXPExpression.h" #import "EXPParser.h" #import "EXPSymbolTable.h" @interface EXPElement : NSObject { int _identifier; NSString *_name; NSString *_label; id _sheet; unsigned int _address; BOOL _isPrivate; EXPExpressionList *_expressionList; EXPExpression *_expression; NSMutableArray *_inputs; NSMutableArray *_outputs; } + (void) reportElementCount; - (void) setElementFromXLMElement:(NSXMLElement *)element; - (void) writeElementToXMLElement:(NSXMLElement *)element; - (BOOL) setElementFromParser:(EXPParser *)parser symbolTable:(EXPSymbolTable *)sysmbolTable inputs:(id)inputs; - (void) processExpressionList; - (id) expressionList; - (void) setExpressionList:(id)expressionList; - (void) generateParseTree; - (id) expression; - (void) setExpression:(EXPExpression *)expression; - (void) setName:(NSString *)name; - (NSString *)name; - (void) setLabel:(id)label; - (id) label; - (void) setSheet:(id)sheet; - (id) sheet; - (void) setAddress:(unsigned int)address; - (unsigned int) address; - (unsigned int) length; - (void) setIsPrivate:(BOOL)isPrivate; - (BOOL) isPrivate; - (id) inputs; - (void) setInputs:(id)inputs; - (void) addInput:(id)input; - (id) outputs; - (void) setOutputs:(id)outputs; - (void) addOutput:(id)output; - (void) handleError:(NSError *)err; - (NSString *)elementType; - (BOOL) dependsUpon:(EXPElement *)target; - (NSComparisonResult)compareElements:(EXPElement *)comparitor; - (void) dump; - (void) clear; - (id)copyWithZone:(NSZone *)zone; - (BOOL) compileInitialisation:(EXPStackMachine *)machine error:(NSError **)err opcode:(unsigned int)opcode; - (BOOL) compile:(EXPStackMachine *)machine error:(NSError **)err opcode:(unsigned int)opcode; - (BOOL) compile:(EXPStackMachine *)machine error:(NSError **)err withArguments:(NSArray *)arguments; @end