1 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
2 <BASE HREF="https://wiki.lugmen.org.ar/twiki/view/Main/TyphonExamples?skin=print"><table border=1 width=100%><tr><td><table border=1 bgcolor=#ffffff cellpadding=10 cellspacing=0 width=100% color=#ffffff><tr><td><font face=arial,sans-serif color=black size=-1>Ésta es la versión <b><font color=#0039b6>G</font> <font color=#c41200>o</font> <font color=#f3c518>o</font> <font color=#0039b6>g</font> <font color=#30a72f>l</font> <font color=#c41200>e</font></b> <a href="http://www.google.com/intl/es/help/features.html#cached"><font color=blue>guardada en el caché</font></a> de la <A HREF="https://wiki.lugmen.org.ar/twiki/view/Main/TyphonExamples?skin=print"><font color=blue>https://wiki.lugmen.org.ar/twiki/view/Main/TyphonExamples?skin=print</font></a> obtenida el 1 Dic 2004 15:35:29 GMT.<br>
3 La caché de <b><font color=#0039b6>G</font> <font color=#c41200>o</font> <font color=#f3c518>o</font> <font color=#0039b6>g</font> <font color=#30a72f>l</font> <font color=#c41200>e</font></b> es la instantánea de la página que tomamos cuando exploramos la Web en forma automática.<br>
4 Es posible que la página haya cambiado desde entonces. Haga clic aquí para ver la <A HREF="https://wiki.lugmen.org.ar/twiki/view/Main/TyphonExamples?skin=print"><font color=blue>página actual</font></a> sin resaltar.<br>
5 Esta página guardada en el caché puede hacer referencia a imágenes que ya no están disponibles. Haga clic aquí para obtener únicamente el <A HREF="http://66.102.7.104/search?q=cache:hVONU0SZ6CIJ:https://wiki.lugmen.org.ar/twiki/view/Main/TyphonExamples%3Fskin%3Dprint+typhonexamples&hl=es&lr=&strip=1"><font color=blue>texto guardado en el caché</font></a>.<br>Para vincularse a esta página o para marcarla, utilice el siguiente url: <code>http://www.google.com/search?q=cache:hVONU0SZ6CIJ:https://wiki.lugmen.org.ar/twiki/view/Main/TyphonExamples%3Fskin%3Dprint+typhonexamples&hl=es</code></font><br><br><center><font size=-2><i>Google no tiene relación con los autores de esta página ni es responsable de su contenido.</i></font></center></td></tr>
7 <table border=0 cellpadding=0 cellspacing=0><tr><td><font face=arial,sans-serif color=black size=-1>Se han resaltado estos términos de búsqueda: </font></td><td bgcolor=#ffff66><B><font face=arial,sans-serif color=black size=-1>typhonexamples </font></B></td></tr></table>
8 </td></tr></table></td></tr></table>
10 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
11 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
13 <title> TWiki . Main . TyphonExamples</title>
14 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
15 <base href="https://wiki.lugmen.org.ar/twiki/view/Main/TyphonExamples" />
17 <body bgcolor="#ffffff">
18 <a name="PageTop"></a>
19 <table width="100%" border="0" cellpadding="3" cellspacing="0">
20 <tr bgcolor="#FFFFC0">
22 <b>TWiki . Main . </b><font size="+2"><b><B style="color:black;background-color:#ffff66">TyphonExamples</B></b></font>
27 <h1><a name="Ejemplos_de_TyphonLanguage"> </a> Ejemplos de <a href="/twiki/view/Main/TyphonLanguage">TyphonLanguage</a> </h1>
31 <li> <a href="/twiki/view/Main/TyphonExamples#Ejemplos_de_TyphonLanguage">Ejemplos de TyphonLanguage</a>
33 <li> <a href="/twiki/view/Main/TyphonExamples#Hello_world">Hello world</a>
35 <li> <a href="/twiki/view/Main/TyphonExamples#Lista_argumentos_de_l_nea_de_com">Lista argumentos de línea de comandos</a>
37 <li> <a href="/twiki/view/Main/TyphonExamples#Word_Count_wc_">Word Count (wc)</a>
41 <h1><a name="Hello_world"> Hello world </a></h1>
42 <h2><a name="Typhon"> Typhon </a></h2>
52 <h2><a name="C_"> C++ </a></h2>
58 printf("Hola mundo!");
64 <h1><a name="Lista_argumentos_de_l_nea_de_com"> Lista argumentos de línea de comandos </a></h1>
65 Las líneas separan bloques de código para ver como Typhon traduciría a C++.
67 <h2><a name="Typhon"> Typhon </a></h2>
70 include vector, string, iostream
71 import vector, string, cout from std
72 int main(vector<string> args):
73 for const string& s in vector<string> args:
74 cout << s << "\n"
79 <h2><a name="C_"> C++ </a></h2>
82 // include vector, string, iostream
85 #include <iostream>
86 // import vector, string, cout from std
90 // int main(vector<string> args):
91 int main(int ___argc, char* ___argv[]):
92 vector<string> args(___argc);
93 for (int i = 0; i < ___argc; ++i)
94 args.push_back(___argv[i]);
95 // for const string& s in vector<string> args:
96 for (vector<string>::const_iterator ___s = args.begin();
100 const std::string& s = *___s;
101 // cout << s << "\n"
102 cout << s << "\n";
103 // for const string& s in vector<string> args:
107 // int main(vector<string> args):
112 <h1><a name="Word_Count_wc_"> Word Count (wc) </a></h1>
113 <h2><a name="D"> D </a></h2>
114 Extraído de los ejemplos del compilador dmd para linux. Sólo para comparar la
115 complejidad sintáctica y la cantidad de código que se necesita escribir en un
116 lenguaje que podría acercarse de algún modo a donde <a href="/twiki/view/Main/TyphonLanguage">TyphonLanguage</a> apunta.
121 int main (char[][] args)
123 int w_total, l_total, c_total;
124 printf (" lines words bytes file\n");
125 foreach (char[] arg; args[1 .. args.length])
127 int w_cnt, l_cnt, c_cnt;
129 char[] input = cast(char[])std.file.read(arg);
130 foreach (char c; input)
146 printf ("%8lu%8lu%8lu %.*s\n", l_cnt, w_cnt, c_cnt, arg);
153 printf ("--------------------------------------\n%8lu%8lu%8lu total",
154 l_total, w_total, c_total);
161 <h2><a name="Typhon"> Typhon </a></h2>
162 Escrito lo más parecido posible (por más ineficiente y feo que sea :) al ejemplo
163 de D (sacado de los ejemplos del compilador de <span style='background : #FFFFCE;'><font color="#0000FF">DigitalMars</font></span><a href="/twiki/edit/Main/DigitalMars?topicparent=Main.TyphonExamples">?</a>).
166 include fstream, iostream, vector, string, iomanip
168 import cout, vector, string, ifstream, getline, setw from std
170 int main (vector<string> args):
171 int w_total = 0, l_total = 0, c_total = 0
172 cout << " lines words bytes file\n"
173 for string arg in args[1:]:
174 int w_cnt = 0, l_cnt = 0, c_cnt = 0
180 while getline(f, buff):
182 for char c in contenido:
192 cout << width(8) << l_cnt << width(8) << w_cnt << width(8) << c_cnt << " " << arg << "\n"
197 cout << "--------------------------------------\n"
198 cout << width(8) << l_total << width(8) << w_total << width(8) << c_total << " total.\n"
203 <h2><a name="C_"> C++ </a></h2>
204 Tener en cuenta que este sería el código generado automáticamente por Typon.
205 Obviamente no es la forma más compacta ni la más clara de escribir el programa
208 Este programa, por supuesto, compila y anda.
211 #include <fstream>
212 #include <iostream>
215 #include <iomanip>
224 int main(int ___argc, char* ___argv[])
226 vector<string> args;
227 args.reserve(___argc);
228 for (int i = 0; i < ___argc; ++i)
229 args.push_back(___argv[i]);
230 int w_total = 0, l_total = 0, c_total = 0;
231 cout << " lines words bytes file\n";
232 for (vector<string>::iterator ___arg = args.begin()+1;
233 ___arg != args.end();
236 string arg = *___arg;
237 int w_cnt = 0, l_cnt = 0, c_cnt = 0;
241 ifstream f(arg.c_str());
243 while (getline(f, buff))
248 for (string::iterator ___c = contenido.begin();
249 ___c != contenido.end();
271 cout << setw(8) << l_cnt << setw(8) << w_cnt << setw(8) << c_cnt << " " << arg << "\n";
278 cout << "--------------------------------------\n";
279 cout << setw(8) << l_total << setw(8) << w_total << setw(8) << c_total << " total.\n";
288 <table width="100%" border="0" cellpadding="3" cellspacing="0">
289 <tr bgcolor="#FFFFC0">
291 <code>-----</code> Revision r1.1 - 07 Oct 2004 - 19:43 GMT - <a href="/twiki/view/Main/LeandroLucarella">LeandroLucarella</a>
295 Copyright © 2000-2004 por los autores contribuyentes
296 <a name="PageBottom"></a>