# Licensed under a 3-clause BSD style license - see LICENSE.rst
from __future__ import (absolute_import, division, print_function,
                        unicode_literals)

# angle_lextab.py. This file automatically created by PLY (version 3.4). Don't edit!
_tabversion   = '3.4'
_lextokens    = {'DEGREE': 1, 'HOUR': 1, 'SIMPLE_UNIT': 1, 'SIGN': 1, 'SECOND': 1, 'COLON': 1, 'UINT': 1, 'MINUTE': 1, 'UFLOAT': 1}
_lexreflags   = 0
_lexliterals  = ''
_lexstateinfo = {'INITIAL': 'inclusive'}

_lexstatere   = {'INITIAL': [('(?P<t_UFLOAT>((\\d+\\.\\d*)|(\\.\\d+))([eE][+-\u2212]?\\d+)?)|(?P<t_UINT>\\d+)|(?P<t_SIGN>[+\u2212-])|(?P<t_SIMPLE_UNIT>(?:hectoradian)|(?:petaradian)|(?:hrad)|(?:zeptoradian)|(?:arcsec)|(?:aarcmin)|(?:deciarcminute)|(?:Parcsec)|(?:kiloarcsecond)|(?:exaarcsecond)|(?:deciradian)|(?:yoctoarcminute)|(?:prad)|(?:Parcmin)|(?:yottaradian)|(?:marcmin)|(?:aarcsec)|(?:milliarcsecond)|(?:milliradian)|(?:parcsec)|(?:arad)|(?:uarcmin)|(?:parcmin)|(?:decaarcminute)|(?:dekaarcsecond)|(?:nrad)|(?:Tarcsec)|(?:attoarcsecond)|(?:Trad)|(?:krad)|(?:Zarcmin)|(?:Earcmin)|(?:exaarcminute)|(?:farcmin)|(?:Prad)|(?:dekaarcminute)|(?:Earcsec)|(?:Yarcsec)|(?:Garcmin)|(?:daarcmin)|(?:kiloradian)|(?:nanoarcminute)|(?:kiloarcminute)|(?:megaradian)|(?:yarcmin)|(?:Zarcsec)|(?:teraarcsecond)|(?:femtoarcsecond)|(?:Marcsec)|(?:arcminute)|(?:zettaarcsecond)|(?:yoctoarcsecond)|(?:arcsecond)|(?:decaarcsecond)|(?:zeptoarcminute)|(?:attoradian)|(?:Grad)|(?:Garcsec)|(?:microarcminute)|(?:marcsec)|(?:picoarcminute)|(?:teraradian)|(?:narcsec)|(?:centiradian)|(?:zettaradian)|(?:darad)|(?:microradian)|(?:gigaarcsecond)|(?:decaradian)|(?:exaradian)|(?:centiarcminute)|(?:cy)|(?:femtoradian)|(?:mrad)|(?:femtoarcminute)|(?:yottaarcsecond)|(?:centiarcsecond)|(?:gigaradian)|(?:zettaarcminute)|(?:gigaarcminute)|(?:yoctoradian)|(?:crad)|(?:picoradian)|(?:zrad)|(?:dekaradian)|(?:narcmin)|(?:farcsec)|(?:Erad)|(?:radian)|(?:urad)|(?:nanoarcsecond)|(?:microarcsecond)|(?:hectoarcsecond)|(?:petaarcsecond)|(?:deciarcsecond)|(?:nanoradian)|(?:Mrad)|(?:carcmin)|(?:yottaarcminute)|(?:rad)|(?:uas)|(?:harcmin)|(?:megaarcsecond)|(?:yrad)|(?:Zrad)|(?:carcsec)|(?:Marcmin)|(?:Yarcmin)|(?:zeptoarcsecond)|(?:zarcmin)|(?:darcmin)|(?:karcmin)|(?:attoarcminute)|(?:daarcsec)|(?:Tarcmin)|(?:yarcsec)|(?:mas)|(?:frad)|(?:petaarcminute)|(?:teraarcminute)|(?:harcsec)|(?:uarcsec)|(?:drad)|(?:arcmin)|(?:milliarcminute)|(?:darcsec)|(?:hectoarcminute)|(?:zarcsec)|(?:cycle)|(?:karcsec)|(?:megaarcminute)|(?:picoarcsecond)|(?:Yrad))|(?P<t_MINUTE>m(in(ute(s)?)?)?|\u2032|\\\'|\u1d50)|(?P<t_SECOND>s(ec(ond(s)?)?)?|\u2033|\\"|\u02e2)|(?P<t_DEGREE>d(eg(ree(s)?)?)?|\xb0)|(?P<t_HOUR>hour(s)?|h(r)?|\u02b0)|(?P<t_COLON>:)', [None, ('t_UFLOAT', 'UFLOAT'), None, None, None, None, ('t_UINT', 'UINT'), ('t_SIGN', 'SIGN'), ('t_SIMPLE_UNIT', 'SIMPLE_UNIT'), (None, 'MINUTE'), None, None, None, (None, 'SECOND'), None, None, None, (None, 'DEGREE'), None, None, None, (None, 'HOUR'), None, None, (None, 'COLON')])]}
_lexstateignore = {'INITIAL': ' '}
_lexstateerrorf = {'INITIAL': 't_error'}
