Autor
|
Tema: Propocision de Retos... Matando el tiempo. (Leído 3,234 veces)
|
BlackZeroX
Wiki
Desconectado
Mensajes: 3.158
I'Love...!¡.
|
. El tema es proponer retos discutir su dificultad y por ende sacar a flote dicho tema respectivamente en un hilo ajeno a este, ya que proponer un reto la vdd no es cosa facil, por ejemplo:
Proponer crear una aplicacion X discutiendo su complejidad. Proponer la recreacion de la funcion X. Proponer la creacion de alguna indole X.
Que debera llevar ...? Que se espera de ...? Prototipo de la funcion ...?
Por ejemplo: tengo en mente proponer un 3 retos los cuales son:
Crear un interprete... Crear un lector de estructuras en arbol (como XML, HTTP, etc)... Otro que no por el momento.
Puedo decir que el interprete tiene una dificultad Intermedio-Avanzado y el lector de estructuras en arbol seria un nivel Intermedio, pero por el momento SUPONGAMOS que en el interprete digo que haga X cosas... pero me lleguen a faltar mas cosillas; es decir discutir SOLAMENTE lo que debe esperarse de este mas que codigo deberia llevar Por ejemplo:
* Manejo de procesos y funciones. * Manejo de variables con sus tipos X (Dim nombre as tipo). * Con que tipos de variables debe contar. * Funciones predeterminadas del interprete (Mid, Left, IndexOf, ...). * Instrucciones de flujo (If then, select case o Switch, ...). * Bucles (dow while, for(), ...). * forma de retornar los valores (por la instruccion return o como lo hace vb6). * Entre otras cosillas. * Ademas de incluir ejemplos.
Este ultimo me es interesante puesto que se podrian crear entre 2 o mas personas claro que tambien 1 podria hacerlo, ademas de que fomentaria el compañerismo del foro.
Esta es una propocision.
Cada Post para no hacerlo lago deberia llevar una cita de link mas no citar completamente el tema esto ultimo para mantener un orden en el tema hilo.
Dulces Lunas!¡.
|
|
|
En línea
|
The Dark Shadow is my passion.
|
|
|
BlackZeroX
Wiki
Desconectado
Mensajes: 3.158
I'Love...!¡.
|
. Mi propuesta principal es el Interprete pero la vdd no se si les sea factible debida a su complejidad... claro esta que solo sera para matar el tiempo y pasar el rato, y como ya dige contendria:
* Manejo de procesos y funciones. * Manejo de variables con sus tipos X (porejemplo Dim nombre as tipo, o tipo nombre variable = constructor, ...). * Con que tipos de variables debe contar. * Funciones predeterminadas del interprete (Mid, Left, IndexOf, ...). * Instrucciones de flujo (If then, select case o Switch, ...). * Bucles (do while, for(), ...). * forma de retornar los valores (por la instruccion return o como lo hace vb6). * Entre otras cosillas. * Ademas de incluir ejemplos.
Enseguida expando cada tema ya que no es facil...
Dulces Lunas!¡.
|
|
« Última modificación: 18 Septiembre 2011, 03:26 am por BlackZeroX▓▓▒▒░░ »
|
En línea
|
The Dark Shadow is my passion.
|
|
|
x64core
Desconectado
Mensajes: 1.908
|
a mi me interesa el tema y eso del interprete no lo entiendo muy bien hay crear programar funciones para cada una de las peticiones que propones y unirlas?
|
|
|
En línea
|
|
|
|
BlackZeroX
Wiki
Desconectado
Mensajes: 3.158
I'Love...!¡.
|
. El interprete seria como crear un lenguaje como javascript, VBS, etc... claro se podrian crear retos por partes, pero me queda clarisimo que para crear un interprete por mas de 1 se debe llevar un seguimiento ordenado y planificado... sin contar el tiempo... etc, este reto del interprete seria como para 1 mes o mas, claro que se podria crear por partes... por ejemplo: [Reto] Interprete if then, select case/Switch, ...: * Donde por medio de un textbox se ponga el lenguaje y en un boton ejecute el codigo, obligamente sin interpretacion de variables (Que no se manejen variables)... es decir el if then, select case/switch, ... sus funcionalidades basicas. por ejemplo en un textbox que se pegue: if 454 > 45 then msgbox "hola" else if 41 = 41 then msgbox "adios" else msgbox "error" end if
Obviamente el interprete llamaria a msgbox de vb6, ya que solo se deberia programar un interprete de if then, posteriormente se al tener varios codigos se podria armar o unir... espero haberme explicado. Sin usar algun ocx. o algo que ya haga el trabajo como vbs o javascript... Es un poco LOCA esta propuesta y me la andaba pensando puesto que se debe planificar bien... Dulces Lunas!¡.
|
|
« Última modificación: 18 Septiembre 2011, 03:48 am por BlackZeroX▓▓▒▒░░ »
|
En línea
|
The Dark Shadow is my passion.
|
|
|
raul338
Desconectado
Mensajes: 2.633
La sonrisa es la mejor forma de afrontar las cosas
|
claro esta que solo sera para matar el tiempo y pasar el rato
Lo malo es los que no tienen mucho tiempo (como yo ). Es un proyecto que ademas de ser intermedio, es mediano/grande y ademas necesita su tiempo de reflexion. Y proponer un reto para que salgan 4 o 5 interpretes, no lo veo productivo Lo mejor seria armar un proyecto open source y el que quiera unirse que entre y haga sus modificaciones al codigo y despues el que maneje el proyecto decida si lo une o no (con github)
|
|
|
En línea
|
|
|
|
BlackZeroX
Wiki
Desconectado
Mensajes: 3.158
I'Love...!¡.
|
Lo malo es los que no tienen mucho tiempo (como yo ). Es un proyecto que ademas de ser intermedio, es mediano/grande y ademas necesita su tiempo de reflexion. Y proponer un reto para que salgan 4 o 5 interpretes, no lo veo productivo La idea no es crear un interprete en si como vbs... si no crear retos pequeños que no tienen fin de crear ni unirse a uno grande como ejemplo el del if then seria algo asi (Lo hice de una manera muy cutre y rapida): Option Explicit
Private Sub Form_Load() Const CODIGO As String = "if (-1 < 1)) {" & vbCrLf & "msgbox hola" & vbCrLf & "}" MsgBox CBool(validateCondition(itsIF(getLine(CODIGO, 0)))) End Sub
Public Static Function TextBetweenWords$(ByRef sText$, ByVal sWord1$, ByVal sWord2$) Dim lPos1&, lPos2&, lStart& If LenB(sText) Then lPos1 = InStrB(1, sText, sWord1, vbBinaryCompare) If lPos1 Then lStart = lPos1 + LenB(sWord1) lPos2 = InStrB(lStart, sText, sWord2, vbBinaryCompare) If lPos2 Then TextBetweenWords = MidB$(sText, lStart, lPos2 - lStart) End If End If End Function
Public Function getLine(ByRef sStr As String, ByVal lLine As Long) As String Dim sVar() As String sVar = Split(sStr, vbCrLf) If (UBound(sVar) < lLine) Then getLine = sVar(UBound(sVar)) Else getLine = sVar(lLine) End If End Function
Public Function itsIF(ByVal sLine As String) As String Dim i As Long For i = 1 To Len(sLine) If (LCase$(MidB$(sLine, i, 4)) = "if") Then itsIF = TextBetweenWords$(sLine, "(", ")") Exit Function End If Next End Function
Public Function validateCondition(ByRef sCondition As String) As Long Dim sStr As String Dim lIndex As Long sStr = TextBetweenWords$(sCondition, "(", ")") Do Until (sStr = vbNullString) sStr = TextBetweenWords$(sCondition, "(", ")") If Not (sStr = vbNullString) Then sCondition = Replace$(sCondition, "(" & sStr & ")", validateCondition(sStr), 1, 1, vbTextCompare) End If Loop sCondition = Trim$(sCondition) lIndex = InStr(1, sCondition, "=", vbTextCompare) If lIndex > 0 Then validateCondition = Trim$(MidB$(sCondition, 1, (lIndex - 1) * 2)) = Trim$(MidB$(sCondition, (lIndex * 2) + 3)) Exit Function End If lIndex = InStr(1, sCondition, ">", vbTextCompare) If lIndex > 0 Then validateCondition = MidB$(sCondition, 1, lIndex) > Trim$(MidB$(sCondition, lIndex + 1)) Exit Function End If lIndex = InStr(1, sCondition, "<", vbTextCompare) If lIndex > 0 Then validateCondition = MidB$(sCondition, 1, lIndex) < Trim$(MidB$(sCondition, lIndex + 1)) Exit Function End If ' // ... End Function
Dulces Lunas!¡.
|
|
|
En línea
|
The Dark Shadow is my passion.
|
|
|
x64core
Desconectado
Mensajes: 1.908
|
esta interesante y si es un project medio grande y como dices BlackZeroX me parece que se vayan poniendo como retos yo en el proximo que se publique si participare, en los ultimos que se han publicado siempre me animo al principio pero al final me frustro pero en este que viene si participare bueno y tambien hay poca gente que participa en los retos bueno una parte es porque no todos se conectan la misma semana o los diaz de los retos pero en general unos 4 o 5
|
|
« Última modificación: 18 Septiembre 2011, 04:30 am por Raul100 »
|
En línea
|
|
|
|
Psyke1
Wiki
Desconectado
Mensajes: 1.089
|
Ui, algo pasa aquí... ¿ BlackZeroX llevando proyectos a cabo? Ya tenías pensada la idea y me la dijiste hace ya casi un año, pero no la llevamos a cabo por falta de tiempo y demás factores... Bueno, no hace falta que diga que tienes todo mi apoyo y colaboración en lo que pueda ayudar. Por cierto: ¿No decías que había que hacer clases recursivas para ello? ¿Habrá miles de retos hasta conseguir parsear las funciones de vb? ¿Me estoy haciendo un lío? DoEvents!
|
|
|
En línea
|
|
|
|
carepapa
Desconectado
Mensajes: 19
|
yo voy a empezar a hacer un intérprete, lo malo esque no consigo mucha información. Es un proyecto para este final de semestre, en lo que vaya avanzando les ire comentando. La idea es que me haga las operaciones básicas, declaracion de variables, etc. Algo como asi: vive usar a,b; asignar b valor 5; meta a; // Leer a sumar b,a; saque b; // imprime b muere
|
|
|
En línea
|
|
|
|
|
|