2010-04-25 7 views
6

estoy aprendiendo Antlr del libro 'The Definitive referencia Antlr'. Todavía estoy en las etapas iniciales. Me gusta hacer cosas, así que pensé que sería una gran experiencia de aprendizaje hacer un buen proyecto de muestra. Busco a un proyecto de un buen tamaño, no demasiado grande. Pero lo suficientemente grande y complicado como para ayudarme a aprender bien Antlr.Un proyecto interesante para poner en práctica para aprender Antlr

¡Sus entradas serán muy apreciadas!

Gracias!

+1

Hack Python para incluir el uso de aparatos ortopédicos;) –

Respuesta

1

Escriba usted mismo una gramática para un motor de reglas. Luego escriba la implementación del algoritmo Rete para usarlos.

+0

if/then expressions necesita un libro completo? no tan. – duffymo

+0

eliminar accidentalmente mi comentario anterior, lo siento. De todos modos, es cierto, no es necesario que sea complicado. –

2

Escriba un analizador de macros y un sistema de macros. Sí hay varios de ellos ya, pero eso no significa que el proyecto menos interesante que hacer, además de que puede solicitar que sea mucho más rápido, ya sabe si es "correcta" o no.

Para divertirse, transfiéralo a JS para que pueda cargarlo sobre la marcha en las páginas web.

+0

antlr incluso tiene un objetivo JavaScript, por lo portabilidad no es necesario: las clases parser- y analizadoras generados ya están 'archivos .js'! –

0

Estoy implementando mi propio lenguaje de programación como ejercicio de aprendizaje ANTLR. Descubrí que funciona bien si trabajar en un solo proyecto y ver cómo evoluciona complementa su estilo de aprendizaje.

Mi proyecto de lenguaje comenzó sin hacer nada útil, simplemente jugando con la sintaxis del analizador y del analizador. Ingresar variables e imprimirlas fue lo siguiente. A medida que aumenta el conocimiento, se puede construir sobre esto, añadiendo más cosas como las estructuras de control, etc.

0

Escribe una utilidad cron que se puede configurar con una sintaxis como:

lenguaje
every 12 hours 
every 5 minutes from 10:00 to 14:00 
2nd,third mon,wed,thu of march 17:00 
every monday 09:00 
1st monday of sep,oct,nov 17:00 
every day 00:00 
Cuestiones relacionadas