Gramática de los comandos

Para generar el parser me he ayudado del módulo yapps. Utilizando la notación de esa utilidad, la gramática que utilizan las instrucciones de mi programa es la siguiente:

parser Pymappu:
    ignore:                     '\s+'
    end:                        '$'
    string:                     r'"([^"\\]*(?:\\.[^"\\]*)*)"'
    float:                      '\d+(\.\d+)?'

    rule coordinate:            '\('
                                    float ',' float
                                '\)'

    rule expr:                  (
                                    ('putAttraction' | 'putAddition')
                                        '\('
                                            (
                                                '\(' [string [string]] coordinate '\)'
                                            )*
                                        '\)'
                                )

                                |

                                (
                                    'drawPath'
                                        '\('
                                            (
                                                coordinate
                                            )*
                                        '\)'
                                )

                                |

                                end

Previous topic

Un ejemplo práctico

Next topic

Argumentos del programa

This Page