<commit_before><meta http-equiv="X-UA-Compatible" content="IE=9">
<head>
  <link rel="stylesheet" type="text/css" href="../static/css/custom.css" />
</head>
<body>
<h2>Module Summary</h2>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
 "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.28.0 (20110507.0327)
 -->
<!-- Title: mockup Pages: 1 -->
<svg width="232pt" height="188pt"
 viewBox="0.00 0.00 232.00 188.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph1" class="graph" transform="scale(1 1) rotate(0) translate(4 184)">
<title>mockup</title>
<polygon fill="white" stroke="white" points="-4,5 -4,-184 229,-184 229,5 -4,5"/>
<!-- c1_A -->
<g id="node1" class="node"><title>c1_A</title>
<a xlink:href="#c1_A" xlink:title="abstract A&#10; &#160;b ?&#10; &#160;c &#45;&gt; C">
<polygon fill="none" stroke="black" points="74,-108 0,-108 0,-72 74,-72 74,-108"/>
<text text-anchor="middle" x="37" y="-86.3" font-family="Times New Roman,serif" font-size="14.00">abstract A</text>
</a>
</g>
<!-- c6_C -->
<g id="node3" class="node"><title>c6_C</title>
<a xlink:href="#c6_C" xlink:title="abstract C : B">
<polygon fill="none" stroke="black" points="224,-108 130,-108 130,-72 224,-72 224,-108"/>
<text text-anchor="middle" x="177" y="-86.3" font-family="Times New Roman,serif" font-size="14.00">abstract C : B</text>
</a>
</g>
<!-- c1_A&#45;&gt;c6_C -->
<g id="edge2" class="edge"><title>c1_A&#45;&gt;c6_C</title>
<path fill="none" stroke="black" d="M74.1875,-90C89.1977,-90 104.208,-90 119.218,-90"/>
<polygon fill="black" stroke="black" points="129.61,-90 119.61,-94.5001 124.61,-90 119.61,-90.0001 119.61,-90.0001 119.61,-90.0001 124.61,-90 119.61,-85.5001 129.61,-90 129.61,-90"/>
</g>
<!-- c4_B -->
<g id="node4" class="node"><title>c4_B</title>
<a xlink:href="#c4_B" xlink:title="abstract B&#10; &#160;d ?">
<polygon fill="none" stroke="black" points="214,-180 140,-180 140,-144 214,-144 214,-180"/>
<text text-anchor="middle" x="177" y="-158.3" font-family="Times New Roman,serif" font-size="14.00">abstract B</text>
</a>
</g>
<!-- c6_C&#45;&gt;c4_B -->
<g id="edge4" class="edge"><title>c6_C&#45;&gt;c4_B</title>
<path fill="none" stroke="black" d="M177,-108.303C177,-116.017 177,-125.288 177,-133.888"/>
<polygon fill="none" stroke="black" points="173.5,-133.896 177,-143.896 180.5,-133.896 173.5,-133.896"/>
</g>
<!-- c7_anA -->
<g id="node6" class="node"><title>c7_anA</title>
<a xlink:href="#c7_anA" xlink:title="anA : A&#10; &#160;[ b ]&#10; &#160;[ c = aC ]">
<polygon fill="none" stroke="black" points="66.5,-36 7.5,-36 7.5,-0 66.5,-0 66.5,-36"/>
<text text-anchor="middle" x="37" y="-14.3" font-family="Times New Roman,serif" font-size="14.00">anA : A</text>
</a>
</g>
<!-- c7_anA&#45;&gt;c1_A -->
<g id="edge6" class="edge"><title>c7_anA&#45;&gt;c1_A</title>
<path fill="none" stroke="black" d="M37,-36.3034C37,-44.0173 37,-53.2875 37,-61.8876"/>
<polygon fill="none" stroke="black" points="33.5001,-61.8956 37,-71.8957 40.5001,-61.8957 33.5001,-61.8956"/>
</g>
<!-- c7_anA&#45;&gt;c4_B -->
<g id="edge8" class="edge"><title>c7_anA&#45;&gt;c4_B</title>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M52.514,-36.0008C69.1653,-54.1137 96.5284,-83.4946 121,-108 130.628,-117.641 141.453,-127.995 151.001,-136.97"/>
<polygon fill="none" stroke="black" points="148.643,-139.557 158.337,-143.832 153.425,-134.445 148.643,-139.557"/>
</g>
<!-- c8_aC -->
<g id="node10" class="node"><title>c8_aC</title>
<a xlink:href="#c8_aC" xlink:title="aC : C&#10; &#160;[ no d ]">
<polygon fill="none" stroke="black" points="204,-36 150,-36 150,-0 204,-0 204,-36"/>
<text text-anchor="middle" x="177" y="-14.3" font-family="Times New Roman,serif" font-size="14.00">aC : C</text>
</a>
</g>
<!-- c7_anA&#45;&gt;c8_aC -->
<g id="edge10" class="edge"><title>c7_anA&#45;&gt;c8_aC</title>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M66.2578,-18C90.7175,-18 115.177,-18 139.637,-18"/>
<polygon fill="none" stroke="black" points="139.747,-21.5001 149.747,-18 139.747,-14.5001 139.747,-21.5001"/>
</g>
<!-- c8_aC&#45;&gt;c6_C -->
<g id="edge12" class="edge"><title>c8_aC&#45;&gt;c6_C</title>
<path fill="none" stroke="black" d="M177,-36.3034C177,-44.0173 177,-53.2875 177,-61.8876"/>
<polygon fill="none" stroke="black" points="173.5,-61.8956 177,-71.8957 180.5,-61.8957 173.5,-61.8956"/>
</g>
</g>
</svg>
<h2>Module Statistics</h2>
All clafers: 8 | Abstract: 3 | Concrete: 4 | References: 1<br>
Constraints: 4<br>
Goals: 0<br>
Global scope: 1..*<br>
All names unique: False<br>

<h2>Module Contents</h2>
<p>
In our domain, we have a few concepts: A, B, and C.
</p>
<p>
The clafer A<br>
A has an optional property b <br>
and links to the clafer C via the reference c.
</p>
<div class="code" id="c1_A">
<span class="keyword">abstract</span> A<br>
<span id="c2_b" class="l1">b <span class="keyword">?</span></span><br>
<span id="c3_c" class="l1">c 
    <span class="keyword">-&gt;</span> 
    <a href="#c6_C"><span class="reference">C</span></a>
</span>
</div>
<br>
<p>
The clafer B has an optional property d. <br>
We say <br>
"B with d" or <br>
"B without d" to indicate the variant we mean.
</p>
<div class="code" id="c4_B">
<span class="keyword">abstract</span> B<br>
<span id="c5_d" class="l1">d <span class="keyword">?</span></span>
</div>
<br>
<p>The clafer C inherits all its properties from the clafer B. <br>
That means we can also say <br>
"C with d" or <br>
"C without d" to characterize an instance of C.</p>
<div class="code" id="c6_C">
  <span class="keyword">abstract</span> C 
  <span class="keyword">:</span> 
   <a href="#c4_B">
     <span class="reference">B</span>
   </a>
</div>
<br>
<p>Here we have an example instance of the clafer A: anA.<br>
The concrete clafer anA has <br>
a property b <br>
and links to another concrete clafer aC via the reference c.
</p>
<div class="code" id="c7_anA">
anA <span class="keyword">:</span> <a href="#c1_A"><span class="identifier">A</span></a><br>
  <span class="l1">
    <span class="keyword">[</span> <a href="#c2_b"><span class="reference">b</span></a> <span class="keyword">]</span>
  </span><br>
  <span class="l1">
  <span class="keyword">[</span> 
    <a href="#c3_c"><span class="reference">c</span></a> 
    <span class="keyword">=</span> 
    <a href="#c8_aC"><span class="identifier">aC</span></a> 
  <span class="keyword">]</span></span>
</div>
<br>
<p>
The concrete clafer aC can be characterized as <br>
"C without d".
</p>
<div class="code" id="c8_aC">
aC <span class="keyword">:</span> <a href="#c6_C">C</a><br>
<span class="l1">
  <span class="keyword">[</span> 
    <span class="keyword">no</span> 
    <a href=#c5_d"><span class="reference">d</span></a> 
  <span class="keyword">]</span>
</span>
</div>
<br>
<p>
So in this model you can see some basic constructs of Clafer.<br>
For more information visit <a href="http://clafer.org">Clafer Home Page</a>.<br>
</p>
</body><commit_msg>added doctype and html tags<commit_after><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<meta http-equiv="X-UA-Compatible" content="IE=9">
<head>
  <link rel="stylesheet" type="text/css" href="../static/css/custom.css" />
</head>
<body>
<h2>Module Summary</h2>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
 "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.28.0 (20110507.0327)
 -->
<!-- Title: mockup Pages: 1 -->
<svg width="232pt" height="188pt"
 viewBox="0.00 0.00 232.00 188.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph1" class="graph" transform="scale(1 1) rotate(0) translate(4 184)">
<title>mockup</title>
<polygon fill="white" stroke="white" points="-4,5 -4,-184 229,-184 229,5 -4,5"/>
<!-- c1_A -->
<g id="node1" class="node"><title>c1_A</title>
<a xlink:href="#c1_A" xlink:title="abstract A&#10; &#160;b ?&#10; &#160;c &#45;&gt; C">
<polygon fill="none" stroke="black" points="74,-108 0,-108 0,-72 74,-72 74,-108"/>
<text text-anchor="middle" x="37" y="-86.3" font-family="Times New Roman,serif" font-size="14.00">abstract A</text>
</a>
</g>
<!-- c6_C -->
<g id="node3" class="node"><title>c6_C</title>
<a xlink:href="#c6_C" xlink:title="abstract C : B">
<polygon fill="none" stroke="black" points="224,-108 130,-108 130,-72 224,-72 224,-108"/>
<text text-anchor="middle" x="177" y="-86.3" font-family="Times New Roman,serif" font-size="14.00">abstract C : B</text>
</a>
</g>
<!-- c1_A&#45;&gt;c6_C -->
<g id="edge2" class="edge"><title>c1_A&#45;&gt;c6_C</title>
<path fill="none" stroke="black" d="M74.1875,-90C89.1977,-90 104.208,-90 119.218,-90"/>
<polygon fill="black" stroke="black" points="129.61,-90 119.61,-94.5001 124.61,-90 119.61,-90.0001 119.61,-90.0001 119.61,-90.0001 124.61,-90 119.61,-85.5001 129.61,-90 129.61,-90"/>
</g>
<!-- c4_B -->
<g id="node4" class="node"><title>c4_B</title>
<a xlink:href="#c4_B" xlink:title="abstract B&#10; &#160;d ?">
<polygon fill="none" stroke="black" points="214,-180 140,-180 140,-144 214,-144 214,-180"/>
<text text-anchor="middle" x="177" y="-158.3" font-family="Times New Roman,serif" font-size="14.00">abstract B</text>
</a>
</g>
<!-- c6_C&#45;&gt;c4_B -->
<g id="edge4" class="edge"><title>c6_C&#45;&gt;c4_B</title>
<path fill="none" stroke="black" d="M177,-108.303C177,-116.017 177,-125.288 177,-133.888"/>
<polygon fill="none" stroke="black" points="173.5,-133.896 177,-143.896 180.5,-133.896 173.5,-133.896"/>
</g>
<!-- c7_anA -->
<g id="node6" class="node"><title>c7_anA</title>
<a xlink:href="#c7_anA" xlink:title="anA : A&#10; &#160;[ b ]&#10; &#160;[ c = aC ]">
<polygon fill="none" stroke="black" points="66.5,-36 7.5,-36 7.5,-0 66.5,-0 66.5,-36"/>
<text text-anchor="middle" x="37" y="-14.3" font-family="Times New Roman,serif" font-size="14.00">anA : A</text>
</a>
</g>
<!-- c7_anA&#45;&gt;c1_A -->
<g id="edge6" class="edge"><title>c7_anA&#45;&gt;c1_A</title>
<path fill="none" stroke="black" d="M37,-36.3034C37,-44.0173 37,-53.2875 37,-61.8876"/>
<polygon fill="none" stroke="black" points="33.5001,-61.8956 37,-71.8957 40.5001,-61.8957 33.5001,-61.8956"/>
</g>
<!-- c7_anA&#45;&gt;c4_B -->
<g id="edge8" class="edge"><title>c7_anA&#45;&gt;c4_B</title>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M52.514,-36.0008C69.1653,-54.1137 96.5284,-83.4946 121,-108 130.628,-117.641 141.453,-127.995 151.001,-136.97"/>
<polygon fill="none" stroke="black" points="148.643,-139.557 158.337,-143.832 153.425,-134.445 148.643,-139.557"/>
</g>
<!-- c8_aC -->
<g id="node10" class="node"><title>c8_aC</title>
<a xlink:href="#c8_aC" xlink:title="aC : C&#10; &#160;[ no d ]">
<polygon fill="none" stroke="black" points="204,-36 150,-36 150,-0 204,-0 204,-36"/>
<text text-anchor="middle" x="177" y="-14.3" font-family="Times New Roman,serif" font-size="14.00">aC : C</text>
</a>
</g>
<!-- c7_anA&#45;&gt;c8_aC -->
<g id="edge10" class="edge"><title>c7_anA&#45;&gt;c8_aC</title>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M66.2578,-18C90.7175,-18 115.177,-18 139.637,-18"/>
<polygon fill="none" stroke="black" points="139.747,-21.5001 149.747,-18 139.747,-14.5001 139.747,-21.5001"/>
</g>
<!-- c8_aC&#45;&gt;c6_C -->
<g id="edge12" class="edge"><title>c8_aC&#45;&gt;c6_C</title>
<path fill="none" stroke="black" d="M177,-36.3034C177,-44.0173 177,-53.2875 177,-61.8876"/>
<polygon fill="none" stroke="black" points="173.5,-61.8956 177,-71.8957 180.5,-61.8957 173.5,-61.8956"/>
</g>
</g>
</svg>
<h2>Module Statistics</h2>
All clafers: 8 | Abstract: 3 | Concrete: 4 | References: 1<br>
Constraints: 4<br>
Goals: 0<br>
Global scope: 1..*<br>
All names unique: False<br>

