Difference between revisions of "Writing algorithms in Lojban"

From Lojban
Jump to: navigation, search
m (Ilmen moved page Writting algorithms in Lojban to Writing algorithms in Lojban without leaving a redirect: Typo)
(Adding a new translation attempt)
Line 1: Line 1:
  
 
== Attempt at translating a piece of C code to Lojban ==
 
== Attempt at translating a piece of C code to Lojban ==
 +
 +
= C code =
  
 
<pre>
 
<pre>
Line 13: Line 15:
 
</pre>
 
</pre>
  
'''English translation:'''
+
= English translation: =
  
 
<pre>
 
<pre>
Line 32: Line 34:
 
</pre>
 
</pre>
  
'''Lojban translation (to be improved):'''
+
= Lojban translation (to be improved): =
 +
 
 +
'''Second attempt'''
 +
 
 +
<pre>
 +
mi do minde lo nu
 +
...
 +
lo si'o clubixlerpoi zo'u
 +
ro da ro de ro di ro di xi re zo'u go da de di di xi re clubixlerpoi
 +
gi da goi la lerpoi de goi la selclu di goi la selzilkancu di xi re goi la selpra zo'u
 +
lerpoi fa la lerpoi gi'e lerfu fa la selclu gi'e namcu fa la selzilkancu
 +
.ije go la lerpoi cu dubyfrica li no gi
 +
    go la selzilkancu cu dubdu'i li no gi
 +
        me'oi .while. fa xu'u
 +
            lo momkai be la selzilkancu bei la lerpoi cu nonmau
 +
        vau xu'u
 +
            zo selzilkancu li pa ka'irze'a
 +
        vau
 +
    ju'ei ba bo li no momkai la selzilkancu la lerpoi
 +
    ju'ei ba bo me'oi .while. fa xu'u
 +
        la selzilkancu cu nonmau
 +
    vau xu'u
 +
        zo selzilkancu li pa ka'irjdika
 +
        ju'ei ba bo momkai fa la selclu la selzilkancu la lerpoi
 +
    vau
 +
ju'ei ba bo la selpra la lerpoi cu mintu
 +
</pre>
 +
 
 +
'''First attempt'''
  
 
<pre>
 
<pre>

Revision as of 16:10, 14 January 2015

Attempt at translating a piece of C code to Lojban

C code

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): =

Second attempt

mi do minde lo nu
...
lo si'o clubixlerpoi zo'u
ro da ro de ro di ro di xi re zo'u go da de di di xi re clubixlerpoi
gi da goi la lerpoi de goi la selclu di goi la selzilkancu di xi re goi la selpra zo'u
lerpoi fa la lerpoi gi'e lerfu fa la selclu gi'e namcu fa la selzilkancu
.ije go la lerpoi cu dubyfrica li no gi
    go la selzilkancu cu dubdu'i li no gi
        me'oi .while. fa xu'u
            lo momkai be la selzilkancu bei la lerpoi cu nonmau
        vau xu'u
            zo selzilkancu li pa ka'irze'a
        vau
    ju'ei ba bo li no momkai la selzilkancu la lerpoi
    ju'ei ba bo me'oi .while. fa xu'u
        la selzilkancu cu nonmau
    vau xu'u
        zo selzilkancu li pa ka'irjdika
        ju'ei ba bo momkai fa la selclu la selzilkancu la lerpoi
    vau
ju'ei ba bo la selpra la lerpoi cu mintu

First attempt

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. :)