Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

 

class Token(object): 

    def __init__(self, start_mark, end_mark): 

        self.start_mark = start_mark 

        self.end_mark = end_mark 

    def __repr__(self): 

        attributes = [key for key in self.__dict__ 

                if not key.endswith('_mark')] 

        attributes.sort() 

        arguments = ', '.join(['%s=%r' % (key, getattr(self, key)) 

                for key in attributes]) 

        return '%s(%s)' % (self.__class__.__name__, arguments) 

 

#class BOMToken(Token): 

#    id = '<byte order mark>' 

 

class DirectiveToken(Token): 

    id = '<directive>' 

    def __init__(self, name, value, start_mark, end_mark): 

        self.name = name 

        self.value = value 

        self.start_mark = start_mark 

        self.end_mark = end_mark 

 

class DocumentStartToken(Token): 

    id = '<document start>' 

 

class DocumentEndToken(Token): 

    id = '<document end>' 

 

class StreamStartToken(Token): 

    id = '<stream start>' 

    def __init__(self, start_mark=None, end_mark=None, 

            encoding=None): 

        self.start_mark = start_mark 

        self.end_mark = end_mark 

        self.encoding = encoding 

 

class StreamEndToken(Token): 

    id = '<stream end>' 

 

class BlockSequenceStartToken(Token): 

    id = '<block sequence start>' 

 

class BlockMappingStartToken(Token): 

    id = '<block mapping start>' 

 

class BlockEndToken(Token): 

    id = '<block end>' 

 

class FlowSequenceStartToken(Token): 

    id = '[' 

 

class FlowMappingStartToken(Token): 

    id = '{' 

 

class FlowSequenceEndToken(Token): 

    id = ']' 

 

class FlowMappingEndToken(Token): 

    id = '}' 

 

class KeyToken(Token): 

    id = '?' 

 

class ValueToken(Token): 

    id = ':' 

 

class BlockEntryToken(Token): 

    id = '-' 

 

class FlowEntryToken(Token): 

    id = ',' 

 

class AliasToken(Token): 

    id = '<alias>' 

    def __init__(self, value, start_mark, end_mark): 

        self.value = value 

        self.start_mark = start_mark 

        self.end_mark = end_mark 

 

class AnchorToken(Token): 

    id = '<anchor>' 

    def __init__(self, value, start_mark, end_mark): 

        self.value = value 

        self.start_mark = start_mark 

        self.end_mark = end_mark 

 

class TagToken(Token): 

    id = '<tag>' 

    def __init__(self, value, start_mark, end_mark): 

        self.value = value 

        self.start_mark = start_mark 

        self.end_mark = end_mark 

 

class ScalarToken(Token): 

    id = '<scalar>' 

    def __init__(self, value, plain, start_mark, end_mark, style=None): 

        self.value = value 

        self.plain = plain 

        self.start_mark = start_mark 

        self.end_mark = end_mark 

        self.style = style