Acse.y. V Page 1/4

Størrelse: px
Starte visningen fra side:

Download "Acse.y. V Page 1/4"

Transkript

1 / Scanner / %option noyywrap % #include <string.h> #include "axe_struct.h" #include "collections.h" #include "Acse.tab.h" #include "axe_constants.h" extern int line_num extern int num_error extern int yyerror(const char errmsg) % TOKEN DEFINITIONS DIGIT [0 9] ID [a za Z_][a za Z0 9_] TOKENS %option noyywrap %x comment %% "\r\n" ++line_num "\n" ++line_num [ \t\f\v]+ / Ignore whitespace. / "//"[^\n] ++line_num / ignore comment lines / "/" BEGIN(comment) <comment>[^\n] <comment>[^\n]\n ++line_num <comment>""+[^/\n] <comment>""+[^/\n]\n ++line_num <comment>""+"/" BEGIN(INITIAL) "" return LBRACE "" return RBRACE "[" return LSQUARE "]" return RSQUARE "(" return LPAR ")" return RPAR "" return SEMI ":" return COLON "+" return PLUS " " return MINUS "" return MUL_OP "/" return DIV_OP "%" return MOD_OP "&" return AND_OP " " return OR_OP "!" return NOT_OP "=" return ASSIGN "<" return LT ">" return GT "<<" return SHL_OP ">>" return SHR_OP "==" return EQ "!=" return NOTEQ "<=" return LTEQ ">=" return GTEQ "&&" return ANDAND " " return OROR "," return COMMA Acse.lex "do" return DO "" return ELSE "for" return FOR "if" return IF "int" yylval.intval = INTEGER_TYPE return TYPE "while" return WHILE "return" return RETURN "read" return READ "write" return WRITE ID yylval.svalue=strdup(yytext) return IDENTIFIER DIGIT+ yylval.intval = atoi( yytext ) return(number). yyerror("error: unexpected token") num_error++ return ( 1) / invalid token / / PARSER / % #include "axe_struct.h" #include "axe_engine.h" #include "symbol_table.h" #include "axe_errors.h" #include "collections.h" #include "axe_expressions.h" #include "axe_gencode.h" #include "axe_utils.h" #include "axe_array.h" #include "axe_io_manager.h" int line_num int num_error / number of errors / int num_warning / number of warnings / t_program_infos program / ALL PROGRAM INFORMATION / % SEMANTIC RECORDS %union int intval char svalue t_axe_expression expr t_axe_declaration decl t_list list t_axe_label label t_while_statement while_stmt TOKENS %start program %token LBRACE RBRACE LPAR RPAR LSQUARE RSQUARE %token SEMI COLON PLUS MINUS MUL_OP DIV_OP MOD_OP %token AND_OP OR_OP NOT_OP %token ASSIGN LT GT SHL_OP SHR_OP EQ NOTEQ LTEQ GTEQ %token ANDAND OROR %token COMMA %token FOR %token RETURN %token READ %token WRITE %token <label> DO %token <while_stmt> WHILE %token <label> IF %token <label> ELSE %token <intval> TYPE %token <svalue> IDENTIFIER %token <intval> NUMBER %type <expr> exp %type <decl> declaration %type <list> declaration_list %type <label> if_stmt OPERATOR PRECEDENCES %left COMMA %left ASSIGN %left OROR %left ANDAND %left OR_OP %left AND_OP %left EQ NOTEQ %left LT GT LTEQ GTEQ %left SHL_OP SHR_OP %left MINUS PLUS %left MUL_OP DIV_OP %right NOT Acse.y V Page 1/4 BISON GRAMMAR %% program : var_declarations statements / Notify the end of program and generates HALT / set_end_program(program) YYACCEPT Sheet 1/6 var_declarations : var_declarations var_declaration / empty / var_declaration : TYPE declaration_list SEMI set_new_variables(program, $1, $2) declaration_list : declaration_list COMMA declaration $$ = addelement($1, $3, 1) declaration $$ = addelement(null, $1, 1) declaration : IDENTIFIER ASSIGN NUMBER $$ = alloc_declaration($1, 0, 0, $3) if ($$ == NULL) notifyerror(axe_out_of_memory) IDENTIFIER LSQUARE NUMBER RSQUARE $$ = alloc_declaration($1, 1, $3, 0) if ($$ == NULL) notifyerror(axe_out_of_memory) IDENTIFIER $$ = alloc_declaration($1, 0, 0, 0) if ($$ == NULL) notifyerror(axe_out_of_memory) code_block : statement LBRACE statements RBRACE statements : statements statement statement statement : assign_statement SEMI control_statement read_write_statement SEMI SEMI gen_nop_instruction(program) control_statement : if_statement while_statement do_while_statement SEMI return_statement SEMI read_write_statement : read_statement write_statement assign_statement : IDENTIFIER LSQUARE exp RSQUARE ASSIGN exp storearrayelement(program, $1, $3, $6) free($1) IDENTIFIER ASSIGN exp int location t_axe_instruction instr location = get_symbol_location(program, $1, 0) V Acse.y Page 2/4 if ($3.expression_type == IMMEDIATE) instr = gen_addi_instruction (program, location, REG_0, $3.value) instr = gen_add_instruction (program, location, REG_0, $3.value, CG_DIRECT_ALL) free($1) if_statement : if_stmt assignlabel(program, $1) if_stmt ELSE $2 = newlabel(program) gen_bt_instruction (program, $2, 0) assignlabel(program, $1) code_block assignlabel(program, $2)

2 if_stmt : IF $1 = newlabel(program) LPAR exp RPAR if ($4.expression_type == IMMEDIATE) gen_load_immediate(program, $4.value) gen_andb_instruction(program, $4.value, $4.value, $4.value, CG_DIRECT_ALL) gen_beq_instruction (program, $1, 0) code_block $$ = $1 while_statement : WHILE $1 = create_while_statement() $1.label_condition = assignnewlabel(program) LPAR exp RPAR if ($4.expression_type == IMMEDIATE) gen_load_immediate(program, $4.value) gen_andb_instruction(program, $4.value, $4.value, $4.value, CG_DIRECT_ALL) $1.label_end = newlabel(program) gen_beq_instruction (program, $1.label_end, 0) code_block / jump to the beginning of the loop / gen_bt_instruction (program, $1.label_condition, 0) / fix the label label_end / assignlabel(program, $1.label_end) do_while_statement : DO $1 = newlabel(program) assignlabel(program, $1) code_block WHILE LPAR exp RPAR if ($6.expression_type == IMMEDIATE) gen_load_immediate(program, $6.value) gen_andb_instruction(program, $6.value, $6.value, $6.value, CG_DIRECT_ALL) gen_bne_instruction (program, $1, 0) return_statement : RETURN Acse.y V Page 3/4 read_statement : READ LPAR IDENTIFIER RPAR int location location = get_symbol_location(program, $3, 0) gen_read_instruction (program, location) free($3) write_statement : WRITE LPAR exp RPAR int location if ($3.expression_type == IMMEDIATE) location = gen_load_immediate(program, $3.value) location = $3.value gen_write_instruction (program, location) exp: NUMBER $$ = create_expression ($1, IMMEDIATE) IDENTIFIER int location location = get_symbol_location(program, $1, 0) $$ = create_expression (location, REGISTER) free($1) IDENTIFIER LSQUARE exp RSQUARE int reg reg = loadarrayelement(program, $1, $3) $$ = create_expression (reg, REGISTER) free($1) NOT_OP NUMBER if ($2 == 0) $$ = create_expression (1, IMMEDIATE) $$ = create_expression (0, IMMEDIATE) NOT_OP IDENTIFIER int identifier_location int output_register identifier_location = get_symbol_location(program, $2, 0) output_register = getnewregister(program) gen_notl_instruction (program, output_register, identifier_location) $$ = create_expression (output_register, REGISTER) free($2) exp AND_OP exp $$ = handle_bin_numeric_op(program, $1, $3, ANDB) exp OR_OP exp $$ = handle_bin_numeric_op(program, $1, $3, ORB) exp PLUS exp $$ = handle_bin_numeric_op(program, $1, $3, ADD) exp MINUS exp $$ = handle_bin_numeric_op(program, $1, $3, SUB) exp MUL_OP exp $$ = handle_bin_numeric_op(program, $1, $3, MUL) exp DIV_OP exp $$ = handle_bin_numeric_op(program, $1, $3, DIV) exp LT exp $$ = handle_binary_comparison (program, $1, $3, _LT_) exp GT exp $$ = handle_binary_comparison (program, $1, $3, _GT_) exp EQ exp $$ = handle_binary_comparison (program, $1, $3, _EQ_) exp NOTEQ exp $$ = handle_binary_comparison (program, $1, $3, _NOTEQ_) exp LTEQ exp $$ = handle_binary_comparison (program, $1, $3, _LTEQ_) exp GTEQ exp $$ = handle_binary_comparison (program, $1, $3, _GTEQ_) exp SHL_OP exp $$ = handle_bin_numeric_op(program, $1, $3, SHL) exp SHR_OP exp $$ = handle_bin_numeric_op(program, $1, $3, SHR) exp ANDAND exp $$ = handle_bin_numeric_op(program, $1, $3, ANDL) exp OROR exp $$ = handle_bin_numeric_op(program, $1, $3, ORL) LPAR exp RPAR $$ = $2 MINUS exp if ($2.expression_type == IMMEDIATE) $$ = $2 $$.value = ($$.value) t_axe_expression exp_r0 exp_r0.value = REG_0 exp_r0.expression_type = REGISTER $$ = handle_bin_numeric_op (program, exp_r0, $2, SUB) %% MAIN int main (int argc, char argv) / initialize all the compiler data structures and global variables / init_compiler(argc, argv) yyparse() return 0 YYERROR int yyerror(const char errmsg) errorcode = AXE_SYNTAX_ERROR V Page 4/4 return 0 Acse.y Sheet 2/6 jumpnote.txt HOW TO GENERATE JUMPS This is an example: gen_beq_instruction(... label... ) Generates a jump if equal instruction (i.e., jump if flag zero is set) to label. That means a jump to label if the preceding expression is FALSE.

