projects
/
uebersetzerbau-ss10.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
92c27ac
)
codeb: labels mit . davor versehen (fuer bench.sh...)
author
Bernhard Urban
<lewurm@gmail.com>
Sun, 30 May 2010 12:48:25 +0000
(14:48 +0200)
committer
Bernhard Urban
<lewurm@gmail.com>
Sun, 30 May 2010 12:48:25 +0000
(14:48 +0200)
codeb/parser.y
patch
|
blob
|
history
diff --git
a/codeb/parser.y
b/codeb/parser.y
index 6512c0cad1010953d82c9e7df8f6ced06394b678..279576d385a91f19119b485b6ed975c7a75e70fe 100644
(file)
--- a/
codeb/parser.y
+++ b/
codeb/parser.y
@@
-198,12
+198,12
@@
Statement:
@reg @Statement.node@->reg = @Expr.node@->reg = next_reg((char *)NULL, @Expr.gparamges@);
@gen {
@reg @Statement.node@->reg = @Expr.node@->reg = next_reg((char *)NULL, @Expr.gparamges@);
@gen {
- printf("%s_ifstart_%d:\n", get_func_name(), @Statement.lblcnt_in@);
+ printf("
.
%s_ifstart_%d:\n", get_func_name(), @Statement.lblcnt_in@);
write_tree(@Statement.node@, 0); burm_label(@Statement.node@); burm_reduce(@Statement.node@, 1);
/* TODO: kann ich mir das test wirklich wegan and davor sparen? */
write_tree(@Statement.node@, 0); burm_label(@Statement.node@); burm_reduce(@Statement.node@, 1);
/* TODO: kann ich mir das test wirklich wegan and davor sparen? */
- printf("\ttest %s-1, %%rax\n\tjz %s_ifend_%d\n", "$", get_func_name(), @Statement.lblcnt_in@);
+ printf("\ttest %s-1, %%rax\n\tjz
.
%s_ifend_%d\n", "$", get_func_name(), @Statement.lblcnt_in@);
}
}
- @gen @revorder(1) printf("%s_ifend_%d:\n", get_func_name(), @Statement.lblcnt_in@);
+ @gen @revorder(1) printf("
.
%s_ifend_%d:\n", get_func_name(), @Statement.lblcnt_in@);
@}
| IF Expr THEN Statseq Elsestat END
@}
| IF Expr THEN Statseq Elsestat END
@@
-225,12
+225,12
@@
Statement:
@reg @Statement.node@->reg = @Expr.node@->reg = next_reg((char *)NULL, @Expr.gparamges@);
@gen {
@reg @Statement.node@->reg = @Expr.node@->reg = next_reg((char *)NULL, @Expr.gparamges@);
@gen {
- printf("%s_ifstart_%d:\n", get_func_name(), @Statement.lblcnt_in@);
+ printf("
.
%s_ifstart_%d:\n", get_func_name(), @Statement.lblcnt_in@);
write_tree(@Statement.node@, 0); burm_label(@Statement.node@); burm_reduce(@Statement.node@, 1);
/* TODO: kann ich mir das test wirklich wegan and davor sparen? */
write_tree(@Statement.node@, 0); burm_label(@Statement.node@); burm_reduce(@Statement.node@, 1);
/* TODO: kann ich mir das test wirklich wegan and davor sparen? */
- printf("\ttest %s-1, %%rax\n\tjz %s_ifelse_%d\n", "$", get_func_name(), @Statement.lblcnt_in@);
+ printf("\ttest %s-1, %%rax\n\tjz
.
%s_ifelse_%d\n", "$", get_func_name(), @Statement.lblcnt_in@);
}
}
- @gen @revorder(1) printf("%s_ifend_%d:\n", get_func_name(), @Statement.lblcnt_in@);
+ @gen @revorder(1) printf("
.
%s_ifend_%d:\n", get_func_name(), @Statement.lblcnt_in@);
@}
| WHILE Expr DO Statseq END
@}
| WHILE Expr DO Statseq END
@@
-246,12
+246,12
@@
Statement:
@reg @Statement.node@->reg = @Expr.node@->reg = next_reg((char *)NULL, @Expr.gparamges@);
@gen {
@reg @Statement.node@->reg = @Expr.node@->reg = next_reg((char *)NULL, @Expr.gparamges@);
@gen {
- printf("%s_whilestart_%d:\n", get_func_name(), @Statement.lblcnt_in@);
+ printf("
.
%s_whilestart_%d:\n", get_func_name(), @Statement.lblcnt_in@);
write_tree(@Statement.node@, 0); burm_label(@Statement.node@); burm_reduce(@Statement.node@, 1);
/* TODO: kann ich mir das test wirklich wegan and davor sparen? */
write_tree(@Statement.node@, 0); burm_label(@Statement.node@); burm_reduce(@Statement.node@, 1);
/* TODO: kann ich mir das test wirklich wegan and davor sparen? */
- printf("\ttest %s-1, %%rax\n\tjz %s_whileend_%d\n", "$", get_func_name(), @Statement.lblcnt_in@);
+ printf("\ttest %s-1, %%rax\n\tjz
.
%s_whileend_%d\n", "$", get_func_name(), @Statement.lblcnt_in@);
}
}
- @gen @revorder(1) printf("\tjmp
%s_whilestart_%d\n
%s_whileend_%d:\n", get_func_name(), @Statement.lblcnt_in@, get_func_name(), @Statement.lblcnt_in@);
+ @gen @revorder(1) printf("\tjmp
.%s_whilestart_%d\n.
%s_whileend_%d:\n", get_func_name(), @Statement.lblcnt_in@, get_func_name(), @Statement.lblcnt_in@);
@}
| RETURN Expr
@}
| RETURN Expr
@@
-274,7
+274,7
@@
Elsestat:
@i @Statseq.lblcnt_in@ = @Elsestat.lblcnt_in@;
@i @Elsestat.lblcnt_out@ = @Statseq.lblcnt_out@;
@i @Statseq.lblcnt_in@ = @Elsestat.lblcnt_in@;
@i @Elsestat.lblcnt_out@ = @Statseq.lblcnt_out@;
- @gen printf("\tjmp
%s_ifend_%d\n
%s_ifelse_%d:\n", get_func_name(), @Elsestat.reallblcnt@, get_func_name(), @Elsestat.reallblcnt@);
+ @gen printf("\tjmp
.%s_ifend_%d\n.
%s_ifelse_%d:\n", get_func_name(), @Elsestat.reallblcnt@, get_func_name(), @Elsestat.reallblcnt@);
@}
Lexpr:
@}
Lexpr: