コード例 #1
0
ファイル: rules.py プロジェクト: kingshukmajumder/LEGO
def p_halfblock(p):
    '''halfblock : label
                    | halfblock newline
                    | halfblock dot
                    | halfblock pvar
                    | halfblock dvar
                    | halfblock spaces
                    | halfblock identifier
                    | halfblock cblock
                    | halfblock assign
                    | halfblock pblock
                    | halfblock colon
                    | halfblock string
                    | halfblock num
                    | halfblock eq
                    | halfblock lt
                    | halfblock gt
                    | halfblock not
                    | halfblock tab
                    | halfblock misc 
                    | halfblock comma
                    | halfblock fcall
    '''
    if len(p)>2:
        p[0]=p[1]
        n=p[2]
        if isinstance(p[2],str) or isinstance(p[2],int):
            x= p[2]
            if x=='\n':
                x='newline'
            n=Node("token")
            n.str = x
        p[0].args.append(n)
    else:
        p[0] = Node('halfb')
        p[0].label = p[1]