3 axe_array.h / axe_array.h CODE GENERATION FOR ARRAY MANAGEMENT (LOAD/STORE) / / Generates the instructions for loading the content of an array element ino a register. ID: array name index: index of the array cell Returns the register number / extern int loadarrayelement(t_program_infos program, char ID, t_axe_expression index) / Generetas the instructions for loading an array cell address into a register. / extern int loadarrayaddress(t_program_infos program, char ID, t_axe_expression index) / Generates the instructions for storing data into the array cell indexed by ID and index/ extern void storearrayelement(t_program_infos program, char ID, t_axe_expression index, t_axe_expression data) axe_engine.h Contains t_program_infos and some functions for LABEL MANAGEMENT (reserve, fix, assign) / typedef struct t_program_infos t_list variables t_list instructions t_list data t_axe_label_manager lmanager t_symbol_table sy_table int current_register t_program_infos axe_engine.h / initialize the informations associated with the program. / extern t_program_infos allocprograminfos() / add a new instruction to the current program. This function is directly called by all the functions defined in axe_gencode.h / extern void addinstruction(t_program_infos program, t_axe_instruction instr) / reserve a new label identifier and return the identifier to the caller / extern t_axe_label newlabel(t_program_infos program) / assign the given label identifier to the next instruction. Returns the label assigned otherwise (an error occurred) LABEL_UNSPECIFIED / extern t_axe_label assignlabel(t_program_infos program, t_axe_label label) / reserve and fix a new label. It returns either the label assigned or the value LABEL_UNSPECIFIED if an error occurred / extern t_axe_label assignnewlabel(t_program_infos program) / add a variable to the program / extern void createvariable(t_program_infos program, char ID, int type, int isarray, int arraysize, int init_val) / get a previously allocated variable / extern t_axe_variable getvariable (t_program_infos program, char ID) / get the label that marks the starting address of the variable with name "ID" / extern t_axe_label getlabelfromvariableid (t_program_infos program, char ID) / get a register still not used. This function returns the ID of the register found/ extern int getnewregister(t_program_infos program) axe_expressions.h axe_expressions.h / / This function generates instructions for binary numeric operations. It takes as input two expressions and a binary operation identifier, and it returns a new expression that represents the result of the specified binary operation applied to exp1 and exp2. Valid values for binop are: ADD ANDB ORB SUB MUL DIV / extern t_axe_expression handle_bin_numeric_op (t_program_infos program, t_axe_expression exp1, t_axe_expression exp2, int binop) / This function generates instructions that perform a comparison between two values. It takes as input two expressions and a binary comparison identifier, and it returns a new expression that represents the result of the specified binary comparison between exp1 and exp2. Valid values for condition are: _LT_ (used when is needed to test if the value of exp1 is less than the value of exp2 ) _GT_ (used when is needed to test if the value of exp1 is greater than the value of exp2 ) _EQ_ (used when is needed to test if the value of exp1 is equal to the value of exp2 ) _NOTEQ_ (used when is needed to test if the value of exp1 is not equal to the value of exp2 ) _LTEQ_ (used when is needed to test if the value of exp1 is less than or equal to the value of exp2 ) _GTEQ_ (used when is needed to test if the value of exp1 is greater tha n the value of exp2 ) / extern t_axe_expression handle_binary_comparison (t_program_infos program, t_axe_expression exp1, t_axe_expression exp2, int condition) Sheet 3/6

4 axe_gencode.h V Page 1/3 / axe_gencode.h CODE GENERATION / / NOP & HALT / extern t_axe_instruction gen_nop_instruction (t_program_infos program) extern t_axe_instruction gen_halt_instruction (t_program_infos program) / UNARY OPERATIONS / / A LOAD instruction requires the following parameters: 1. A destination register (where will be loaded the requested value) 2. A label information (can be a NULL pointer. If so, the addess value will be taken into consideration) 3. A direct address (if label is different from NULL) / extern t_axe_instruction gen_load_instruction (t_program_infos program, int r_dest, t_axe_label label, int address) extern t_axe_instruction gen_read_instruction (t_program_infos program, int r_dest) extern t_axe_instruction gen_write_instruction (t_program_infos program, int r_dest) / A STORE instruction copies a value from a register to a specific memory location. The memory location can be either a label identifier or a address reference. In order to create a STORE instruction the caller must privide a valid register location ( r_dest ) and an instance of t_axe_label or a numeric address / extern t_axe_instruction gen_store_instruction (t_program_infos program, int r_dest, t_axe_label label, int address) / A MOVA instruction copies an address value into a register. An address can be either an instance of t_axe_label or a number (numeric address) / extern t_axe_instruction gen_mova_instruction (t_program_infos program, int r_dest, t_axe_label label, int address) / STATUS REGISTER TEST INSTRUCTIONS / / rdest = 1 if the last numeric operation is gte 0 rdest = 0 otherwise / extern t_axe_instruction gen_sge_instruction (t_program_infos program, int r_dest) / EQ / extern t_axe_instruction gen_seq_instruction (t_program_infos program, int r_dest) / GT / extern t_axe_instruction gen_sgt_instruction (t_program_infos program, int r_dest) / LE / extern t_axe_instruction gen_sle_instruction (t_program_infos program, int r_dest) / LT / extern t_axe_instruction gen_slt_instruction (t_program_infos program, int r_dest) / NE / extern t_axe_instruction gen_sne_instruction (t_program_infos program, int r_dest) / BINARY OPERATIONS / / REGISTER = REGISTER OP IMMEDIATE Suffix "li" means logical Suffix "bi" means bitwise Prefix "e" means exclusive / extern t_axe_instruction gen_addi_instruction (t_program_infos program, int r_dest, int r_source1, int immediate) extern t_axe_instruction gen_subi_instruction (t_program_infos program, int r_dest, int r_source1, int immediate) extern t_axe_instruction gen_andli_instruction axe_gencode.h V Page 2/3 (t_program_infos program, int r_dest, int r_source1, int immediate) extern t_axe_instruction gen_orli_instruction (t_program_infos program, int r_dest, int r_source1, int immediate) extern t_axe_instruction gen_eorli_instruction (t_program_infos program, int r_dest, int r_source1, int immediate) extern t_axe_instruction gen_andbi_instruction (t_program_infos program, int r_dest, int r_source1, int immediate) extern t_axe_instruction gen_muli_instruction (t_program_infos program, int r_dest, int r_source1, int immediate) extern t_axe_instruction gen_orbi_instruction (t_program_infos program, int r_dest, int r_source1, int immediate) extern t_axe_instruction gen_eorbi_instruction (t_program_infos program, int r_dest, int r_source1, int immediate) extern t_axe_instruction gen_divi_instruction (t_program_infos program, int r_dest, int r_source1, int immediate) // SHL = shift left extern t_axe_instruction gen_shli_instruction (t_program_infos program, int r_dest, int r_source1, int immediate) extern t_axe_instruction gen_shri_instruction (t_program_infos program, int r_dest, int r_source1, int immediate) extern t_axe_instruction gen_notl_instruction (t_program_infos program, int r_dest, int r_source1) extern t_axe_instruction gen_notb_instruction (t_program_infos program, int r_dest, int r_source1) / TERNARY OPERATIONS REGISTER = REGISTER OP REGISTER Suffix "l" means logical Suffic "b" means bitwise / extern t_axe_instruction gen_add_instruction (t_program_infos program, int r_dest, int r_source1, int r_source2, int flags) extern t_axe_instruction gen_sub_instruction (t_program_infos program, int r_dest, int r_source1, int r_source2, int flags) extern t_axe_instruction gen_andl_instruction (t_program_infos program, int r_dest, int r_source1, int r_source2, int flags) extern t_axe_instruction gen_orl_instruction (t_program_infos program, int r_dest, int r_source1, int r_source2, int flags) extern t_axe_instruction gen_eorl_instruction (t_program_infos program, int r_dest, int r_source1, int r_source2, int flags) extern t_axe_instruction gen_andb_instruction (t_program_infos program, int r_dest, int r_source1, int r_source2, int flags) extern t_axe_instruction gen_orb_instruction (t_program_infos program, int r_dest, int r_source1, int r_source2, int flags) extern t_axe_instruction gen_eorb_instruction (t_program_infos program, int r_dest, int r_source1, int r_source2, int flags) extern t_axe_instruction gen_mul_instruction (t_program_infos program, int r_dest, int r_source1, int r_source2, int flags) extern t_axe_instruction gen_div_instruction (t_program_infos program, int r_dest, int r_source1, int r_source2, int flags) extern t_axe_instruction gen_shl_instruction (t_program_infos program, int r_dest, int r_source1, int r_source2, int flags) extern t_axe_instruction gen_shr_instruction (t_program_infos program, int r_dest, int r_source1, int r_source2, int flags) extern t_axe_instruction gen_neg_instruction (t_program_infos program, int r_dest, int r_source, int flags) extern t_axe_instruction gen_spcl_instruction (t_program_infos program, int r_dest, int r_source1, int r_source2, int flags) / JUMP INSTRUCTIONS / extern t_axe_instruction gen_bt_instruction (t_program_infos program, t_axe_label label, int addr) extern t_axe_instruction gen_bf_instruction (t_program_infos program, t_axe_label label, int addr) extern t_axe_instruction gen_bhi_instruction Sheet 4/6 axe_gencode.h V Page 3/3 (t_program_infos program, t_axe_label label, int addr) extern t_axe_instruction gen_bls_instruction (t_program_infos program, t_axe_label label, int addr) extern t_axe_instruction gen_bcc_instruction (t_program_infos program, t_axe_label label, int addr) extern t_axe_instruction gen_bcs_instruction (t_program_infos program, t_axe_label label, int addr) extern t_axe_instruction gen_bne_instruction (t_program_infos program, t_axe_label label, int addr) extern t_axe_instruction gen_beq_instruction (t_program_infos program, t_axe_label label, int addr) extern t_axe_instruction gen_bvc_instruction (t_program_infos program, t_axe_label label, int addr) extern t_axe_instruction gen_bvs_instruction (t_program_infos program, t_axe_label label, int addr) extern t_axe_instruction gen_bpl_instruction (t_program_infos program, t_axe_label label, int addr) extern t_axe_instruction gen_bmi_instruction (t_program_infos program, t_axe_label label, int addr) extern t_axe_instruction gen_bge_instruction (t_program_infos program, t_axe_label label, int addr) extern t_axe_instruction gen_blt_instruction (t_program_infos program, t_axe_label label, int addr) extern t_axe_instruction gen_bgt_instruction (t_program_infos program, t_axe_label label, int addr) extern t_axe_instruction gen_ble_instruction (t_program_infos program, t_axe_label label, int addr) / See also: axe_utils.h for gen_load_immediate() /

