Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Temas relacionados > Debates
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-09-2013
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.941
Poder: 27
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cool Un nuevo tipo de Pascal

Como escribi en http://clubdelphi.com/foros/showthread.php?t=80367 llevo un rato dandole vueltas a hacer un nuevo lenguaje.

Eso me ha llevado a conocer un monton de lenguajes alternativos, y de entre ellos, este es muy parecido a pascal:

http://nimrod-code.org/

(En el home se ve mas como un python, es mas bien un pythonpascal )

Ya en el tutorial:

http://nimrod-code.org/tut1.html

Código Delphi [-]
type
  TMyObject {.final, pure, acyclic.} = object  # comment continues: \
    # we have lots of space here to comment 'TMyObject'.
    # This line belongs to the comment as it's properly aligned.

var
  x, y: int
  # a comment can occur here too
  a, b, c: string

type
  PNode = ref TNode
  TNode = tuple[le, ri: PNode, data: int]
var
  n: PNode
new(n)
n.data = 9

type
  TPerson = object of TObject
    name*: string  # the * means that `name` is accessible from other modules
    age: int       # no * means that the field is hidden from other modules
  
  TStudent = object of TPerson # TStudent inherits from TPerson
    id: int                    # with an id field

Muy interesante me parecio su metaprogramacion (MACROS en C++):

Código Delphi [-]
const
  debug = True

template log(msg: string) =
  if debug: stdout.writeln(msg)

var
  x = 4
log("x has the value: " & $x)
__________________
El malabarista.
Responder Con Cita
  #2  
Antiguo 02-10-2013
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.025
Poder: 27
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Muy interesante. Yo también ando buscando un "nuevo lenguaje" (en realidad ya lo tengo, pero ahora tengo que implementarlo y me da mucha pereza ) y este tiene muy buena pinta.
Responder Con Cita
  #3  
Antiguo 02-10-2013
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.941
Poder: 27
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Y como has pensando el lenguaje?
__________________
El malabarista.
Responder Con Cita
  #4  
Antiguo 03-10-2013
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.025
Poder: 27
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Cool

Es un lenguaje orientado a objetos, dirigido por estados y basado en mensajes (toma ya ). Está pensado para aplicarlo a videojuegos, especialmente para definir comportamientos de personajes y objetos. Por ejemplo, este adaptado de "Programming Game IA By Example":
Código:
ACTOR Bob IS aMiner
  STATE EnCasa
    IF Lugar # Casa
      Msg "Walkin' home."
      MoverA (Casa)
      SEND MESSAGE EnCasa TO Esposa
    ELSE
      IF Fatigado
        Descansa
      ELSE
        SET STATE TrabajaMina
      END IF
    END IF
  END STATE



  MESSAGE CenaLista
    IF Lugar = Casa THEN
      Msg "Okay hun, ahm a-comin"
      SET Hambre TO 0
      SET STATE Comiendo
    END IF
  END MESSAGE
 


  STATE Comiendo
    IF Hambre = 0
      Msg "Smells Reaaal goood Elsa!"
      SET Hambre TO 1
    ELSE
      IF Hambre = 1
        Msg "Tastes real good too!"
        SET Hambre TO 2
      ELSE
        Msg "Thankya li'lle lady. Ah better get back to whatever ah wuz doin'."
        SET STATE PREVIOUS
      END IF
    END IF
  END STATE



  STATE TrabajaMina
    IF Lugar # Mina
      Msg "Walkin' to the gold mine."
      MoverA (Mina)
    ELSE
      Cava
      Msg "Pickin' up a nugget."
      IF BolsaLlena
        SET STATE VisitaBanco
      ELSE
        IF Sediento
          SET STATE VisitaSaloon
       END IF
    END IF
  END STATE



  STATE VisitaBanco
    IngresaDinero (Oro)
    SET Oro TO 0
    IF SuficienteOro (Dinero)
      Msg "WooHoo! Rich enough for now. Back home to mah li'lle lady."
      SET STATE EnCasa
    ELSE
      SET STATE TrabajaMina
    END IF
  END STATE



  STATE VisitaSaloon
    IF Lugar # Saloon
      Msg "Boy, ah sure is thusty! Walking to the saloon."
      MoverA (Saloon)
    ELSE
      IF Sediento
        IF NOT Inventario (Wisky)
          Compra (Wisky)
        ELSE
          Bebe (Wisky)
          Msg "That's mighty fine sippin' liquer."
          SET STATE TrabajaMina
        END IF
      END IF
    END IF
  END STATE
END ACTOR
Como digo, no lo he implementado, pero debería funcionar.
Responder Con Cita
  #5  
Antiguo 03-10-2013
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.671
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Véndeselo a facebook, para que lo usen todos sus usuarios que tienen la costumbre de ir contando al mundo lo que están haciendo
Responder Con Cita
  #6  
Antiguo 05-10-2013
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.025
Poder: 27
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Como digo, es para definir el comportamiento de los actores en un videojuego. Cada actor tiene un estado, el cual es quien define su comportamiento. Los mensajes se usan para que los actores se comuniquen entre sí.

La ventaja está en que el intérprete permitirá (si el motor así lo indica) que el diseñador del juego cree sus propios estados sin limitarse a los que el motor provee.

Cita:
Empezado por Casimiro Notevi Ver Mensaje
Véndeselo a facebook, para que lo usen todos sus usuarios que tienen la costumbre de ir contando al mundo lo que están haciendo
Me lo pensaré.
Responder Con Cita
  #7  
Antiguo 03-10-2013
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.941
Poder: 27
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por Ñuño Martínez Ver Mensaje
Es un lenguaje orientado a objetos, dirigido por estados y basado en mensajes (toma ya ).
Interesante. Pero no entiendo la utilidad practica de manejar maquinas de estado explicitamente, si ya tienes el cuento de pasar mensajes.

Si el lenguaje tiene capacidad de usar YIELD, mensajes y hacer un SELECT para esperar sus respuestas, forzosamente puede modelar una maquina de estado:

https://gobyexample.com/select

Pero me gustaría ver como eso podría ayudar de forma mas clara.
__________________
El malabarista.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Nuevo Foro Morfik programacion web /pascal ASAPLTDA Debates 32 10-12-2010 22:16:51
Nuevo tipo /contrato mant de Embarcadero avmm2004 Noticias 52 04-03-2009 17:22:50
Tipo de dato C a Pascal Young Varios 1 23-02-2009 17:21:11
crear un programa tipo pascal que funcione con el disco de inicio ms-dos kurono Varios 5 14-03-2008 22:28:17
manual de excepciones de object pascal para free pascal??? Garion OOP 3 27-05-2005 00:42:29


La franja horaria es GMT +2. Ahora son las 23:30:36.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi