feat: Add support for greater than and less than comparisons

This commit is contained in:
overflowerror 2024-04-26 22:01:37 +02:00
parent 537e86b405
commit 28f34b6922
10 changed files with 251 additions and 21 deletions

View file

@ -64,6 +64,10 @@ enum calc_operator {
MODULO,
EQUALS,
NOT_EQUALS,
GREATER_THAN,
LESS_THAN,
GREATER_EQUALS,
LESS_EQUALS,
CONJUNCTION,
DISJUNCTION,
NEGATION,

View file

@ -430,6 +430,108 @@ region_t* codegen_disjunction(FILE* out, scope_t* scope, region_t* op1, region_t
return op1;
}
region_t* codegen_greater_than(FILE* out, scope_t* scope, region_t* op1, region_t* op2) {
if (!op1->is_temp) {
op1 = clone(op1);
}
if (!op2->is_temp) {
op2 = clone(op2);
}
region_t* result = scope_add_tmp(scope, 1);
move_to(result); reset();
region_t* tmp = scope_add_tmp(scope, 1);
region_t* op2_is_empty = scope_add_tmp(scope, 1);
move_to(op1);
loop({
dec();
move_to(op2_is_empty); reset(); inc();
move_to(tmp); reset();
move_to(op2);
loop({
move_to(tmp); inc();
move_to(op2_is_empty); reset();
move_to(op2); dec();
});
move_to(tmp);
loop({
move_to(op2); inc();
move_to(tmp); dec();
});
move_to(op2); dec();
move_to(op2_is_empty);
loop({
move_to(result); inc();
move_to(op1); reset();
move_to(op2_is_empty); dec();
});
move_to(op1);
});
scope_remove(scope, op1);
scope_remove(scope, op2);
scope_remove(scope, tmp);
scope_remove(scope, op2_is_empty);
return result;
}
region_t* codegen_less_than(FILE* out, scope_t* scope, region_t* op1, region_t* op2) {
if (!op1->is_temp) {
op1 = clone(op1);
}
if (!op2->is_temp) {
op2 = clone(op2);
}
region_t* result = scope_add_tmp(scope, 1);
move_to(result); reset();
region_t* tmp = scope_add_tmp(scope, 1);
region_t* op1_is_empty = scope_add_tmp(scope, 1);
move_to(op2);
loop({
dec();
move_to(op1_is_empty); reset(); inc();
move_to(tmp); reset();
move_to(op1);
loop({
move_to(tmp); inc();
move_to(op1_is_empty); reset();
move_to(op1); dec();
});
move_to(tmp);
loop({
move_to(op1); inc();
move_to(tmp); dec();
});
move_to(op1); dec();
move_to(op1_is_empty);
loop({
move_to(result); inc();
move_to(op2); reset();
move_to(op1_is_empty); dec();
});
move_to(op2);
});
scope_remove(scope, op1);
scope_remove(scope, op2);
scope_remove(scope, tmp);
scope_remove(scope, op1_is_empty);
return result;
}
region_t* codegen_negation(FILE* out, scope_t* scope, region_t* op) {
if (!op->is_temp) {
op = clone(op);
@ -477,6 +579,12 @@ region_t* codegen_calc_expr(FILE* out, scope_t* scope, struct calc_expression ex
case EQUALS:
result = codegen_equals(out, scope, operand1, operand2);
break;
case GREATER_THAN:
result = codegen_greater_than(out, scope, operand1, operand2);
break;
case LESS_THAN:
result = codegen_less_than(out, scope, operand1, operand2);
break;
case NOT_EQUALS:
result = codegen_not_equals(out, scope, operand1, operand2);
break;

View file

@ -45,25 +45,25 @@ strbuf_t strbuf = NULL;
%}
<INITIAL>"/*" { BEGIN(COMMENT); }
<COMMENT>"*/" { BEGIN(INITIAL); }
<COMMENT>[^*\n] { }
<COMMENT>\n { }
<COMMENT>"*"[^*\/\n]* { }
<INITIAL>"/*" { BEGIN(COMMENT); }
<COMMENT>"*/" { BEGIN(INITIAL); }
<COMMENT>[^*\n] { }
<COMMENT>\n { }
<COMMENT>"*"[^*\/\n]* { }
<INITIAL>"//"[^\n]\n { /* single line comment */ }
<INITIAL>"//"[^\n]\n { /* single line comment */ }
<INITIAL>";" { return SEMICOLON; }
<INITIAL>";" { return SEMICOLON; }
<INITIAL>\" { BEGIN STRING; strbuf_clear(strbuf); }
<STRING>[^\\"\n]* { strbuf_append(strbuf, yytext); }
<STRING>\\n { strbuf_append_c(strbuf, '\n'); }
<STRING>\\t { strbuf_append_c(strbuf, '\t'); }
<INITIAL>\" { BEGIN STRING; strbuf_clear(strbuf); }
<STRING>[^\\"\n]* { strbuf_append(strbuf, yytext); }
<STRING>\\n { strbuf_append_c(strbuf, '\n'); }
<STRING>\\t { strbuf_append_c(strbuf, '\t'); }
<STRING>\\[0-7]* { strbuf_append_c(strbuf, strtol(yytext+1, 0, 8)); }
<STRING>\\[\\"] { strbuf_append_c(strbuf, yytext[1]); }
<STRING>\" { yylval.str = strdup(strbuf); BEGIN INITIAL; return STR; }
<STRING>\\. { lex_panic("invalid escape: %s\n", yytext); }
<STRING>\n { lex_panic("newline in string\n"); }
<STRING>\" { yylval.str = strdup(strbuf); BEGIN INITIAL; return STR; }
<STRING>\\. { lex_panic("invalid escape: %s\n", yytext); }
<STRING>\n { lex_panic("newline in string\n"); }
<INITIAL>{var} { return VAR; }
<INITIAL>{if} { return IF; }
@ -77,10 +77,13 @@ strbuf_t strbuf = NULL;
<INITIAL>"*" { return TIMES; }
<INITIAL>"/" { return DIVIDE; }
<INITIAL>"%" { return MOD; }
<INITIAL>"," { return COMMA; }
<INITIAL>"==" { return EQUAL; }
<INITIAL>"!=" { return NOT_EQUAL; }
<INITIAL>">" { return GREATER; }
<INITIAL>"<" { return LESS; }
<INITIAL>">=" { return GREATER_EQUAL; }
<INITIAL>"<=" { return LESS_EQUAL; }
<INITIAL>"&&" { return AND; }
<INITIAL>"||" { return OR; }
<INITIAL>"!" { return NOT; }
@ -89,13 +92,14 @@ strbuf_t strbuf = NULL;
<INITIAL>")" { return CLOSING_BRACKETS; }
<INITIAL>"{" { return OPENING_BRACES; }
<INITIAL>"}" { return CLOSING_BRACES; }
<INITIAL>"," { return COMMA; }
<INITIAL>"$(" { BEGIN MACRO; strbuf_clear(strbuf); }
<MACRO>[^\\)]* { strbuf_append(strbuf, yytext); }
<MACRO>"\\)" { strbuf_append_c(strbuf, yytext[1]); }
<MACRO>"\\(" { strbuf_append_c(strbuf, yytext[1]); }
<MACRO>"\\" { strbuf_append(strbuf, yytext); }
<MACRO>")" { yylval.str = strdup(strbuf); BEGIN INITIAL; return MACRO_CONTENT; }
<MACRO>[^\\)]* { strbuf_append(strbuf, yytext); }
<MACRO>"\\)" { strbuf_append_c(strbuf, yytext[1]); }
<MACRO>"\\(" { strbuf_append_c(strbuf, yytext[1]); }
<MACRO>"\\" { strbuf_append(strbuf, yytext); }
<MACRO>")" { yylval.str = strdup(strbuf); BEGIN INITIAL; return MACRO_CONTENT; }
<INITIAL>{hex} { yylval.number = strtol(yytext + 2, NULL, 16); return NUM; }
<INITIAL>{dec} { yylval.number = strtol(yytext, NULL, 10); return NUM; }

View file

@ -52,15 +52,19 @@ extern struct block* program;
%token MOD
%token EQUAL
%token NOT_EQUAL
%token GREATER
%token LESS
%token GREATER_EQUAL
%token LESS_EQUAL
%token AND
%token OR
%token NOT
%token COMMA
%token OPENING_BRACKETS
%token CLOSING_BRACKETS
%token OPENING_BRACES
%token CLOSING_BRACES
%token COMMA
%token VAR
%token IF
@ -210,6 +214,22 @@ op: PLUS
{
$$ = NOT_EQUALS;
}
| GREATER
{
$$ = GREATER_THAN;
}
| LESS
{
$$ = LESS_THAN;
}
| GREATER_EQUAL
{
$$ = GREATER_EQUALS;
}
| LESS_EQUAL
{
$$ = LESS_EQUALS;
}
| AND
{
$$ = CONJUNCTION;

View file

@ -0,0 +1,27 @@
if (45 > 44) {
print("yes, greater\n");
}
if (44 > 45) {
print("no, smaller\n");
}
if (45 > 45) {
print("no, equal\n");
}
if (1 > 0) {
print("yes, greater 0\n");
}
if (0 > 1) {
print("no, smaller 0\n");
}
if (0 > 0) {
print("no, equals 0\n");
}
if (255 > 254) {
print("yes, greater max\n");
}
if (254 > 255) {
print("no, smaller max\n");
}
if (255 > 255) {
print("no, equals max\n");
}

View file

@ -0,0 +1,18 @@
[-]+++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++>[-]<<[->>>>[-]+<[-]<<[>>+>[-]<<<-]>>[<<+>>-]<<->>>[<<+<<[-]>>>>-]<<<<]>>[>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++<<<<<<<<<<<<.>.>.>.>.>.>.>.>.>.>.>.>.
<<<<<<<<<<<<<[-]]
<<[-]++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++>[-]<<[->>>>[-]+<[-]<<[>>+>[-]<<<-]>>[<<+>>-]<<->>>[<<+<<[-]>>>>-]<<<<]>>[>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++<<<<<<<<<<<.>.>.>.>.>.>.>.>.>.>.>.
<<<<<<<<<<<<[-]]
<<[-]+++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++>[-]<<[->>>>[-]+<[-]<<[>>+>[-]<<<-]>>[<<+>>-]<<->>>[<<+<<[-]>>>>-]<<<<]>>[>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++<<<<<<<<<.>.>.>.>.>.>.>.>.>.
<<<<<<<<<<[-]]
<<[-]+>[-]>[-]<<[->>>>[-]+<[-]<<[>>+>[-]<<<-]>>[<<+>>-]<<->>>[<<+<<[-]>>>>-]<<<<]>>[>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++<<<<<<<<<<<<<<.>.>.>.>.>.>.>.>.>.>.>.>.>.>.
<<<<<<<<<<<<<<<[-]]
<<[-]>[-]+>[-]<<[->>>>[-]+<[-]<<[>>+>[-]<<<-]>>[<<+>>-]<<->>>[<<+<<[-]>>>>-]<<<<]>>[>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++<<<<<<<<<<<<<.>.>.>.>.>.>.>.>.>.>.>.>.>.
<<<<<<<<<<<<<<[-]]
<<[-]>[-]>[-]<<[->>>>[-]+<[-]<<[>>+>[-]<<<-]>>[<<+>>-]<<->>>[<<+<<[-]>>>>-]<<<<]>>[>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++<<<<<<<<<<<<.>.>.>.>.>.>.>.>.>.>.>.>.
<<<<<<<<<<<<<[-]]
<<[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]<<[->>>>[-]+<[-]<<[>>+>[-]<<<-]>>[<<+>>-]<<->>>[<<+<<[-]>>>>-]<<<<]>>[>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++<<<<<<<<<<<<<<<<.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.
<<<<<<<<<<<<<<<<<[-]]
<<[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]<<[->>>>[-]+<[-]<<[>>+>[-]<<<-]>>[<<+>>-]<<->>>[<<+<<[-]>>>>-]<<<<]>>[>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++<<<<<<<<<<<<<<<.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.
<<<<<<<<<<<<<<<<[-]]
<<[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]<<[->>>>[-]+<[-]<<[>>+>[-]<<<-]>>[<<+>>-]<<->>>[<<+<<[-]>>>>-]<<<<]>>[>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++<<<<<<<<<<<<<<.>.>.>.>.>.>.>.>.>.>.>.>.>.>.
<<<<<<<<<<<<<<<[-]]

View file

@ -0,0 +1,2 @@
(0 > 1);
if (0 > 1) {}

View file

@ -0,0 +1,2 @@
[-]>[-]+>[-]<<[->>>>[-]+<[-]<<[>>+>[-]<<<-]>>[<<+>>-]<<->>>[<<+<<[-]>>>>-]<<<<]
[-]>[-]+>[-]<<[->>>>[-]+<[-]<<[>>+>[-]<<<-]>>[<<+>>-]<<->>>[<<+<<[-]>>>>-]<<<<]>>[[-]]

View file

@ -0,0 +1,27 @@
if (45 < 44) {
print("no, greater\n");
}
if (44 < 45) {
print("yes, smaller\n");
}
if (45 < 45) {
print("no, equal\n");
}
if (1 < 0) {
print("no, greater 0\n");
}
if (0 < 1) {
print("yes, smaller 0\n");
}
if (0 < 0) {
print("no, equals 0\n");
}
if (255 < 254) {
print("no, greater max\n");
}
if (254 < 255) {
print("yes, smaller max\n");
}
if (255 < 255) {
print("no, equals max\n");
}

View file

@ -0,0 +1,18 @@
[-]+++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++>[-]<[->>>[-]+<[-]<<<[>>>+>[-]<<<<-]>>>[<<<+>>>-]<<<->>>>[<<+<[-]>>>-]<<<]>[>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++<<<<<<<<<<<.>.>.>.>.>.>.>.>.>.>.>.
<<<<<<<<<<<<[-]]
<<[-]++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++>[-]<[->>>[-]+<[-]<<<[>>>+>[-]<<<<-]>>>[<<<+>>>-]<<<->>>>[<<+<[-]>>>-]<<<]>[>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++<<<<<<<<<<<<.>.>.>.>.>.>.>.>.>.>.>.>.
<<<<<<<<<<<<<[-]]
<<[-]+++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++>[-]<[->>>[-]+<[-]<<<[>>>+>[-]<<<<-]>>>[<<<+>>>-]<<<->>>>[<<+<[-]>>>-]<<<]>[>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++<<<<<<<<<.>.>.>.>.>.>.>.>.>.
<<<<<<<<<<[-]]
<<[-]+>[-]>[-]<[->>>[-]+<[-]<<<[>>>+>[-]<<<<-]>>>[<<<+>>>-]<<<->>>>[<<+<[-]>>>-]<<<]>[>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++<<<<<<<<<<<<<.>.>.>.>.>.>.>.>.>.>.>.>.>.
<<<<<<<<<<<<<<[-]]
<<[-]>[-]+>[-]<[->>>[-]+<[-]<<<[>>>+>[-]<<<<-]>>>[<<<+>>>-]<<<->>>>[<<+<[-]>>>-]<<<]>[>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++<<<<<<<<<<<<<<.>.>.>.>.>.>.>.>.>.>.>.>.>.>.
<<<<<<<<<<<<<<<[-]]
<<[-]>[-]>[-]<[->>>[-]+<[-]<<<[>>>+>[-]<<<<-]>>>[<<<+>>>-]<<<->>>>[<<+<[-]>>>-]<<<]>[>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++<<<<<<<<<<<<.>.>.>.>.>.>.>.>.>.>.>.>.
<<<<<<<<<<<<<[-]]
<<[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]<[->>>[-]+<[-]<<<[>>>+>[-]<<<<-]>>>[<<<+>>>-]<<<->>>>[<<+<[-]>>>-]<<<]>[>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++<<<<<<<<<<<<<<<.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.
<<<<<<<<<<<<<<<<[-]]
<<[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]<[->>>[-]+<[-]<<<[>>>+>[-]<<<<-]>>>[<<<+>>>-]<<<->>>>[<<+<[-]>>>-]<<<]>[>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++<<<<<<<<<<<<<<<<.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.
<<<<<<<<<<<<<<<<<[-]]
<<[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]<[->>>[-]+<[-]<<<[>>>+>[-]<<<<-]>>>[<<<+>>>-]<<<->>>>[<<+<[-]>>>-]<<<]>[>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>[-]++++++++++<<<<<<<<<<<<<<.>.>.>.>.>.>.>.>.>.>.>.>.>.>.
<<<<<<<<<<<<<<<[-]]