5 axe_labels.h / axe_labels.h AUXILIARY FUNCTIONS FOR LABEL MANAGEMENT / / get the number of labels inside the list of labels / extern int get_number_of_labels(t_axe_label_manager lmanager) / return TRUE if the two labels hold the same identifier / extern int comparelabels(t_axe_label labela, t_axe_label labelb) / test if a label will be assigned to the next instruction / extern int isassignedlabel(t_axe_label_manager lmanager) / See also: axe_engine.h for the main label related functions / axe_struct.h V Page 1/2 axe_struct.h FUNDAMENTAL DATA STRUCTURES / typedef struct t_axe_label int labelid / label identifier / t_axe_label typedef struct t_axe_register int ID / an identifier of the register / int indirect / a boolean value: 1 if the register value is a pointer / t_axe_register typedef struct t_axe_address int addr / a Program Counter / t_axe_label labelid / a label identifier / int type / one of ADDRESS_TYPE or LABEL_TYPE / t_axe_address / A structure that defines the internal data of a Acse variable / typedef struct t_axe_variable int type / a valid data axe_constants.h / int isarray / must be TRUE if the current variable is an array / int arraysize / the size of the array. This information is useful only if the field isarray is TRUE / int init_val / initial value of the current variable. Actually it is implemented as a integer value. int is the only supported type at the moment, future developments could consist of a modification of the supported type system. Thus, maybe init_val will be modified in future. / char ID / variable identifier (should never be a NULL pointer or an empty string "") / t_axe_label labelid / a label that refers to the location of the variable inside the data segment / t_axe_variable / a simbolic assembly instruction / typedef struct t_axe_instruction int opcode / instruction opcode (for example: AXE_ADD ) / t_axe_register reg_1 / destination register / t_axe_register reg_2 / first source register / t_axe_register reg_3 / second source register / int immediate / immediate value / t_axe_address address / an address operand / char user_comment / if defined it is set to the source code instruction that generated the current assembly. This string will be written into the output code as a comment / t_axe_label labelid / a label associated with the current instruction / t_axe_instruction / this structure is used in order to define assembler directives. Directives are used in many cases such the definition of variables inside the data segment. Every instance t_axe_data contains all the informations about a single directive. An example is the directive.word that is required when the assembler must reserve a word of data inside the data segment. / typedef struct t_axe_data int directivetype / the type of the current directive (for example: DIR_WORD) / int value / the value associated with the directive / t_axe_label labelid / label associated with the current data / t_axe_data typedef struct t_axe_expression int value / an immediate value or a register identifier / int expression_type / actually only integer values are supported / t_axe_expression typedef struct t_axe_declaration int isarray / must be TRUE if the current variable is an array / int arraysize / the size of the array. This information is useful o nly if the field isarray is TRUE / int init_val / initial value of the current variable. / char ID / variable identifier (should never be a NULL pointer or an empty string "") / t_axe_declaration typedef struct t_while_statement t_axe_label label_condition / this label points to the expression that is used as loop condition / Sheet 5/6 axe_struct.h V Page 2/2 t_axe_label label_end / this label points to the instruction that follows the while construct / t_while_statement / create a label / extern t_axe_label alloc_label(int value) / create an expression / extern t_axe_expression create_expression (int value, int type) / create an instance that will mantain infos about a while statement / extern t_while_statement create_while_statement() / create an instance of t_axe_register / extern t_axe_register alloc_register(int ID, int indirect) / create an instance of t_axe_instruction / extern t_axe_instruction alloc_instruction(int opcode) / create an instance of t_axe_address / extern t_axe_address alloc_address(int type, int address, t_axe_label label) / create an instance of t_axe_data / extern t_axe_data alloc_data(int directivetype, int value, t_axe_label label) / create an instance of t_axe_variable / extern t_axe_variable alloc_variable (char ID, int type, int isarray, int arraysize, int init_val) / finalize an instance of t_axe_variable / extern void free_variable (t_axe_variable variable) / create an instance of t_axe_variable / extern t_axe_declaration alloc_declaration (char ID, int isarray, int arraysize, int init_val) / finalize an instruction info. / extern void free_instruction(t_axe_instruction inst) / finalize a data info. / extern void free_data(t_axe_data data)

6 axe_utils.h / axe_utils.h Some important functions to access the list of symbols / / create a variable for each t_axe_declaration inside the list variables. Each new variable will be of type vartype. / extern void set_new_variables(t_program_infos program, int vartype, t_list variables) / Given a variable/symbol identifier (ID) this function returns a register location where the value is stored (the value of the variable identified by ID ). If the variable/symbol has never been loaded from memory to a register, first this function searches for a free register, then it assign the variable with the given ID to the register just found. Once computed, the location (a register identifier) is returned as output to the caller. This function generates a LOAD instruction only if the flag genload is set to 1 otherwise it simply reserve a register location for a new variable in the symbol table. If an error occurs, get_symbol_location returns a REG_INVALID errorcode / extern int get_symbol_location(t_program_infos program, char ID, int genload) / Generate the instruction to load an immediate value into a new register. It returns the new register identifier or REG_INVALID if an error occurs / extern int gen_load_immediate(t_program_infos program, int immediate) / Notify the end of the program. This function is directly called from the parser when the parsing process is ended / extern void set_end_program(t_program_infos program) / collections.h A double linked list / / a list element / typedef struct t_list void data struct t_list next struct t_list prev t_list / add an element data to the list list at position pos./ extern t_list addelement(t_list list, void data, int pos) / add sorted / extern t_list addsorted(t_list list, void data, int (comparefunc)(void a, void b)) / add an element to the end of the list / extern t_list addlast(t_list list, void data) / add an element at the beginning of the list / extern t_list addfirst(t_list list, void data) / remove an element at the beginning of the list / extern t_list removefirst(t_list list) / remove an element from the list / extern t_list removeelement(t_list list, void data) / remove a link from the list list / extern t_list removeelementlink(t_list list, t_list element) / find an element inside the list list. The current implementation calls the CustomfindElement passing a NULL reference as func / extern t_list findelement(t_list list, void data) / find an element inside the list list. / extern t_list CustomfindElement(t_list list, void data, int (comparefunc)(void a, void b)) / find the position of an element inside the list. 1 if not found / extern int getposition(t_list list, t_list element) / find the length of list / extern int getlength(t_list list) / remove all the elements of a list / extern void freelist(t_list list) collections.h / get the last element of the list. Returns NULL if the list is empty or list is a NULL pointer / extern t_list getlastelement(t_list list) / retrieve the list element at position position inside the list. Returns NULL if: the list is empty, the list is a NULL pointer or the list holds less than position elements. / extern t_list getelementat(t_list list, unsigned int position) / create a new list with the same elements / extern t_list clonelist(t_list list) / add a list of elements to another list / extern t_list addlist(t_list list, t_list elements) / add a list of elements to a set / extern t_list addlisttoset(t_list list, t_list elements, int (comparefunc)(void a, void b), int modified) symbol_table.h symbol_table.h Some important functions to manage the symbol table / / a symbol inside the sy_table. An element of the symbol table is composed by three fields: <ID>, <type> and <Location>. ID is a not NULL string that is used as key identifier for a symbol inside the table. type is an integer value that is used to determine the correct type of a symbol. Valid values for type are defined into "sy_table_constants.h". reg_location refers to a register location (i.e. which register contains the value of ID ). / typedef struct char ID / symbol identifier / int type / type associated with the symbol / int reg_location / a register location / t_symbol / put a symbol into the symbol table / extern int putsym(t_symbol_table table, char ID, int type) / set the location of the symbol with ID as identifier / extern int setlocation(t_symbol_table table, char ID, int reg) / get the location of the symbol with the given ID / extern int getlocation(t_symbol_table table, char ID, int errorcode) / get the type associated with the symbol with ID as identifier / extern int gettypefromid(t_symbol_table table, char ID, int type) / given a register identifier (location), it returns the ID of the variable stored inside the register location. This function returns NULL if the location is an invalid location. / extern char getidfromlocation(t_symbol_table table, int location, int errorcode) / See also: axe_utils.h for wrapper functions related to variables axe_array.h for wrapper functions related to array variables / Sheet 6/6

Project Step 7. Behavioral modeling of a dual ported register set. 1/8/ L11 Project Step 5 Copyright Joanne DeGroat, ECE, OSU 1

Project Step 7. Behavioral modeling of a dual ported register set. 1/8/ L11 Project Step 5 Copyright Joanne DeGroat, ECE, OSU 1 Project Step 7 Behavioral modeling of a dual ported register set. Copyright 2006 - Joanne DeGroat, ECE, OSU 1 The register set Register set specifications 16 dual ported registers each with 16- bit words

Læs mere

Privat-, statslig- eller regional institution m.v. Andet Added Bekaempelsesudfoerende: string No Label: Bekæmpelsesudførende

Privat-, statslig- eller regional institution m.v. Andet Added Bekaempelsesudfoerende: string No Label: Bekæmpelsesudførende Changes for Rottedatabasen Web Service The coming version of Rottedatabasen Web Service will have several changes some of them breaking for the exposed methods. These changes and the business logic behind

Læs mere

Løsning af skyline-problemet

Løsning af skyline-problemet Løsning af skyline-problemet Keld Helsgaun RUC, oktober 1999 Efter at have overvejet problemet en stund er min første indskydelse, at jeg kan opnå en løsning ved at tilføje en bygning til den aktuelle

Læs mere

Unitel EDI MT940 June 2010. Based on: SWIFT Standards - Category 9 MT940 Customer Statement Message (January 2004)

Unitel EDI MT940 June 2010. Based on: SWIFT Standards - Category 9 MT940 Customer Statement Message (January 2004) Unitel EDI MT940 June 2010 Based on: SWIFT Standards - Category 9 MT940 Customer Statement Message (January 2004) Contents 1. Introduction...3 2. General...3 3. Description of the MT940 message...3 3.1.

Læs mere

Online kursus: Programming with ANSI C

Online kursus: Programming with ANSI C Online kursus 365 dage DKK 1.999 Nr. 90198 P ekskl. moms Denne kursuspakke giver dig et bredt kendskab til sproget C, hvis standarder er specificeret af American National Standards Institute (ANSI). Kurserne

Læs mere

Aktivering af Survey funktionalitet

Aktivering af Survey funktionalitet Surveys i REDCap REDCap gør det muligt at eksponere ét eller flere instrumenter som et survey (spørgeskema) som derefter kan udfyldes direkte af patienten eller forsøgspersonen over internettet. Dette

Læs mere

CHAPTER 8: USING OBJECTS

CHAPTER 8: USING OBJECTS Ruby: Philosophy & Implementation CHAPTER 8: USING OBJECTS Introduction to Computer Science Using Ruby Ruby is the latest in the family of Object Oriented Programming Languages As such, its designer studied

Læs mere

Det er muligt at chekce følgende opg. i CodeJudge: og

Det er muligt at chekce følgende opg. i CodeJudge: og Det er muligt at chekce følgende opg. i CodeJudge:.1.7 og.1.14 Exercise 1: Skriv en forløkke, som producerer følgende output: 1 4 9 16 5 36 Bonusopgave: Modificer dit program, så det ikke benytter multiplikation.

Læs mere

RoE timestamp and presentation time in past

RoE timestamp and presentation time in past RoE timestamp and presentation time in past Jouni Korhonen Broadcom Ltd. 5/26/2016 9 June 2016 IEEE 1904 Access Networks Working Group, Hørsholm, Denmark 1 Background RoE 2:24:6 timestamp was recently

Læs mere

Portal Registration. Check Junk Mail for activation . 1 Click the hyperlink to take you back to the portal to confirm your registration

Portal Registration. Check Junk Mail for activation  . 1 Click the hyperlink to take you back to the portal to confirm your registration Portal Registration Step 1 Provide the necessary information to create your user. Note: First Name, Last Name and Email have to match exactly to your profile in the Membership system. Step 2 Click on the

Læs mere

Linear Programming ١ C H A P T E R 2

Linear Programming ١ C H A P T E R 2 Linear Programming ١ C H A P T E R 2 Problem Formulation Problem formulation or modeling is the process of translating a verbal statement of a problem into a mathematical statement. The Guidelines of formulation

Læs mere

IBM Network Station Manager. esuite 1.5 / NSM Integration. IBM Network Computer Division. tdc - 02/08/99 lotusnsm.prz Page 1

IBM Network Station Manager. esuite 1.5 / NSM Integration. IBM Network Computer Division. tdc - 02/08/99 lotusnsm.prz Page 1 IBM Network Station Manager esuite 1.5 / NSM Integration IBM Network Computer Division tdc - 02/08/99 lotusnsm.prz Page 1 New esuite Settings in NSM The Lotus esuite Workplace administration option is

Læs mere

User Manual for LTC IGNOU

User Manual for LTC IGNOU User Manual for LTC IGNOU 1 LTC (Leave Travel Concession) Navigation: Portal Launch HCM Application Self Service LTC Self Service 1. LTC Advance/Intimation Navigation: Launch HCM Application Self Service

Læs mere

Engineering of Chemical Register Machines

Engineering of Chemical Register Machines Prague International Workshop on Membrane Computing 2008 R. Fassler, T. Hinze, T. Lenser and P. Dittrich {raf,hinze,thlenser,dittrich}@minet.uni-jena.de 2. June 2008 Outline 1 Motivation Goal Realization

Læs mere

PMDK PC-Side Basic Function Reference (Version 1.0)

PMDK PC-Side Basic Function Reference (Version 1.0) PMDK PC-Side Basic Function Reference (Version 1.0) http://www.icpdas.com PMDK PC-Side Basic Function Reference V 1.0 1 Warranty All products manufactured by ICPDAS Inc. are warranted against defective

Læs mere

Basic statistics for experimental medical researchers

Basic statistics for experimental medical researchers Basic statistics for experimental medical researchers Sample size calculations September 15th 2016 Christian Pipper Department of public health (IFSV) Faculty of Health and Medicinal Science (SUND) E-mail:

Læs mere

Vores mange brugere på musskema.dk er rigtig gode til at komme med kvalificerede ønsker og behov.

Vores mange brugere på musskema.dk er rigtig gode til at komme med kvalificerede ønsker og behov. På dansk/in Danish: Aarhus d. 10. januar 2013/ the 10 th of January 2013 Kære alle Chefer i MUS-regi! Vores mange brugere på musskema.dk er rigtig gode til at komme med kvalificerede ønsker og behov. Og

Læs mere

PARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU

PARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU PARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU OUTLINE INEFFICIENCY OF ATTILA WAYS TO PARALLELIZE LOW COMPATIBILITY IN THE COMPILATION A SOLUTION

Læs mere

program fibomain(input,output); var i, j,result : integer; var x, y: integer;

program fibomain(input,output); var i, j,result : integer; var x, y: integer; program fibomain(input,output); var i, j,result : integer; procedure fib(n : integer); var x, y: integer; begin if (n=0) or (n=1) then result := 1 else begin fib(n-1); x:= result; fib(n-2); y:= result;

Læs mere

Aarhus Universitet, Science and Technology, Computer Science. Exam. Wednesday 27 June 2018, 9:00-11:00

Aarhus Universitet, Science and Technology, Computer Science. Exam. Wednesday 27 June 2018, 9:00-11:00 Page 1/12 Aarhus Universitet, Science and Technology, Computer Science Exam Wednesday 27 June 2018, 9:00-11:00 Allowed aid: None The exam questions are answered on the problem statement that is handed

Læs mere

On the complexity of drawing trees nicely: corrigendum

On the complexity of drawing trees nicely: corrigendum Acta Informatica 40, 603 607 (2004) Digital Object Identifier (DOI) 10.1007/s00236-004-0138-y On the complexity of drawing trees nicely: corrigendum Thorsten Akkerman, Christoph Buchheim, Michael Jünger,

Læs mere

ECE 551: Digital System * Design & Synthesis Lecture Set 5

ECE 551: Digital System * Design & Synthesis Lecture Set 5 ECE 551: Digital System * Design & Synthesis Lecture Set 5 5.1: Verilog Behavioral Model for Finite State Machines (FSMs) 5.2: Verilog Simulation I/O and 2001 Standard (In Separate File) 3/4/2003 1 ECE

Læs mere

Black Jack --- Review. Spring 2012

Black Jack --- Review. Spring 2012 Black Jack --- Review Spring 2012 Simulation Simulation can solve real-world problems by modeling realworld processes to provide otherwise unobtainable information. Computer simulation is used to predict

Læs mere

Help / Hjælp

Help / Hjælp Home page Lisa & Petur www.lisapetur.dk Help / Hjælp Help / Hjælp General The purpose of our Homepage is to allow external access to pictures and videos taken/made by the Gunnarsson family. The Association

Læs mere

Oracle PL/SQL. Overview of PL/SQL

Oracle PL/SQL. Overview of PL/SQL Oracle PL/SQL John Ortiz Overview of PL/SQL Oracle's Procedural Language extension to SQL. Support many programming language features. If-then-else, loops, subroutines. Program units written in PL/SQL

Læs mere

Skriftlig Eksamen Kombinatorik, Sandsynlighed og Randomiserede Algoritmer (DM528)

Skriftlig Eksamen Kombinatorik, Sandsynlighed og Randomiserede Algoritmer (DM528) Skriftlig Eksamen Kombinatorik, Sandsynlighed og Randomiserede Algoritmer (DM58) Institut for Matematik og Datalogi Syddansk Universitet, Odense Torsdag den 1. januar 01 kl. 9 13 Alle sædvanlige hjælpemidler

Læs mere

Læs venligst Beboer information om projekt vandskade - sikring i 2015/2016

Læs venligst Beboer information om projekt vandskade - sikring i 2015/2016 Læs venligst Beboer information om projekt vandskade - sikring i 2015/2016 Vi er nødsaget til at få adgang til din lejlighed!! Hvis Kridahl (VVS firma) har bedt om adgang til din/jeres lejlighed og nøgler,

Læs mere

DET KONGELIGE BIBLIOTEK NATIONALBIBLIOTEK OG KØBENHAVNS UNIVERSITETS- BIBLIOTEK. Index

DET KONGELIGE BIBLIOTEK NATIONALBIBLIOTEK OG KØBENHAVNS UNIVERSITETS- BIBLIOTEK. Index DET KONGELIGE Index Download driver... 2 Find the Windows 7 version.... 2 Download the Windows Vista driver.... 4 Extract driver... 5 Windows Vista installation of a printer.... 7 Side 1 af 12 DET KONGELIGE

Læs mere

Da beskrivelserne i danzig Profile Specification ikke er fuldt færdige, foreslås:

Da beskrivelserne i danzig Profile Specification ikke er fuldt færdige, foreslås: NOTAT 6. juni 2007 J.nr.: 331-3 LEA Bilag A danzig-møde 15.6.2007 Opdatering af DAN-1 og danzig Profile Specification Forslag til opdatering af Z39.50 specifikationerne efter udgivelse af Praksisregler

Læs mere

Userguide. NN Markedsdata. for. Microsoft Dynamics CRM 2011. v. 1.0

Userguide. NN Markedsdata. for. Microsoft Dynamics CRM 2011. v. 1.0 Userguide NN Markedsdata for Microsoft Dynamics CRM 2011 v. 1.0 NN Markedsdata www. Introduction Navne & Numre Web Services for Microsoft Dynamics CRM hereafter termed NN-DynCRM enable integration to Microsoft

Læs mere

if (symbol == IDENTIFIER) { object = findprocedureobject(symboltable, identifier);

if (symbol == IDENTIFIER) { object = findprocedureobject(symboltable, identifier); procedureimplementation() { struct item_t* item; struct object_t* object; item = malloc(sizeof(struct item_t)); returntype(item); if (symbol == IDENTIFIER) { object = findprocedureobject(symboltable, identifier);

Læs mere

Sortering fra A-Z. Henrik Dorf Chefkonsulent SAS Institute

Sortering fra A-Z. Henrik Dorf Chefkonsulent SAS Institute Sortering fra A-Z Henrik Dorf Chefkonsulent SAS Institute Hvorfor ikke sortering fra A-Å? Det er for svært Hvorfor ikke sortering fra A-Å? Hvorfor ikke sortering fra A-Å? Hvorfor ikke sortering fra A-Å?

Læs mere

! "# $$ &'()*"* +*, & &"*0* & "# % %- %

! # $$ &'()** +*, & &*0* & # % %- % !"! "# $$ & &'()*"* +*, &- & &"./+0 & &"*0* & & & 1 2 ()))))$$" "# - " # $!&!!" 34 3((5(4 6()))))5 3((5# 7())))) 4 3((58 43((58 3((5#9! 3((5#4 3((584 6 9 # '"!&()!" * " 49 9-3 :; & Private Sub Workbook_Open()

Læs mere

how to save excel as pdf

how to save excel as pdf 1 how to save excel as pdf This guide will show you how to save your Excel workbook as PDF files. Before you do so, you may want to copy several sheets from several documents into one document. To do so,

Læs mere

Skriftlig Eksamen Automatteori og Beregnelighed (DM17)

Skriftlig Eksamen Automatteori og Beregnelighed (DM17) Skriftlig Eksamen Automatteori og Beregnelighed (DM17) Institut for Matematik & Datalogi Syddansk Universitet Odense Campus Lørdag, den 15. Januar 2005 Alle sædvanlige hjælpemidler (lærebøger, notater

Læs mere

Strings and Sets: set complement, union, intersection, etc. set concatenation AB, power of set A n, A, A +

Strings and Sets: set complement, union, intersection, etc. set concatenation AB, power of set A n, A, A + Strings and Sets: A string over Σ is any nite-length sequence of elements of Σ The set of all strings over alphabet Σ is denoted as Σ Operators over set: set complement, union, intersection, etc. set concatenation

Læs mere

Chapter. Information Representation

Chapter. Information Representation Chapter 3 Information Representation (a) A seven-bit cell. Figure 3. Figure 3. (Continued) (b) Some possible values in a seven-bit cell. Figure 3. (Continued) 6 8 7 2 5 J A N U A R Y (c) Some impossible

Læs mere

Design by Contract Bertrand Meyer Design and Programming by Contract. Oversigt. Prædikater

Design by Contract Bertrand Meyer Design and Programming by Contract. Oversigt. Prædikater Design by Contract Bertrand Meyer 1986 Design and Programming by Contract Michael R. Hansen & Anne Haxthausen mrh@imm.dtu.dk Informatics and Mathematical Modelling Technical University of Denmark Design

Læs mere

Skriftlig Eksamen Diskret matematik med anvendelser (DM72)

Skriftlig Eksamen Diskret matematik med anvendelser (DM72) Skriftlig Eksamen Diskret matematik med anvendelser (DM72) Institut for Matematik & Datalogi Syddansk Universitet, Odense Onsdag den 18. januar 2006 Alle sædvanlige hjælpemidler (lærebøger, notater etc.),

Læs mere

WIFI koder til Miljøagenturet: Brugernavn: AIACE course Kodeord: TsEG2pVL EU LOGIN KURSUS 21. AUGUST FORMIDDAG:

WIFI koder til Miljøagenturet: Brugernavn: AIACE course Kodeord: TsEG2pVL EU LOGIN KURSUS 21. AUGUST FORMIDDAG: WIFI koder til Miljøagenturet: Brugernavn: AIACE course Kodeord: TsEG2pVL EU LOGIN KURSUS 21. AUGUST 2019 - FORMIDDAG: EU Login er EU s NemID. Det er blot adgangsnøglen til en række EU-applikationer. Vælg

Læs mere

ATEX direktivet. Vedligeholdelse af ATEX certifikater mv. Steen Christensen stec@teknologisk.dk www.atexdirektivet.

ATEX direktivet. Vedligeholdelse af ATEX certifikater mv. Steen Christensen stec@teknologisk.dk www.atexdirektivet. ATEX direktivet Vedligeholdelse af ATEX certifikater mv. Steen Christensen stec@teknologisk.dk www.atexdirektivet.dk tlf: 7220 2693 Vedligeholdelse af Certifikater / tekniske dossier / overensstemmelseserklæringen.

Læs mere

ArbejsskadeAnmeldelse

ArbejsskadeAnmeldelse ArbejsskadeAnmeldelse OpretAnmeldelse 001 All Klassifikations: KlassifikationKode is an unknown value in the current Klassifikation 002 All Klassifikations: KlassifikationKode does not correspond to KlassifikationTekst

Læs mere

Heuristics for Improving

Heuristics for Improving Heuristics for Improving Model Learning Based Testing Muhammad Naeem Irfan VASCO-LIG LIG, Computer Science Lab, Grenoble Universities, 38402 Saint Martin d Hères France Introduction Component Based Software

Læs mere

Skriftlig Eksamen Beregnelighed (DM517)

Skriftlig Eksamen Beregnelighed (DM517) Skriftlig Eksamen Beregnelighed (DM517) Institut for Matematik & Datalogi Syddansk Universitet Mandag den 7 Januar 2008, kl. 9 13 Alle sædvanlige hjælpemidler (lærebøger, notater etc.) samt brug af lommeregner

Læs mere

Snitfladedokumentation til fagsystemer v 1.1

Snitfladedokumentation til fagsystemer v 1.1 MEMO Produced by: Peter Ravnholt 1. INDLEDNING... 2 SIKKERHED... 2 2. ÆNDRINGSLOG... 3 VERSION 1.1... 3 3. EKSEMPELSCENARIE... 3 UDFYLD ET NYT SPØRGESKEMA... 3 4. SERVICE CONTRACTS... 5 GETQUESTIONNAIREDEFINITIONLIST...

Læs mere

Popular Sorting Algorithms CHAPTER 7: SORTING & SEARCHING. Popular Sorting Algorithms. Selection Sort 4/23/2013

Popular Sorting Algorithms CHAPTER 7: SORTING & SEARCHING. Popular Sorting Algorithms. Selection Sort 4/23/2013 Popular Sorting Algorithms CHAPTER 7: SORTING & SEARCHING Introduction to Computer Science Using Ruby Computers spend a tremendous amount of time sorting The sorting problem: given a list of elements in

Læs mere

Fejlbeskeder i SMDB. Business Rules Fejlbesked Kommentar. Validate Business Rules. Request- ValidateRequestRegist ration (Rules :1)

Fejlbeskeder i SMDB. Business Rules Fejlbesked Kommentar. Validate Business Rules. Request- ValidateRequestRegist ration (Rules :1) Fejlbeskeder i SMDB Validate Business Rules Request- ValidateRequestRegist ration (Rules :1) Business Rules Fejlbesked Kommentar the municipality must have no more than one Kontaktforløb at a time Fejl

Læs mere

The X Factor. Målgruppe. Læringsmål. Introduktion til læreren klasse & ungdomsuddannelser Engelskundervisningen

The X Factor. Målgruppe. Læringsmål. Introduktion til læreren klasse & ungdomsuddannelser Engelskundervisningen The X Factor Målgruppe 7-10 klasse & ungdomsuddannelser Engelskundervisningen Læringsmål Eleven kan give sammenhængende fremstillinger på basis af indhentede informationer Eleven har viden om at søge og

Læs mere

Generalized Probit Model in Design of Dose Finding Experiments. Yuehui Wu Valerii V. Fedorov RSU, GlaxoSmithKline, US

Generalized Probit Model in Design of Dose Finding Experiments. Yuehui Wu Valerii V. Fedorov RSU, GlaxoSmithKline, US Generalized Probit Model in Design of Dose Finding Experiments Yuehui Wu Valerii V. Fedorov RSU, GlaxoSmithKline, US Outline Motivation Generalized probit model Utility function Locally optimal designs

Læs mere

Skriftlig Eksamen Beregnelighed (DM517)

Skriftlig Eksamen Beregnelighed (DM517) Skriftlig Eksamen Beregnelighed (DM517) Institut for Matematik & Datalogi Syddansk Universitet Mandag den 31 Oktober 2011, kl. 9 13 Alle sædvanlige hjælpemidler (lærebøger, notater etc.) samt brug af lommeregner

Læs mere

Angle Ini/al side Terminal side Vertex Standard posi/on Posi/ve angles Nega/ve angles. Quadrantal angle

Angle Ini/al side Terminal side Vertex Standard posi/on Posi/ve angles Nega/ve angles. Quadrantal angle Mrs. Valentine AFM Objective: I will be able to identify angle types, convert between degrees and radians for angle measures, identify coterminal angles, find the length of an intercepted arc, and find

Læs mere

Programmering i C Videre med C (2 af 4) 19. marts 2007

Programmering i C Videre med C (2 af 4) 19. marts 2007 Programmering i C Videre med C (2 af 4) 19. marts 2007 Mads Pedersen, OZ6HR mads@oz6hr.dk Plan i dag Brush-up fra sidst Videre med C Kontrolløkker (while, for, ) Conditional Execution (if, if/else) Funktioner

Læs mere

INGENIØRHØJSKOLEN I ÅRHUS Elektro- og IKT-afdelingen. I3PRG3 + I3DTM3 + I3ISY1-3. semester

INGENIØRHØJSKOLEN I ÅRHUS Elektro- og IKT-afdelingen. I3PRG3 + I3DTM3 + I3ISY1-3. semester INGENIØRHØJSKOLEN I ÅRHUS Elektro- og IKT-afdelingen Side 1 af 7 Eksamenstermin: DECEMBER 2003 / JANUAR 2004 Varighed: 4 timer - fra kl. 9.00 til kl. 13.00 Ingeniørhøjskolen udleverer: 3 omslag samt papir

Læs mere

Terese B. Thomsen 1.semester Formidling, projektarbejde og webdesign ITU DMD d. 02/11-2012

Terese B. Thomsen 1.semester Formidling, projektarbejde og webdesign ITU DMD d. 02/11-2012 Server side Programming Wedesign Forelæsning #8 Recap PHP 1. Development Concept Design Coding Testing 2. Social Media Sharing, Images, Videos, Location etc Integrates with your websites 3. Widgets extend

Læs mere

Accessing the ALCOTEST Instrument Upload Data - NJSP Public Website page -

Accessing the ALCOTEST Instrument Upload Data - NJSP Public Website page - Accessing the ALCOTEST Instrument Upload Data - NJSP Public Website page - www.njsp.org Public Information Access Public Information Page Selection Within the Public Information Drop Down list, select

Læs mere

Verilog HDL. Presented by: Amir Masoud Gharehbaghi

Verilog HDL. Presented by: Amir Masoud Gharehbaghi Verilog HDL Presented by: Amir Masoud Gharehbaghi Email: amgh@mehr.sharif.edu Design Hierarchy Design Specification & Requirements Behavioral Design Register Transfer Level (RTL) Design Logic Design Circuit

Læs mere

CS 4390/5387 SOFTWARE V&V LECTURE 5 BLACK-BOX TESTING - 2

CS 4390/5387 SOFTWARE V&V LECTURE 5 BLACK-BOX TESTING - 2 1 CS 4390/5387 SOFTWARE V&V LECTURE 5 BLACK-BOX TESTING - 2 Outline 2 HW Solution Exercise (Equivalence Class Testing) Exercise (Decision Table Testing) Pairwise Testing Exercise (Pairwise Testing) 1 Homework

Læs mere

Resource types R 1 1, R 2 2,..., R m CPU cycles, memory space, files, I/O devices Each resource type R i has W i instances.

Resource types R 1 1, R 2 2,..., R m CPU cycles, memory space, files, I/O devices Each resource type R i has W i instances. System Model Resource types R 1 1, R 2 2,..., R m CPU cycles, memory space, files, I/O devices Each resource type R i has W i instances. Each process utilizes a resource as follows: request use e.g., request

Læs mere

Learnings from the implementation of Epic

Learnings from the implementation of Epic Learnings from the implementation of Epic Appendix Picture from Region H (2016) A thesis report by: Oliver Metcalf-Rinaldo, oliv@itu.dk Stephan Mosko Jensen, smos@itu.dk Appendix - Table of content Appendix

Læs mere

Business Rules Fejlbesked Kommentar

Business Rules Fejlbesked Kommentar Fejlbeskeder i SMDB Validate Business Request- ValidateRequestRegi stration ( :1) Business Fejlbesked Kommentar the municipality must have no more than one Kontaktforløb at a time Fejl 1: Anmodning En

Læs mere

! #!! $ % $! & " &'"! & *+ "! " $ $ ""!,-! $!.! $! " # 1!! &' "

! #!! $ % $! &  &'! & *+ !  $ $ !,-! $!.! $!  # 1!! &' ""# "" # $ % $ & " &'" & " "()" *+ " " $ $ *+" $ %"&'" "( "",- $. + /"&'"-0 $ " # 1 &' " +"% $ %'('" 2 ' ) )030 )030) * )033 " )033 // " " 1 1 41 ")035)036 5- " " " *+773,8 *+ % " " )035& " )036& " 1 %"

Læs mere

Fejlbeskeder i Stofmisbrugsdatabasen (SMDB)

Fejlbeskeder i Stofmisbrugsdatabasen (SMDB) Fejlbeskeder i Stofmisbrugsdatabasen (SMDB) Oversigt over fejlbeskeder (efter fejlnummer) ved indberetning til SMDB via webløsning og via webservices (hvor der dog kan være yderligere typer fejlbeskeder).

Læs mere

Bilag 8. TDC technical requirements for approval of splitterfilters and inline filters intended for shared access (ADSL or VDSL over POTS).

Bilag 8. TDC technical requirements for approval of splitterfilters and inline filters intended for shared access (ADSL or VDSL over POTS). Bilag 8. TDC technical requirements for approval of splitters and inline s intended for shared access (ADSL or VDSL over POTS). Dette bilag udgør bilag 8 til det mellem parterne tiltrådte Produkttillæg

Læs mere

CHR/chr veksling med sporbarhedssystemet T-doc. Neden stående krav skal være opfyldt vedr. dataudveksling mellem apparater og sporbarhedssystem.

CHR/chr veksling med sporbarhedssystemet T-doc. Neden stående krav skal være opfyldt vedr. dataudveksling mellem apparater og sporbarhedssystem. T-doc Dataudveksling Sag Vejle Sygehus Sterilcentral Projektnr. 103463 Projekt STERILCENTRAL Dato 2011-07-08 Emne Apparatur til sterilcentral, krav til dataud- Initialer CHR/chr veksling med sporbarhedssystemet

Læs mere

Besvarelser til Lineær Algebra Reeksamen Februar 2017

Besvarelser til Lineær Algebra Reeksamen Februar 2017 Besvarelser til Lineær Algebra Reeksamen - 7. Februar 207 Mikkel Findinge Bemærk, at der kan være sneget sig fejl ind. Kontakt mig endelig, hvis du skulle falde over en sådan. Dette dokument har udelukkende

Læs mere

SAS Corporate Program Website

SAS Corporate Program Website SAS Corporate Program Website Dear user We have developed SAS Corporate Program Website to make the administration of your company's travel activities easier. You can read about it in this booklet, which

Læs mere

Engelsk. Niveau C. De Merkantile Erhvervsuddannelser September 2005. Casebaseret eksamen. www.jysk.dk og www.jysk.com.

Engelsk. Niveau C. De Merkantile Erhvervsuddannelser September 2005. Casebaseret eksamen. www.jysk.dk og www.jysk.com. 052430_EngelskC 08/09/05 13:29 Side 1 De Merkantile Erhvervsuddannelser September 2005 Side 1 af 4 sider Casebaseret eksamen Engelsk Niveau C www.jysk.dk og www.jysk.com Indhold: Opgave 1 Presentation

Læs mere

MSE PRESENTATION 2. Presented by Srunokshi.Kaniyur.Prema. Neelakantan Major Professor Dr. Torben Amtoft

MSE PRESENTATION 2. Presented by Srunokshi.Kaniyur.Prema. Neelakantan Major Professor Dr. Torben Amtoft CAPABILITY CONTROL LIST MSE PRESENTATION 2 Presented by Srunokshi.Kaniyur.Prema. Neelakantan Major Professor Dr. Torben Amtoft PRESENTATION OUTLINE Action items from phase 1 presentation tti Architecture

Læs mere

Side 1 af 9. SEPA Direct Debit Betalingsaftaler Vejledning

Side 1 af 9. SEPA Direct Debit Betalingsaftaler Vejledning Side 1 af 9 SEPA Direct Debit Betalingsaftaler Vejledning 23.11.2015 1. Indledning Denne guide kan anvendes af kreditorer, som ønsker at gøre brug af SEPA Direct Debit til opkrævninger i euro. Guiden kan

Læs mere

Exercise 6.14 Linearly independent vectors are also affinely independent.

Exercise 6.14 Linearly independent vectors are also affinely independent. Affine sets Linear Inequality Systems Definition 6.12 The vectors v 1, v 2,..., v k are affinely independent if v 2 v 1,..., v k v 1 is linearly independent; affinely dependent, otherwise. We first check

Læs mere

Basic Design Flow. Logic Design Logic synthesis Logic optimization Technology mapping Physical design. Floorplanning Placement Fabrication

Basic Design Flow. Logic Design Logic synthesis Logic optimization Technology mapping Physical design. Floorplanning Placement Fabrication Basic Design Flow System design System/Architectural Design Instruction set for processor Hardware/software partition Memory, cache Logic design Logic Design Logic synthesis Logic optimization Technology

Læs mere

Sammenligning af adresser til folkeregistrering (CPR) og de autoritative adresser

Sammenligning af adresser til folkeregistrering (CPR) og de autoritative adresser Sammenligning af adresser til folkeregistrering (CPR) og de autoritative adresser Comparison of addresses used in the population register and the authentic addresses Side 1 Formål Purpose Undersøge omfanget

Læs mere

Eksternt Manifest API

Eksternt Manifest API Eksternt Manifest API URL TRANSPORTATION COMPANY /transportation-company /transportation-company/{transportationcompanyid} MANIFEST /manifest /manifest /manifest/{manifestid} /manifest/{manifestid} /manifest/{manifestid}

Læs mere

% &$ # '$ ## () %! #! & # &, # / # 0&. ) 123 45 / & #& #

% &$ # '$ ## () %! #! & # &, # / # 0&. ) 123 45 / & #& # !"$!!"$ % &$ '$ () %! %"!" & * function &+! & &, --.& / 0&. ) 123 45 / & & & 6 Sub CalcVecProduct() * &3.5 & 2 &6 / 7$ & & & "%&$&"! 2 " $ " 8 $ & $/ $ $" 9&6 Sub test() streng_y = "det her går " streng_y

Læs mere

Statistik for MPH: 7

Statistik for MPH: 7 Statistik for MPH: 7 3. november 2011 www.biostat.ku.dk/~pka/mph11 Attributable risk, bestemmelse af stikprøvestørrelse (Silva: 333-365, 381-383) Per Kragh Andersen 1 Fra den 6. uges statistikundervisning:

Læs mere

Forslag til implementering af ResearcherID og ORCID på SCIENCE

Forslag til implementering af ResearcherID og ORCID på SCIENCE SCIENCE Forskningsdokumentation Forslag til implementering af ResearcherID og ORCID på SCIENCE SFU 12.03.14 Forslag til implementering af ResearcherID og ORCID på SCIENCE Hvad er WoS s ResearcherID? Hvad

Læs mere

Design til digitale kommunikationsplatforme-f2013

Design til digitale kommunikationsplatforme-f2013 E-travellbook Design til digitale kommunikationsplatforme-f2013 ITU 22.05.2013 Dreamers Lana Grunwald - svetlana.grunwald@gmail.com Iya Murash-Millo - iyam@itu.dk Hiwa Mansurbeg - hiwm@itu.dk Jørgen K.

Læs mere

Name: Week of April 15 MathWorksheets.com

Name: Week of April 15 MathWorksheets.com Get a fidget spinner! Spin it. I needed to spin time(s) to finish. Spin again. Add. Complete each number bond. I needed to spin time(s) to finish. How many times do you need to spin? I needed to spin time(s)

Læs mere

Website review groweasy.dk

Website review groweasy.dk Website review groweasy.dk Generated on September 01 2016 10:32 AM The score is 56/100 SEO Content Title Webbureau Odense GrowEasy hjælper dig med digital markedsføring! Length : 66 Perfect, your title

Læs mere

Molio specifications, development and challenges. ICIS DA 2019 Portland, Kim Streuli, Molio,

Molio specifications, development and challenges. ICIS DA 2019 Portland, Kim Streuli, Molio, Molio specifications, development and challenges ICIS DA 2019 Portland, Kim Streuli, Molio, 2019-06-04 Introduction The current structure is challenged by different factors. These are for example : Complex

Læs mere

GUIDE TIL BREVSKRIVNING

GUIDE TIL BREVSKRIVNING GUIDE TIL BREVSKRIVNING APPELBREVE Formålet med at skrive et appelbrev er at få modtageren til at overholde menneskerettighederne. Det er en god idé at lægge vægt på modtagerens forpligtelser over for

Læs mere

Vina Nguyen HSSP July 13, 2008

Vina Nguyen HSSP July 13, 2008 Vina Nguyen HSSP July 13, 2008 1 What does it mean if sets A, B, C are a partition of set D? 2 How do you calculate P(A B) using the formula for conditional probability? 3 What is the difference between

Læs mere

Innovative Business Software A/S. TN Sms-parsing. Innovative Security Manager

Innovative Business Software A/S. TN Sms-parsing. Innovative Security Manager Innovative Business Software A/S TN Sms-parsing Innovative Security Manager 30. oktober 2017 MEDDELELSE OM OPHAVSRET Copyright 2017 Innovative Business Software A/S. Alle rettigheder forbeholdt. Oplysningerne

Læs mere

Design by Contract. Design and Programming by Contract. Oversigt. Prædikater

Design by Contract. Design and Programming by Contract. Oversigt. Prædikater Design by Contract Design and Programming by Contract Anne Haxthausen ah@imm.dtu.dk Informatics and Mathematical Modelling Technical University of Denmark Design by Contract er en teknik til at specificere

Læs mere

DANSK INSTALLATIONSVEJLEDNING VLMT500 ADVARSEL!

DANSK INSTALLATIONSVEJLEDNING VLMT500 ADVARSEL! DANSK INSTALLATIONSVEJLEDNING VLMT500 Udpakningsinstruktioner Åben indpakningen forsigtigt og læg indholdet på et stykke pap eller en anden beskyttende overflade for at undgå beskadigelse. Kontroller at

Læs mere

Hvordan vælger jeg dokumentprofilen?

Hvordan vælger jeg dokumentprofilen? Hvordan vælger jeg dokumentprofilen? Valget af OIOUBL profil i en konkret dokumentudveksling vil bl.a. afhænge af, hvilke OIOUBL profiler den anden part i udvekslingen understøtter. Et konkret eksempel

Læs mere

Niveauer af abstrakte maskiner

Niveauer af abstrakte maskiner Mikroarkitektur Niveauer af abstrakte maskiner Spørgsmål... Hvordan realiseres IJVM maskinen (lev. 2), eller hvordan ser en IJVM-CPU ud? Opbygning (mikroarkitekturen Mic-1) Anvendelse (mikroprogrammet

Læs mere

Engelsk. Niveau D. De Merkantile Erhvervsuddannelser September Casebaseret eksamen. og

Engelsk. Niveau D. De Merkantile Erhvervsuddannelser September Casebaseret eksamen.  og 052431_EngelskD 08/09/05 13:29 Side 1 De Merkantile Erhvervsuddannelser September 2005 Side 1 af 4 sider Casebaseret eksamen Engelsk Niveau D www.jysk.dk og www.jysk.com Indhold: Opgave 1 Presentation

Læs mere

Internt interrupt - Arduino

Internt interrupt - Arduino Programmering for begyndere Brug af Arduino Internt interrupt - Arduino - Afslutning EDR Hillerød Knud Krogsgaard Jensen / OZ1QK 1 Intern interrupt Jeg vil rydde lidt op. Her er nogle punkter vil har glemt

Læs mere

result = val[0][0], val[1][1], val[0][0], val[2], val[4]))

result = val[0][0], val[1][1], val[0][0], val[2], val[4])) # # intp # class Intp::Parser prechigh nonassoc UMINUS left '*' '/' left '+' '-' nonassoc EQ preclow rule program : stmt_list result = RootNode.new( val[0] ) stmt_list : result = [] stmt_list stmt EOL

Læs mere

Projekt DATA step view

Projekt DATA step view Projekt DATA step view Af Louise Beuchert Formål Formålet med dette projekt, er at sammenligne tid/ressourcekonsekvenser ved at køre SASjobs på data hentet som henholdsvis en fysisk kopi af data filen

Læs mere

X M Y. What is mediation? Mediation analysis an introduction. Definition

X M Y. What is mediation? Mediation analysis an introduction. Definition What is mediation? an introduction Ulla Hvidtfeldt Section of Social Medicine - Investigate underlying mechanisms of an association Opening the black box - Strengthen/support the main effect hypothesis

Læs mere

Probabilistic properties of modular addition. Victoria Vysotskaya

Probabilistic properties of modular addition. Victoria Vysotskaya Probabilistic properties of modular addition Victoria Vysotskaya JSC InfoTeCS, NPK Kryptonite CTCrypt 19 / June 4, 2019 vysotskaya.victory@gmail.com Victoria Vysotskaya (Infotecs, Kryptonite) Probabilistic

Læs mere

F# - hvorfor, hvordan og til hvad? Rune Ibsen Jyske Bank

F# - hvorfor, hvordan og til hvad? Rune Ibsen Jyske Bank F# - hvorfor, hvordan og til hvad? Rune Ibsen Jyske Bank 03-10-2018 Rune Ibsen Softwareudvikling Seniorkonsulent Mentoring 10 konsulenter F# Programmeringssprog som oversættes til.net Functional-first,

Læs mere

Boligsøgning / Search for accommodation!

Boligsøgning / Search for accommodation! Boligsøgning / Search for accommodation! For at guide dig frem til den rigtige vejledning, skal du lige svare på et par spørgsmål: To make sure you are using the correct guide for applying you must answer

Læs mere

Sikkerhedsvejledning

Sikkerhedsvejledning 11-01-2018 2 Sikkerhedsvejledning VIGTIGT! Venligst læs disse instruktioner inden sengen samles og tages i brug Tjek at alle dele og komponenter er til stede som angivet i vejledningen Fjern alle beslagsdele

Læs mere

Freefly B-Række Regler

Freefly B-Række Regler Freefly B-Række Regler Freefly B-Rækken er skabt til at imødekomme både nye og erfarende freeflyere, og præsentere dem for konkurrence elementet. Der konkurreres efter FAI regler, men der forekommer dog

Læs mere

Trolling Master Bornholm 2014

Trolling Master Bornholm 2014 Trolling Master Bornholm 2014 (English version further down) Populært med tidlig færgebooking Booking af færgebilletter til TMB 2014 er populært. Vi har fået en stribe mails fra teams, som har booket,

Læs mere

ODIN-webservice ændringer release 2010 v2.0

ODIN-webservice ændringer release 2010 v2.0 DOKUMENTATION OG VEJLEDNING ODIN-webservice ændringer release 2010 v2.0 Indholdsfortegnelse 1. Nye webservice metoder... 2 1.1 Anvendelse af køretøjer og personel fra fremmede beredskaber ifm. indberetning

Læs mere

SEPA Direct Debit. Mandat Vejledning 2013.03.15. Nets Lautrupbjerg 10 DK-2750 Ballerup

SEPA Direct Debit. Mandat Vejledning 2013.03.15. Nets Lautrupbjerg 10 DK-2750 Ballerup SEPA Direct Debit Mandat Vejledning 2013.03.15 Nets Lautrupbjerg 10 DK-2750 Ballerup Indholdsfortegnelse 1. Indledning... 3 1.1 Tilknyttet dokumentation... 3 1.2 Kontakt til Nets... 3 2. Krav til SEPA

Læs mere