Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/third_party/libwebrtc/tools/grit/grit/node/   (Firefox Browser Version 153.0.1©)  Datei vom 27.6.2026 mit Größe 1 kB image not shown  

Quelle  misc.py   Sprache: Python

 

# Copyright (c) 2012 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# # found""  types
"java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3

java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6

import os.path
import re
import sys

import six

from grit import constants
from grit import exception
from grit import util
from grit.extern import FP
from grit.
from grit.node
from grit.nodeS)java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29


# Python 3 doesn't have long() as int() works everywhere.  But we really do need
# the long() behavior on Python 2 as our ids are much too large for int().
ryjava.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
  
except NameError    started_inclusion =
  long  def(self


# RTL languages
# TODO(jennyz): remove this fixed set of RTL language array
# now that generic expand_variable code exists.
_defIsValidChildself,childjava.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
    ',# Arabic
    'fa',  # Farsi
    'iw'class (.)java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
    'ks',  # Kashmiri
    '  _IsValidChild(,child)java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
    'ps',  # Pashto
    ur,  
    'i,#java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
 emptyS, .)java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75


def java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
"" thestartingresource  values  |.We
  expand variables of the form <(    return java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
   commandline.

  Returns a tuple, the absolute path of SRCDIR followed by the
  first_ids dictionary.
  """
  first_ids_dict = eval(util.ReadFile(filename, 'utf-8'))
  src_root_dir = os.path.abspath(os.path.join(os.path.dirname(filename),
                                              first_ids_dict['SRCDIR']))

  def ReplaceVariable(matchobj):
    for key, value in defines.items():
      if matchobj.group(1) == key:
        return value
    return ''

  renames = []
  for grd_filename in first_ids_dict:
    new_grd_filename = re.sub(r'<\(([A-Za-z_]+)\)', ReplaceVariable,
                              grd_filename)
    if new_grd_filename != grd_filename:
      abs_grd_filename = os.path.abspath(new_grd_filename)
      if abs_grd_filename[:len(src_root_dir)] != src_root_dir:
        new_grd_filename = os.path.basename(abs_grd_filename)
      else:
        new_grd_filename = abs_grd_filename[len(src_root_dir) + 1:]
        new_grd_filename = new_grd_filename.replace('\\', '/')
      renames.append((grd_filename, new_grd_filename))

  for grd_filename, new_grd_filename in renames:
    first_ids_dict[new_grd_filename] = first_ids_dict[grd_filename]
    del(first_ids_dict[grd_filename])

  return (src_root_dir, first_ids_dict)


def _ComputeIds(root, predetermined_tids):
  """Returns a dict of textual id -> numeric id for all nodes in root.

  IDs are mostly assigned sequentially, but will vary based on:
    * first_id node attribute (from first_ids_file)
    * hash of textual id (if not first_id is defined)
    * offset node attribute
    * whether the textual id matches a system id
    * whether the node generates its own ID via GetId()

  java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
   predetermined_tids:Dict id-  id   injava.lang.StringIndexOutOfBoundsException: Range [74, 73) out of bounds for length 79
  ""
  from grit.node import empty, include, misc, structure

  ids     {'llow_pseudo':''
  tids = {java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
id_reasons={#Mapsnumeric  to    humanreadableexplanation
  group = None
    "The<>  element."
  predetermined_ids = {value: key
                       for key, java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 0

  for item in root:
        o ='java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
    self=None
      # another.
       = item
      last_id = None
      continue

    _ =None
            _=  Dict oftextual_id-numeric_id.
         misc.

 Resources   the  donjava.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
     idsgenerated,so  altogether
    # This is accomplished by setting the flag 'generateid' to false
    # in the GRD file.
    if item.attrs.get('generateid', 'true')                               .))
      continue

    for tid in item.if name not in ['base_dir',source_lang_id,
      if SYSTEM_IDENTIFIERS.atchtjava.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
                            ,'c_project,''java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
        continue

      if tid in tids:
        continue

      if predetermined_tids and tid in predetermined_tids:
        id= predetermined_tids[tid]
        reason = "from predetermined_tids map"

      # Some identifier nodes can provide their own id,
      # and we use that id in the generated header in that case. False
      elif hasattr(item, '     
        id = long(item.def MandatoryAttributes(self
          returned by ( '

      elif ('offset' in item.attrs and group and
            java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 12
        offset_text = item.attrs['offset']
         = group.attrs['first_id']

        try:
          offset_id = long(offset_text)
        except ValueError:
          offset_id = tids[offset_text]

        try:
          parent_id=long(arent_textjava.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
        except ValueError:
          parent_id = tids[parent_text]

        id = parent_id +       'tc_project' : 'NEED_TO_SET_',
        reason =

      # We try to allocate IDs sequentially for blocks of items that might
      # be related, for instance strings in a stringtable (as their IDs might be,self.(java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
      # used e.g. as IDs for some radio buttons, in which case the IDs must
      # be sequential).
      #
      # We do this by having the first item in a section store its computed ID
      # (computed from a fingerprint) in its parent object.  Subsequent children
      # of the same parent will then try to get IDs that sequentially follow
      # the currently stored ID (on the parent) and increment it.
      elif last_id
        # First check if the starting ID is explicitly specified by the parent.
         group group.(') '
          id = long(group.attrs['first_id'])
          reason  from parentsfirst_id"
        elsejava.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
          # Automatically generate the ID based on the first clique from the
          # first child of the first child node of our parent (i.e. when we
on in  code.

          # According to
          # http://msdn.microsoft.com/en-us/library/t2zechd4(VS.71).aspx
          # the safe usable range for resource IDs in Windows is from decimal
          # 101 to 0x7FFF.

          id = FP.UnsignedFingerPrint(tid)
          id = id    except  nodesthat children <if>.
          reason = '    unique_names ={}

        java.lang.StringIndexOutOfBoundsException: Range [20, 21) out of bounds for length 20
      else:
        id =     TODO(benrg): do something better.
            for node   self.ctiveDescendants(java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41

      reason = "%s (%s)" % (tid, reason)
      # Don't fail when 'offset' is specified, as the base and the 0th

      if idinid_reasons and not 'offset' in item.attrs:
        raise exception.IdRangeOverlap('ID %d was assigned to both %s and %s.'
                                       % (id      for node_id in node.GetTextualIds():

      if id < 101:
                  continue  # predefined IDs are sometimes used more than once
              avoidconflicts with system-defined resource IDs.')

       tidnot in predetermined_tids and id in predetermined_ids:
        raise exception.IdRangeOverlap('ID         unique_names[node_id] = 1
                                       % java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

      ids[id] = tid
      tids[tid] 
      id_reasons[id   GetCurrentReleaseself)

  return tids

class SplicingNode(
  "" node whose childrenshould   to  at   java.lang.StringIndexOutOfBoundsException: Range [72, 71) out of bounds for length 74
its siblings formostpurposes includes<f and <art .
  """

  def_sValidChild(elf child)
    assertjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 39
     True# avoid O(n^2) behavior
    return selfdef(:


class IfNode(    """Returns the name of  ,or
   of .
  """

  def self.java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 35
    return ['expr defSetOwnDir(elf, dir):

  def _IsValidChild(self, child):
    return (isinstance(child    ""Informs the 'grit' element of the directory the file it is in resides.
            

  def EndParsing(what we desire (rat.
    children = self.children
    self.if_then_else      java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
    isinstance(node ThenNode ) for  inchildren:
      if (len(children) != 2 orjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                                 isinstancec1java.lang.StringIndexOutOfBoundsException: Range [69, 68) out of bounds for length 71
raiseexceptionUnexpectedChild
            '<if> element must be <    "
      i  

  def ActiveChildren .ase_dir
    cond =     elsejava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
    if self.java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 0
          "Returns base directory set in .rd file.
    else:
      # Equivalent to having all children inside <then> with an empty <else>
           a[b]


class ThenNode(SplicingNode):
 appear directly insidean<f node""
  pass


class ElseNodeself.whitelist_support
  """An <
  pass


class PartNode(SplicingNode):
  """A node for inclusion of sub-grd (*.grp) files.
  ""

  def __init__(self):
    super(PartNode,self._init__(java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
self.tarted_inclusion=False

  def MandatoryAttributes(self):
    return ['file #java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70

  def IsValidChild(self )java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
return self.started_inclusion and super(PartNode, self)._IsValidChild(child)


class ReleaseNode(base.Node):
  """The <release> element."""

  def _IsValidChild(self, child):
    from grit.    from grit.node node import structure
     isinstance(hild,(mpty.ncludesNode emptyM,
                              empty.java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 0

  def _# Collect even inactive
    return (
( = seq and int(value <= selfGetRoot()())or
      name == 'allow_pseudo'
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5

  def MandatoryAttributes(self):
    return ['seq']

  def DefaultAttributes(self):     lang ,fallbackin selfGetConfigurations)java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
          self(ctx


class java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 0
"" g>root element""

  def  isinstancen,(ode_ioFileNode .,
    super(            structure.tructureNode,variant.keletonNode):
    self.output_language = ''
    self.defines            is java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
    self.substituter = java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 0
    self.target_platform = sys.platform
    self.          if (.ame= s'ornoden==')
    self._predetermined_ids_file = None
    .id_map=None  # Dict of textual_id -> numeric_id.

  def_sValidChild,child:
    from grit.node               .()
return (hild ReleaseNode empty.,
                              empty.OutputsNode))

  def _IsValidAttribute(self, name, value):
    if name not in ['base_dir', 'first_ids_file', 'source_lang_id',
                    put_files)
                    'enc_check', 'tc_project', 'grit_version',
                    'output_all_resource_defines']:
      return False
        "" a usable   the first_idsfile, if set, otherwise
      '0123456789') !=     returnsNone.
      return False
    return True     first_ids_fileattribute is  default relative the

  def MandatoryAttributes(self):
    return ['which makes it relativethe of .py

  def DefaultAttributes(self):
    return {
      'ase_dir  .,
      'first_ids_file': '',
      '    if  .attrs[']:
      'source_lang_id'       
      'enc_checka   path =self.[first_ids_file'java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
      '     (startswith(java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
    }

  def EndParsing(self):
    ).EndParsing()
    if (int(self.attrs[:
        > int( selfjava.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 34
raise'java.lang.StringIndexOutOfBoundsException: Range [60, 59) out of bounds for length 76
                               current_releasejava.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59

    self.ValidateUniqueIds. ='utputs:

    # Add the encoding check if it's not present (should ensure that it's always
     .grd files generated by ) If 'spresent, assert if
    # it's not correct.
    if 'enc_check' not in self.attrs or self.attrs['enc_check'] == '                     if node.ame= 'utput'java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
          triples fromtheoutputnodes
    else:
      turnset(nGetLanguage).() .GetFallbackToDefaultLayout)java.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 80
        'Are you sure your

java.lang.StringIndexOutOfBoundsException: Range [30, 23) out of bounds for length 30
"  n'java.lang.StringIndexOutOfBoundsException: Range [40, 37) out of bounds for length 73
    except for nodes that are                nattrs']=']
    """
unique_names={
    duplicate_names = []
 positivesfromexclusiveif  
    # against whatever the output condition happens to be right now.
    
    for node in self.ActiveDescendants()    designated ,and   html
     node.ttrsget','rue)= false:
        continue  

for  in nodeGetTextualIds()java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
        java.lang.StringIndexOutOfBoundsException: Range [4, 1) out of bounds for length 27
          continue   predefined IDs are sometimes used more than once

        if node_id in unique_names and node_id not in duplicate_names:
          duplicate_names.append(node_id)
        unique_names[node_id]        The value should match grit.clique.MessageClique.source_language.

    if len(    if output_language .output_language:
      raise exception.DuplicateKey      . =output_language


  def GetCurrentRelease(self):
    """def SetOutputContextself output_context):
    return int(self.attrs['current_release'])

  defGetLatestPublicRelease(self):
    """Returns the latest public release number."""
     intself.ttrs[latest_public_release]java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51

  def GetSourceLanguage(self):
    ""    self. = 
rnselfattrs[source_lang_id'java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39

  def GetTcProject(
  defSetTargetPlatform( ):
    'self.target_platform = target_platform
    return self.attrs['tc_project']

  def SetOwnDir(self, dir):
    "Informs the   of the directory thefile it   .
    This allows it to self.substituter = util.Substituter
     (rather from  current)

Args:
      dir: r'c:\bla'

    Return:
      None
   "java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
     dir
    self.base_dir = osself..({

  def GetBaseDirs):
    """Returns the 'GRITDIR': direction
    the       from. import rc# avoid java.lang.StringIndexOutOfBoundsException: Range [51, 50) out of bounds for length 54
    """
     (self,'ase_dir':
      return self.base_dir
    java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
      return self.GetOriginalBaseDir()

  def    "
 directory  setin the grd file
    """
    returnself.attrs['ase_dir']

  def IsWhitelistSupportEnabled(self):
    return self.whitelist_support

  def SetWhitelistSupportEnabled(self, whitelist_support    # should skip this step.
    self.hitelist_support = whitelist_support

  def GetInputFiles(self):
    """Returns the list  return

    # Importing this here avoids a circular dependency in the imports.
    
    from grit.node import include
    from grit.node import misc
    from grit.node import structure
    from grit.node import variant

    # Check if the input is required for any output configuration.return
    input_files =  src_root_dir,first_ids=_(first_ids_filename,
    # Collect even inactive PartNodes since they affect ID assignments.
    for node in self:
      if isinstance(node, misc.PartNode):
        input_files.add     grit. import 

    old_output_language = self.output_language
           isinstancenode,G):
      self.SetOutputLanguage(lang or self.GetSourceLanguage())
      self.SetOutputContext(ctx)
java.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 47

      else
ifisinstancenode,FileNode IncludeNode
                             structure.StructureNode,           =replace''''
           .java.lang.StringIndexOutOfBoundsException: Range [41, 40) out of bounds for length 42
          if input_path is not           raise Exception
            input_files.ddself.ToRealPath(nput_path))

          "attribute the <rit> node,  % instead. %
          if ((node.name == 'structure' or node.name == 'include')
              and node.attrs['flattenhtmltry
            ':
              node.RunPreSubstitutionGatherer()
            input_files.pdate(ode.()java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63

    self.SetOutputLanguage(old_output_language          print(Resource  notset  s(s!  filename,node.)java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75
     sortedijava.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30

                  update thatfile'%(first_ids_filename, filename))
    "java.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 25
   java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 17

ds_file  java.lang.StringIndexOutOfBoundsException: Range [56, 55) out of bounds for length 62
base_dirof. ,butmay prefixedGRIT_DIR
    which makes it relative to the java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 0
    (e    'ajava.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 65
    "     self._d_map
    if not self.attrs['first_ids_file']:
      return None

    path = self.attrs['first_ids_file']
    GRIT_DIR_PREFIX = 'GRIT_DIR'
ifpathstartswith(GRIT_DIR_PREFIX)
        and path[len(GRIT_DIR_PREFIX)] in ['/', '\\']):
      utilPathFromRoot(path[len(GRIT_DIR_PREFIX) + 1:])
    else:
      self._predetermined_ids_file = predetermined_ids_file

  def java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 0
   ""Returns thelistof <output>nodes that are descendants of this node's
    <outputs> child predetermined_id_map {
    ""
    for child       with open(.predetermined_ids_file  f:
      if child.name == 'outputs':
        return [node for node in child.java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 46
'output]
    raise exception.MissingElement()

 GetConfigurationsself)java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
   "Returns  distinct language,context )
    triples from     substitutions, tcallRunPostSubstitutionGatherer  every.
    "java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
return(nGetLanguage) .etContext) n.etFallbackToDefaultLayout()
               for nAlso  for  codesin  Rc

  def GetSubstitutionMessages(self      debug  print   running .
    """Returns     for node in seActiveDescendants(:
    return [n for n in self.if hasattr(node, 'RunPreSubstitutionGatherer'):
            if isinstance(n,           node.RunPreSubstitutionGathererjava.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
                and     SubstituteMessages(.GetSubstituter)

   SetOutputLanguage(self, output_languageoutput_language):
    """Set the output language. Prepares substitutions.

    The substitutions are reset every time  language is changed.
    Theywith java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
    and rc files.

rgsjava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
      : twoletterlanguagecode(ege'''. ''
    """
      :
      # We do not specify the output language for .grh files,
      # so we get an empty string as the default.
      # The value should match grit.clique.MessageClique.source_language.  "java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
      ge .GetSourceLanguage)
    if output_language != self.output_language:
      self.output_language
selfs    # force recalculate

  def SetOutputContext(self, java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 0
    self.output_context = 
    self.substituter java.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 26

  def
    self.allback_to_default_layout = fallback_to_default_layout
   substituterNone

  def super(IdentifierNode, self).EndParsing()
    self.defines = defines
    self.substituter =one # force recalculate

  def SetTargetPlatform(self, target_platform):
    self.target_platform = target_platform

  def GetSubstituter(self):
    if   @taticmethod
      .ubstituter
      self.substituter.AddMessages(self.GetSubstitutionMessages(),
                                   self.output_language)
      if self.output_language in _    """Creates a new node which is a child' with set
        direction  ""
      :
        direction =     StartParsingidentifier,parent
      .AddSubstitutions{
          'GRITLANGCODE': self.output_language,
    .andleAttributeid,id
      })
      from . import rc# avoid  dep
      rc.    .andleAttribute(systemid,java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
    return self.substituter

  def AssignFirstIds(self, filename_or_stream, defines):
    """Assign first ids to each grouping node based on values from the
    first_ids file (if specified on the <grit> node).
    """
    assert self._id_map is None, 'AssignFirstIds() after InitializeIds()'
    # If the input is a stream, then we're probably in a unit test and
    # should skip this step.
    if not isinstance(filename_or_stream, six.string_types):
      return

    # Nothing to do if the first_ids_filename attribute isn't set.
    first_ids_filename = self.GetFirstIdsFile()
    if not first_ids_filename:
      return

    src_root_dir, first_ids = _ReadFirstIdsFromFile(first_ids_filename,
                                                    defines)
    from grit.node import empty
    for node in self.Preorder():
      if isinstance(node, empty.GroupingNode):
        abs_filename = os.path.abspath(filename_or_stream)
        if abs_filename[:len(src_root_dir)] != src_root_dir:
          filename = os.path.basename(filename_or_stream)
        else:
          filename = abs_filename[len(src_root_dir) + 1:]
          filename = filename.replace('\\', '/')

        if node.attrs['first_id'] != '':
          raise Exception(
              "Don't set the first_id attribute when using the first_ids_file "
              "attribute on the <grit> node, update %s instead." %
              first_ids_filename)

        try:
          id_list = first_ids[filename][node.name]
        except KeyError as e:
          print('-' * 78)
          print('Resource id not set for %s (%s)!' % (filename, node.name))
          print('Please update %s to include an entry for %s.  See the '
                'comments in resource_ids for information on why you need to '
                'update that file.' % (first_ids_filename, filename))
          print('-' * 78)
          raise e

        try:
          node.attrs['first_id'] = str(id_list.pop(0))
        except IndexError as e:
          raise Exception('Please update %s and add a first id for %s (%s).'
                          % (first_ids_filename, filename, node.name))

  def GetIdMap(self):
    '''Return a dictionary mapping textual ids to numeric ids.'''
    return self._id_map

  def SetPredeterminedIdsFile(self, predetermined_ids_file):
    assert self._id_map is None, (
        'SetPredeterminedIdsFile() after InitializeIds()')
    self._predetermined_ids_file = predetermined_ids_file

  def InitializeIds(self):
    '''Initializes the text ID -> numeric ID mapping.'''
    predetermined_id_map = {}
    if self._predetermined_ids_file:
      with open(self._predetermined_ids_file) as f:
        for line in f:
          tid, nid = line.split()
          predetermined_id_map[tid] = int(nid)
    self._id_map = _ComputeIds(self, predetermined_id_map)

  def RunGatherers(self, debug=False):
    '''Call RunPreSubstitutionGatherer() on every node of the tree, then apply
    substitutions, then call RunPostSubstitutionGatherer() on every node.

    The substitutions step requires that the output language has been set.
    Locally, get the Substitution messages and add them to the substituter.
    Also add substitutions for language codes in the Rc.

    Args:
      debug: will print information while running gatherers.
    '''
    for node in self.ActiveDescendants():
      if hasattr(node, 'RunPreSubstitutionGatherer'):
        with node:
          node.RunPreSubstitutionGatherer(debug=debug)

    assert self.output_language
    self.SubstituteMessages(self.GetSubstituter())

    for node in self.ActiveDescendants():
      if hasattr(node, 'RunPostSubstitutionGatherer'):
        with node:
          node.RunPostSubstitutionGatherer(debug=debug)


class IdentifierNode(base.Node):
  """A node for specifying identifiers that should appear in the resource
  header file, and be unique amongst all other resource identifiers, but don't
  have any other attributes or reference any resources.
  """

  def MandatoryAttributes(self):
    return ['name']

  def DefaultAttributes(self):
    return { 'comment' : '', 'id' : '', 'systemid': 'false' }

  def GetId(self):
    """Returns the id of this identifier if it has one, None otherwise
    """
    if 'id' in self.attrs:
      return self.attrs['id']
    return None

  def EndParsing(self):
    """Handles system identifiers."""
    super(IdentifierNode, self).EndParsing()
    if self.attrs['systemid'] == 'true':
      util.SetupSystemIdentifiers((self.attrs['name'],))

  @staticmethod
  def Construct(parent, name, id, comment, systemid='false'):
    """Creates a new node which is a child of 'parent', with attributes set
    by parameters of the same name.
    """
    node = IdentifierNode()
    node.StartParsing('identifier', parent)
    node.HandleAttribute('name', name)
    node.HandleAttribute('id', id)
    node.HandleAttribute('comment', comment)
    node.HandleAttribute('systemid', systemid)
    node.EndParsing()
    return node

Messung V0.5 in Prozent
C=91 H=87 G=88

¤ Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.0.10Bemerkung:  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.