DEADSOFTWARE

Patched for Linux
[mp3cc.git] / MPC.3.5.LINUX / parser / parser.h
1 /********************************************************************
3 parser.h - recursive-descent parser declarations
5 Niksa Orlic, 2004-04-19
7 ********************************************************************/
10 void parser_start();
11 string* RD_program_header();
12 void RD_uses_list();
13 block* RD_block(block*);
14 void RD_const_declaration();
15 void RD_var_declaration(block*);
16 string_list* RD_identifier_list(block*, int);
17 void RD_type_declaration(block*);
18 void RD_procedure_declaration(block*);
19 void RD_function_declaration(block*);
20 int RD_proc_block(block*, type*, type_list*);
21 type_list* RD_param_list(block*);
22 void RD_block_body(block*);
23 void RD_inline_body(block*);
24 void RD_statement(block *);
25 void RD_if_statement(block *);
26 void RD_case_statement(block *);
27 void RD_case_list(block*, type*);
28 void RD_while_statement(block*);
29 void RD_repeat_statement(block*);
30 void RD_for_statement(block*);
31 type* RD_type(block*);
32 type* RD_basic_type(block*);
33 type* RD_array_declaration(block*);
34 type* RD_record_declaration(block*);
35 type* RD_file_declaration(block*);
36 void RD_set_declaration(block*);
37 type* RD_expression(block*);
38 type* RD_sum(block*);
39 type* RD_mult(block*);
40 type* RD_not(block*);
41 type* RD_neg(block*);
42 void RD_assignment_or_procedure_call(block*);
43 type_list* RD_expression_list(block*);
44 type_list* RD_expression_list_cast(block*, type_list*);
45 type_list* RD_expression_list_array(block*, bytecode*, type*);
46 void RD_with_statement(block*);
47 type* RD_value(block*);
49 void RD_unit_interface(block*);
50 void RD_unit_implementation(block*);
51 void RD_unit_initialization(block*);
52 void RD_unit_finalization(block*);
54 void create_constant_bytecode(identifier*, bytecode*);
55 void create_variable_bytecode(identifier*, bytecode*, char*, int);
56 void create_put_variable_bytecode(identifier*, bytecode*, char*, int);
58 void replace_aaload_instruction(bytecode*, type*);
59 void adjust_indices(bytecode *code, type *dimension);