2
3statement_with_semicolon(Data,Return_type,return(To_return)) -->
4 return_(Data,[
5 expr(Data,Return_type,To_return)
6 ]).
7
8statement_with_semicolon(Data,_,plus_plus(Name)) -->
9 plus_plus_(Data,[
10 var_name_(Data,int,Name)
11 ]),!.
12
13statement_with_semicolon(Data,_,minus_minus(Name)) -->
14 minus_minus_(Data,[var_name_(Data,int,Name)]),!.
15
16statement_with_semicolon(Data,_,initialize_constant(Type,Name,Expr)) -->
17 initialize_constant_(Data,[
18 var_name_(Data,Type,Name),
19 type(Data,Type),
20 expr(Data,Type,Expr)
21 ]).
22
23
24statement_with_semicolon(Data,_,set_array_size(Name,Size,Type)) -->
25 set_array_size_(Data,[
26 var_name_(Data,Name,[array,Type]),
27 expr(Data,int,Size),
28 type(Data,Type)
29 ]).
30
31statement_with_semicolon(Data,_,set_dict(Name,Index,Expr,Type)) -->
32 set_dict_(Data,[
33 var_name_(Data,[dict,Type],Name),
34 parentheses_expr(Data,string,Index),
35 expr(Data,Type,Expr)
36 ]).
37statement_with_semicolon(Data,_,set_array_index(Name,Index,Expr,Type)) -->
38 set_array_index_(Data,[
39 var_name_(Data,[array,Type],Name),
40 parentheses_expr(Data,int,Index),
41 parentheses_expr(Data,Type,Expr)
42 ]).
43
44
45statement_with_semicolon(Data,_,set_var(Name,Expr,Type)) -->
46 set_var_(Data,[
47 var_name_(Data,Type,Name),
48 expr(Data,Type,Expr)
49 ]).
50
51statement_with_semicolon(Data,_,set_instance_var(Name,Expr,Type)) -->
52 set_var_(Data,[
53 expr(Data,Type,this(Name)),
54 expr(Data,Type,Expr)
55 ]).
56
57statement_with_semicolon(Data,_,initialize_empty_var(Type,Name)) -->
58 initialize_empty_var_(Data,[
59 var_name_(Data,Type,Name),
60 type(Data,Type)
61 ]).
62
63statement_with_semicolon(Data,_,throw(Expr)) -->
64 throw_(Data,expr(Data,string,Expr)).
65
66statement_with_semicolon(Data,_,initialize_var(Name,Expr,Type)) -->
67 initialize_var_(Data,[
68 var_name_(Data,Type,Name),
69 expr(Data,Type,Expr),
70 type(Data,Type)
71 ]).
72
73statement_with_semicolon(Data,_,append_to_array(Name,Expr,Type)) -->
74 append_to_array_(Data,[
75 var_name_(Data,[array,Type],Name),
76 expr(Data,Type,Expr)
77 ]).
78
79statement_with_semicolon(Data,_,reverse_list_in_place(List,Type)) -->
80 reverse_list_in_place_(Data,[
81 parentheses_expr(Data,[array,Type],List)
82 ]).
83
84
85statement_with_semicolon(Data,_,plus_equals(Name,Expr)) -->
86 plus_equals_(Data,[
87 var_name_(Data,int,Name),
88 expr(Data,int,Expr)
89 ]).
90
91statement_with_semicolon(Data,_,divide_equals(Name,Expr)) -->
92 divide_equals_(Data,[
93 var_name_(Data,int,Name),
94 expr(Data,int,Expr)
95 ]).
96
97
98statement_with_semicolon(Data,_,modulo_equals(Name,Expr)) -->
99 modulo_equals_(Data,[
100 var_name_(Data,int,Name),
101 expr(Data,int,Expr)
102 ]).
103
104statement_with_semicolon(Data,_,array_plus_equals(Name,Expr,Type)) -->
105 array_plus_equals_(Data,[
106 var_name_(Data,[array,Type],Name),
107 expr(Data,[array,Type],Expr)
108 ]).
109
110statement_with_semicolon(Data,_,string_plus_equals(Name,Expr)) -->
111 string_plus_equals_(Data,[
112 var_name_(Data,string,Name),
113 expr(Data,string,Expr)
114 ]).
115
116statement_with_semicolon(Data,_,minus_equals(Name,Expr)) -->
117 minus_equals_(Data,[
118 var_name_(Data,int,Name),
119 expr(Data,int,Expr)
120 ]).
121statement_with_semicolon(Data,_,append_to_string(Name,Expr)) -->
122 append_to_string_(Data,[
123 var_name_(Data,string,Name),
124 expr(Data,string,Expr)
125 ]).
126
127
128statement_with_semicolon(Data,_,times_equals(Name,Expr)) -->
129 times_equals_(Data,[
130 var_name_(Data,int,Name),
131 expr(Data,int,Expr)
132 ]).
133
134statement_with_semicolon(Data,_,assert(Expr)) -->
135 assert_(Data,[expr(Data,bool,Expr)]).
136
137
138statement_with_semicolon(Data,Type,println(Expr,Type)) -->
139 println_(Data,[
140 expr(Data,Type,Expr),
141 Type
142 ]).
143
144statement_with_semicolon(Data,Type, function_call(Name,Params1,Params2)) -->
145 function_call_(Data,[
146 function_name(Data,Type,Name,Params2),
147 function_call_parameters(Data,Params1,Params2)
148 ])