ILIAS  release_4-4 Revision
Context Class Reference
+ Collaboration diagram for Context:

Public Member Functions

 Context ()
 
 from_language ($lang, $output)
 

Detailed Description

Definition at line 21 of file Context.php.

Member Function Documentation

◆ Context()

Context::Context ( )

Definition at line 23 of file Context.php.

24  {
25  }

◆ from_language()

Context::from_language (   $lang,
  $output 
)

Definition at line 27 of file Context.php.

References $lang.

28  {
29  // Current indent level.
30  $this->ind = 0;
31  $this->inquote = 0;
32  $this->incomment = 0;
33  $this->inbcomment = 0;
34  $this->inwhitespace = 1;
35  // Used to ensure quote matching works :-)
36  $this->currquotechar = "";
37  $this->begseen = 0;
38  $this->newline = 0;
39  $this->escaping = 0;
40  // In a line select?
41  $this->lineselect = 0;
42  $this->closingstrings = array();
43 
44  // Used by $this->munge for keyword checking - we only want to make this once.
45  $this->validkeys = array();
46 
47  foreach(array_keys($lang->keywords) as $key)
48  {
49  if ($lang->nocase)
50  $this->validkeys[strtolower($key)] = $key;
51  else
52  $this->validkeys[$key] = $key;
53  }
54  $this->alldelims = array_merge($lang->delimiters, $lang->stringchars);
55 
56  // Additional caching: First we want to store the strlens of the comments.
57  $this->lcolengths = array();
58  foreach($lang->linecommenton as $lco)
59  {
60  $this->lcolengths[$lco] = strlen($lco);
61  }
62  foreach($lang->blockcommenton as $bco)
63  {
64  $this->bcolengths[$bco] = strlen($bco);
65  }
66  foreach($lang->blockcommentoff as $bcf)
67  {
68  $this->bcflengths[$bcf] = strlen($bcf);
69  }
70 
71  // Build up match arrays for bcos.
72  $this->bcomatches = array();
73  $this->startingbkonchars = array();
74  for($i=0; $i<sizeof($lang->blockcommenton); $i++)
75  {
76  $bco = $lang->blockcommenton[$i];
77  if (!isset($this->bcomatches[$bco])) $this->bcomatches[$bco] = array();
78  array_push($this->bcomatches[$bco], $lang->blockcommentoff[$i]);
79  array_push($this->startingbkonchars, $bco[0]);
80 
81  }
82 
83 
84  $preprolength = 0;
85  $this->prepro = 0;
86  if (isset($lang->prepro)) $this->preprolength = strlen($lang->prepro);
87 
88  // Output module handling
89 
90  $this->code_parts = explode("_WORD_", $output->code);
91  $this->linecomment_parts = explode("_WORD_", $output->linecomment);
92  $this->blockcomment_parts = explode("_WORD_", $output->blockcomment);
93  $this->prepro_parts = explode("_WORD_", $output->prepro);
94  $this->select_parts = explode("_WORD_", $output->select);
95  $this->quote_parts = explode("_WORD_", $output->quote);
96  $currcat = 1;
97  do
98  {
99  $varname = "category_".$currcat;
100  if (isset($output->{$varname}))
101  {
102  $this->category_parts[$currcat] = explode("_WORD_", $output->{$varname});
103  }
104  $currcat++;
105  } while (isset($output->{$varname}));
106  }

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