Difference between revisions of "Writing algorithms in Lojban"

From Lojban
Jump to navigation Jump to search
Line 32: Line 32:
 
</pre>
 
</pre>
  
'''Lojban translation (to be improved)'''
+
'''Lojban translation (to be improved):'''
  
 
<pre>
 
<pre>
Line 55: Line 55:
 
.i ko'oi zilxru gi'e pruce fi la lerpoi
 
.i ko'oi zilxru gi'e pruce fi la lerpoi
 
</pre>
 
</pre>
 +
 +
'''To be improved:'''
 +
1) {la broda cu du li re} is probably not right; perhaps {la'e la broda} would be better for refering to the variable value.
 +
2) "jo" is perhaps wrong for "if...then".
 +
3) {dubze'a} is probably nonsensical, it should be replaced with something else. :)

Revision as of 17:10, 23 July 2014

Attempt at translating a piece of C code to Lojban

char* str_fill(char string[], char filling, uint_t count) {
   if (string) { 
      if (!count) while(string[count]) count++; 
      string[count] = '\0'; 
      while (count--) string[count] = filling; 
   } 
   return string; 
}

English translation:

Function str_fill returning char pointer, taking parameters:
    'string', of type char array; 'filling', of type char; 'count', of type uint_t. 
Variable list: empty.
Instruction list:
    if 'string' is not equal to 0: 
    >   if 'count' is equal to 0: 
    >   >   as long as the offset number 'count' of the array 'string' is not equal to 0: 
    >   >   >   we add 1 to 'count' 
    >   we set the offset number 'count' of the array 'string' to 0 
    >   as long as 'count' is not equal to 0: 
    >   >   we substract 1 from 'count' 
    >   >   we copy 'filling' into the offset number 'count' of the array 'string' 
    we return to the calling function giving the value 'string' 
End of function.

Lojban translation (to be improved):

ni'o ni'o ca'e pruce fa la lerpoiclugau fo di'e
fe la lerpoi noi me'oi .char. judri
ce'o la selclu noi me'oi .char.
ce'o la selzilkancu noi me'oi .uint_t.
fi lo me'oi .char. judri

ni'o to ve pruce liste toi
la lerpoi na du li no .i jo tu'e {
>   la selzilkancu cu du li no .i jo tu'e {
>   >   lo me la selzilkancu moi be la lerpoi na du li no .i jo
>   >   ko'oi rapli co'u lo nu ja'a go'i ku fa lo nu
>   >   ko'oi la selzilkancu cu dubze'a li pa
>   } tu'u
>   .i la selzilkancu na du li no .i jo
>   ko'oi rapli co'u lo nu ja'a go'i ku fa lo nu
>   ge ko'oi la selzilkancu cu dubjdika li pa
>   gi ko'oi lo me la selzilkancu moi be la lerpoi cu fukpi la selclu
} tu'u
.i ko'oi zilxru gi'e pruce fi la lerpoi

To be improved: 1) {la broda cu du li re} is probably not right; perhaps {la'e la broda} would be better for refering to the variable value. 2) "jo" is perhaps wrong for "if...then". 3) {dubze'a} is probably nonsensical, it should be replaced with something else. :)