<h2>Module Contents</h2>
<p>
In our domain, we have a few concepts: A, B, and C.
</p>
<p>
The clafer A<br>
A has an optional property b <br>
and links to the clafer C via the reference c.
</p>
<div class="code" id="c1_A">
<span class="keyword">abstract</span> A<br>
<span id="c2_b" class="l1">b <span class="keyword">?</span></span><br>
<span id="c3_c" class="l1">c 
    <span class="keyword">-&gt;</span> 
    <a href="#c6_C"><span class="reference">C</span></a>
</span>
</div>
<br>
<p>
The clafer B has an optional property d. <br>
We say <br>
"B with d" or <br>
"B without d" to indicate the variant we mean.
</p>
<div class="code" id="c4_B">
<span class="keyword">abstract</span> B<br>
<span id="c5_d" class="l1">d <span class="keyword">?</span></span>
</div>
<br>
<p>The clafer C inherits all its properties from the clafer B. <br>
That means we can also say <br>
"C with d" or <br>
"C without d" to characterize an instance of C.</p>
<div class="code" id="c6_C">
  <span class="keyword">abstract</span> C 
  <span class="keyword">:</span> 
   <a href="#c4_B">
     <span class="reference">B</span>
   </a>
</div>
<br>
<p>Here we have an example instance of the clafer A: anA.<br>
The concrete clafer anA has <br>
a property b <br>
and links to another concrete clafer aC via the reference c.
</p>
<div class="code" id="c7_anA">
anA <span class="keyword">:</span> <a href="#c1_A"><span class="identifier">A</span></a><br>
  <span class="l1">
    <span class="keyword">[</span> <a href="#c2_b"><span class="reference">b</span></a> <span class="keyword">]</span>
  </span><br>
  <span class="l1">
  <span class="keyword">[</span> 
    <a href="#c3_c"><span class="reference">c</span></a> 
    <span class="keyword">=</span> 
    <a href="#c8_aC"><span class="identifier">aC</span></a> 
  <span class="keyword">]</span></span>
</div>
<br>
<p>
The concrete clafer aC can be characterized as <br>
"C without d".
</p>
<div class="code" id="c8_aC">
aC <span class="keyword">:</span> <a href="#c6_C">C</a><br>
<span class="l1">
  <span class="keyword">[</span> 
    <span class="keyword">no</span> 
    <a href=#c5_d"><span class="reference">d</span></a> 
  <span class="keyword">]</span>
</span>
</div>
<br>
<p>
So in this model you can see some basic constructs of Clafer.<br>
For more information visit <a href="http://clafer.org">Clafer Home Page</a>.<br>
</p>
</body>
</html>
{'fraction_non_alphanumeric': 0.25423848544786665, 'fraction_numerical': 0.13534896863520768, 'mean_word_length': 4.9036697247706424, 'pattern_counts': {'":': 0, '<': 500, '<?xml version=': 2, '>': 500, 'https://': 0, 'lorem ipsum': 0, 'www.': 7, 'xml': 6}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6369932', 'n_tokens_mistral': 7110, 'n_tokens_neox': 5908, 'n_words': 1273}