Exemple #1
0
def p_error(token):
    if token:
        message = "Unexpected token '{token}' at line {line} column {column}"
        line, column = lexer.lineno, compute_column(token)
        raise SyntacticError(message.format(token=token.type, line=line, column=column))
    else:
        message = "Unexpected end of the input file"
        raise SyntacticError(message)
Exemple #2
0
def p_error(token):
    if token:
        message = "Unexpected token '{token}' at line {line} column {column}"
        line, column = lexer.lineno, compute_column(token)
        raise SyntacticError(
            message.format(token=token.type, line=line, column=column))
    else:
        message = "Unexpected end of the input file"
        raise SyntacticError(message)
Exemple #3
0
 def _escape(number):
     """
     Recibe un entero representando el número correspondiente a un caracter ASCII y
     devuelve la secuencia de caracteres necesaria para representar este caracter
     en un literal de cadena de C. La secuencia de caracteres consiste en un 
     backslash seguido de 3 dígitos octales.
     
     @type number: C{int}
     @param number: Entero representando el caracter ASCII.
     
     @rtype: C{str}
     @return: Representación válida del caracter en un literal de cadena de C.
     """
     if 0 <= number <= 255:
         return r'\{0}'.format(oct(number)[-3:])
     else:
         message = "Invalid string literal at line {line} column {column}"
         line, column = token.lexer.lineno, compute_column(token)
         raise SyntacticError(message.format(line=line, column=column))
Exemple #4
0
 def _escape(number):
     """
     Recibe un entero representando el número correspondiente a un caracter ASCII y
     devuelve la secuencia de caracteres necesaria para representar este caracter
     en un literal de cadena de C. La secuencia de caracteres consiste en un 
     backslash seguido de 3 dígitos octales.
     
     @type number: C{int}
     @param number: Entero representando el caracter ASCII.
     
     @rtype: C{str}
     @return: Representación válida del caracter en un literal de cadena de C.
     """
     if 0 <= number <= 255:
         return r'\{0}'.format(oct(number)[-3:])
     else:
         message = "Invalid string literal at line {line} column {column}"
         line, column = token.lexer.lineno, compute_column(token)
         raise SyntacticError(message.format(line=line, column=column))
Exemple #5
0
def t_error(token):
    message = "Illegal character '{char}' at line {line} column {column}"
    line, column = token.lexer.lineno, compute_column(token)
    raise SyntacticError(
        message.format(char=token.value[0], line=line, column=column))
Exemple #6
0
def t_error(token):
    message = "Illegal character '{char}' at line {line} column {column}"
    line, column = token.lexer.lineno, compute_column(token)
    raise SyntacticError(message.format(char=token.value[0], line=line, column=column))