OpenQuizz
Une application de gestion des contenus pédagogiques
Scanner Class Reference
Inheritance diagram for Scanner:

Public Member Functions

def __init__ (self)
 
def check_token (self, *choices)
 
def peek_token (self)
 
def get_token (self)
 
def need_more_tokens (self)
 
def fetch_more_tokens (self)
 
def next_possible_simple_key (self)
 
def stale_possible_simple_keys (self)
 
def save_possible_simple_key (self)
 
def remove_possible_simple_key (self)
 
def unwind_indent (self, column)
 
def add_indent (self, column)
 
def fetch_stream_start (self)
 
def fetch_stream_end (self)
 
def fetch_directive (self)
 
def fetch_document_start (self)
 
def fetch_document_end (self)
 
def fetch_document_indicator (self, TokenClass)
 
def fetch_flow_sequence_start (self)
 
def fetch_flow_mapping_start (self)
 
def fetch_flow_collection_start (self, TokenClass)
 
def fetch_flow_sequence_end (self)
 
def fetch_flow_mapping_end (self)
 
def fetch_flow_collection_end (self, TokenClass)
 
def fetch_flow_entry (self)
 
def fetch_block_entry (self)
 
def fetch_key (self)
 
def fetch_value (self)
 
def fetch_alias (self)
 
def fetch_anchor (self)
 
def fetch_tag (self)
 
def fetch_literal (self)
 
def fetch_folded (self)
 
def fetch_block_scalar (self, style)
 
def fetch_single (self)
 
def fetch_double (self)
 
def fetch_flow_scalar (self, style)
 
def fetch_plain (self)
 
def check_directive (self)
 
def check_document_start (self)
 
def check_document_end (self)
 
def check_block_entry (self)
 
def check_key (self)
 
def check_value (self)
 
def check_plain (self)
 
def scan_to_next_token (self)
 
def scan_directive (self)
 
def scan_directive_name (self, start_mark)
 
def scan_yaml_directive_value (self, start_mark)
 
def scan_yaml_directive_number (self, start_mark)
 
def scan_tag_directive_value (self, start_mark)
 
def scan_tag_directive_handle (self, start_mark)
 
def scan_tag_directive_prefix (self, start_mark)
 
def scan_directive_ignored_line (self, start_mark)
 
def scan_anchor (self, TokenClass)
 
def scan_tag (self)
 
def scan_block_scalar (self, style)
 
def scan_block_scalar_indicators (self, start_mark)
 
def scan_block_scalar_ignored_line (self, start_mark)
 
def scan_block_scalar_indentation (self)
 
def scan_block_scalar_breaks (self, indent)
 
def scan_flow_scalar (self, style)
 
def scan_flow_scalar_non_spaces (self, double, start_mark)
 
def scan_flow_scalar_spaces (self, double, start_mark)
 
def scan_flow_scalar_breaks (self, double, start_mark)
 
def scan_plain (self)
 
def scan_plain_spaces (self, indent, start_mark)
 
def scan_tag_handle (self, name, start_mark)
 
def scan_tag_uri (self, name, start_mark)
 
def scan_uri_escapes (self, name, start_mark)
 
def scan_line_break (self)
 

Data Fields

 done
 
 flow_level
 
 tokens
 
 tokens_taken
 
 indent
 In flow context, tokens should respect indentation. More...
 
 indents
 
 allow_simple_key
 
 possible_simple_keys
 
 column
 
 index
 

Static Public Attributes

 ESCAPE_REPLACEMENTS
 
 ESCAPE_CODES
 

Constructor & Destructor Documentation

◆ __init__()

def __init__ (   self)
Initialize the scanner.

Member Function Documentation

◆ add_indent()

def add_indent (   self,
  column 
)

◆ check_block_entry()

def check_block_entry (   self)

◆ check_directive()

def check_directive (   self)

◆ check_document_end()

def check_document_end (   self)

◆ check_document_start()

def check_document_start (   self)

◆ check_key()

def check_key (   self)

◆ check_plain()

def check_plain (   self)

◆ check_token()

def check_token (   self,
choices 
)

◆ check_value()

def check_value (   self)

◆ fetch_alias()

def fetch_alias (   self)

◆ fetch_anchor()

def fetch_anchor (   self)

◆ fetch_block_entry()

def fetch_block_entry (   self)

◆ fetch_block_scalar()

def fetch_block_scalar (   self,
  style 
)

◆ fetch_directive()

def fetch_directive (   self)

◆ fetch_document_end()

def fetch_document_end (   self)

◆ fetch_document_indicator()

def fetch_document_indicator (   self,
  TokenClass 
)

◆ fetch_document_start()

def fetch_document_start (   self)

◆ fetch_double()

def fetch_double (   self)

◆ fetch_flow_collection_end()

def fetch_flow_collection_end (   self,
  TokenClass 
)

◆ fetch_flow_collection_start()

def fetch_flow_collection_start (   self,
  TokenClass 
)

◆ fetch_flow_entry()

def fetch_flow_entry (   self)

◆ fetch_flow_mapping_end()

def fetch_flow_mapping_end (   self)

◆ fetch_flow_mapping_start()

def fetch_flow_mapping_start (   self)

◆ fetch_flow_scalar()

def fetch_flow_scalar (   self,
  style 
)

◆ fetch_flow_sequence_end()

def fetch_flow_sequence_end (   self)

◆ fetch_flow_sequence_start()

def fetch_flow_sequence_start (   self)

◆ fetch_folded()

def fetch_folded (   self)

◆ fetch_key()

def fetch_key (   self)

◆ fetch_literal()

def fetch_literal (   self)

◆ fetch_more_tokens()

def fetch_more_tokens (   self)

◆ fetch_plain()

def fetch_plain (   self)

◆ fetch_single()

def fetch_single (   self)

◆ fetch_stream_end()

def fetch_stream_end (   self)

◆ fetch_stream_start()

def fetch_stream_start (   self)

◆ fetch_tag()

def fetch_tag (   self)

◆ fetch_value()

def fetch_value (   self)

◆ get_token()

def get_token (   self)

◆ need_more_tokens()

def need_more_tokens (   self)

◆ next_possible_simple_key()

def next_possible_simple_key (   self)

◆ peek_token()

def peek_token (   self)

◆ remove_possible_simple_key()

def remove_possible_simple_key (   self)

◆ save_possible_simple_key()

def save_possible_simple_key (   self)

◆ scan_anchor()

def scan_anchor (   self,
  TokenClass 
)

◆ scan_block_scalar()

def scan_block_scalar (   self,
  style 
)

◆ scan_block_scalar_breaks()

def scan_block_scalar_breaks (   self,
  indent 
)

◆ scan_block_scalar_ignored_line()

def scan_block_scalar_ignored_line (   self,
  start_mark 
)

◆ scan_block_scalar_indentation()

def scan_block_scalar_indentation (   self)

◆ scan_block_scalar_indicators()

def scan_block_scalar_indicators (   self,
  start_mark 
)

◆ scan_directive()

def scan_directive (   self)

◆ scan_directive_ignored_line()

def scan_directive_ignored_line (   self,
  start_mark 
)

◆ scan_directive_name()

def scan_directive_name (   self,
  start_mark 
)

◆ scan_flow_scalar()

def scan_flow_scalar (   self,
  style 
)

◆ scan_flow_scalar_breaks()

def scan_flow_scalar_breaks (   self,
  double,
  start_mark 
)

◆ scan_flow_scalar_non_spaces()

def scan_flow_scalar_non_spaces (   self,
  double,
  start_mark 
)

◆ scan_flow_scalar_spaces()

def scan_flow_scalar_spaces (   self,
  double,
  start_mark 
)

◆ scan_line_break()

def scan_line_break (   self)

◆ scan_plain()

def scan_plain (   self)

◆ scan_plain_spaces()

def scan_plain_spaces (   self,
  indent,
  start_mark 
)

◆ scan_tag()

def scan_tag (   self)

◆ scan_tag_directive_handle()

def scan_tag_directive_handle (   self,
  start_mark 
)

◆ scan_tag_directive_prefix()

def scan_tag_directive_prefix (   self,
  start_mark 
)

◆ scan_tag_directive_value()

def scan_tag_directive_value (   self,
  start_mark 
)

◆ scan_tag_handle()

def scan_tag_handle (   self,
  name,
  start_mark 
)

◆ scan_tag_uri()

def scan_tag_uri (   self,
  name,
  start_mark 
)

◆ scan_to_next_token()

def scan_to_next_token (   self)

◆ scan_uri_escapes()

def scan_uri_escapes (   self,
  name,
  start_mark 
)

◆ scan_yaml_directive_number()

def scan_yaml_directive_number (   self,
  start_mark 
)

◆ scan_yaml_directive_value()

def scan_yaml_directive_value (   self,
  start_mark 
)

◆ stale_possible_simple_keys()

def stale_possible_simple_keys (   self)

◆ unwind_indent()

def unwind_indent (   self,
  column 
)

Field Documentation

◆ allow_simple_key

allow_simple_key

◆ column

column

◆ done

done

◆ ESCAPE_CODES

ESCAPE_CODES
static

◆ ESCAPE_REPLACEMENTS

ESCAPE_REPLACEMENTS
static

◆ flow_level

flow_level

◆ indent

indent

In flow context, tokens should respect indentation.

Actually the condition should be self.indent >= column according to the spec. But this condition will prohibit intuitively correct constructions such as key : { } if self.flow_level and self.indent > column: raise ScannerError(None, None, "invalid indentation or unclosed '[' or '{'", self.get_mark())

◆ indents

indents

◆ index

index

◆ possible_simple_keys

possible_simple_keys

◆ tokens

tokens

◆ tokens_taken

tokens_taken

The documentation for this class was generated from the following file: