diff --git a/.gitignore b/.gitignore
index b844b143..97ef7367 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,3 @@
Gemfile.lock
+.bundle/
+vendor/
diff --git a/.travis.yml b/.travis.yml
index 943c1b12..83880550 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -2,10 +2,8 @@ before_install:
- sudo apt-get install libicu-dev -y
- gem update --system 2.1.11
rvm:
- - 1.8.7
- - 1.9.2
- 1.9.3
- 2.0.0
- - ree
+ - 2.1.1
notifications:
disabled: true
diff --git a/Gemfile b/Gemfile
index 3df9dcfc..851fabc2 100644
--- a/Gemfile
+++ b/Gemfile
@@ -1,7 +1,2 @@
source 'https://rubygems.org'
gemspec
-
-if RUBY_VERSION < "1.9.3"
- # escape_utils 1.0.0 requires 1.9.3 and above
- gem "escape_utils", "0.3.2"
-end
diff --git a/github-linguist.gemspec b/github-linguist.gemspec
index f10f8d1f..df0943e1 100644
--- a/github-linguist.gemspec
+++ b/github-linguist.gemspec
@@ -1,6 +1,8 @@
+require File.expand_path('../lib/linguist/version', __FILE__)
+
Gem::Specification.new do |s|
s.name = 'github-linguist'
- s.version = '2.10.11'
+ s.version = Linguist::VERSION
s.summary = "GitHub Language detection"
s.description = 'We use this library at GitHub to detect blob languages, highlight code, ignore binary files, suppress generated files in diffs, and generate language breakdown graphs.'
@@ -12,7 +14,7 @@ Gem::Specification.new do |s|
s.executables << 'linguist'
s.add_dependency 'charlock_holmes', '~> 0.6.6'
- s.add_dependency 'escape_utils', '>= 0.3.1'
+ s.add_dependency 'escape_utils', '~> 1.0.1'
s.add_dependency 'mime-types', '~> 1.19'
s.add_dependency 'pygments.rb', '~> 0.5.4'
diff --git a/lib/linguist.rb b/lib/linguist.rb
index ad8337c8..3714b5a0 100644
--- a/lib/linguist.rb
+++ b/lib/linguist.rb
@@ -4,3 +4,4 @@ require 'linguist/heuristics'
require 'linguist/language'
require 'linguist/repository'
require 'linguist/samples'
+require 'linguist/version'
diff --git a/lib/linguist/generated.rb b/lib/linguist/generated.rb
index 14c64444..5c3de141 100644
--- a/lib/linguist/generated.rb
+++ b/lib/linguist/generated.rb
@@ -62,7 +62,8 @@ module Linguist
generated_protocol_buffer? ||
generated_jni_header? ||
composer_lock? ||
- node_modules?
+ node_modules? ||
+ vcr_cassette?
end
# Internal: Is the blob an XCode project file?
@@ -235,5 +236,15 @@ module Linguist
def composer_lock?
!!name.match(/composer.lock/)
end
+
+ # Is the blob a VCR Cassette file?
+ #
+ # Returns true or false
+ def vcr_cassette?
+ return false unless extname == '.yml'
+ return false unless lines.count > 2
+ # VCR Cassettes have "recorded_with: VCR" in the second last line.
+ return lines[-2].include?("recorded_with: VCR")
+ end
end
end
diff --git a/lib/linguist/heuristics.rb b/lib/linguist/heuristics.rb
index a3de46e9..c1116780 100644
--- a/lib/linguist/heuristics.rb
+++ b/lib/linguist/heuristics.rb
@@ -28,6 +28,9 @@ module Linguist
if languages.all? { |l| ["Common Lisp", "OpenCL"].include?(l) }
disambiguate_cl(data, languages)
end
+ if languages.all? { |l| ["Rebol", "R"].include?(l) }
+ disambiguate_r(data, languages)
+ end
end
end
@@ -73,6 +76,13 @@ module Linguist
matches
end
+ def self.disambiguate_r(data, languages)
+ matches = []
+ matches << Language["Rebol"] if /\bRebol\b/i.match(data)
+ matches << Language["R"] if data.include?("<-")
+ matches
+ end
+
def self.active?
!!ACTIVE
end
diff --git a/lib/linguist/language.rb b/lib/linguist/language.rb
index bb91d126..b4972eb7 100644
--- a/lib/linguist/language.rb
+++ b/lib/linguist/language.rb
@@ -426,6 +426,11 @@ module Linguist
#
# Returns the extensions Array
attr_reader :filenames
+
+ # Public: Return all possible extensions for language
+ def all_extensions
+ (extensions + [primary_extension]).uniq
+ end
# Public: Get URL escaped name.
#
@@ -485,7 +490,7 @@ module Linguist
#
# Returns html String
def colorize(text, options = {})
- lexer.highlight(text, options = {})
+ lexer.highlight(text, options)
end
# Public: Return name as String representation
diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml
index b666d4a1..224daf81 100644
--- a/lib/linguist/languages.yml
+++ b/lib/linguist/languages.yml
@@ -3,14 +3,14 @@
# All languages have an associated lexer for syntax highlighting. It
# defaults to name.downcase, which covers most cases.
#
-# type - Either data, programming, markup, or nil
+# type - Either data, programming, markup, prose, or nil
# lexer - An explicit lexer String (defaults to name)
# aliases - An Array of additional aliases (implicitly
# includes name.downcase)
# ace_mode - A String name of Ace Mode (if available)
# wrap - Boolean wrap to enable line wrapping (default: false)
# extension - An Array of associated extensions
-# interpreter - An Array of associated interpreters
+# interpreters - An Array of associated interpreters
# primary_extension - A String for the main extension associated with
# the language. Must be unique. Used when a Language is picked
# from a dropdown and we need to automatically choose an
@@ -86,6 +86,12 @@ Agda:
color: "#467C91"
primary_extension: .agda
+Alloy:
+ type: programming # 'modeling' would be more appropiate
+ lexer: Text only
+ color: "#cc5c24"
+ primary_extension: .als
+
ApacheConf:
type: markup
aliases:
@@ -129,6 +135,12 @@ AsciiDoc:
- .adoc
- .asc
+AspectJ:
+ type: programming
+ lexer: AspectJ
+ color: "#1957b0"
+ primary_extension: .aj
+
Assembly:
type: programming
lexer: NASM
@@ -254,12 +266,14 @@ C++:
extensions:
- .C
- .c++
+ - .cc
- .cxx
- .H
- .h++
- .hh
- .hpp
- .hxx
+ - .inl
- .tcc
- .tpp
@@ -299,7 +313,7 @@ COBOL:
CSS:
ace_mode: css
- color: "#1f085e"
+ color: "#563d7c"
primary_extension: .css
Ceylon:
@@ -318,8 +332,6 @@ Cirru:
# ace_mode: cirru
# lexer: Cirru
lexer: Text only
- extensions:
- - .cr
Clean:
type: programming
@@ -341,6 +353,7 @@ Clojure:
- .cljscm
- .cljx
- .hic
+ - .cljs.hl
filenames:
- riemann.config
@@ -455,7 +468,7 @@ DM:
- byond
DOT:
- type: programming
+ type: data
lexer: Text only
primary_extension: .dot
extensions:
@@ -486,10 +499,25 @@ DCPU-16 ASM:
Diff:
primary_extension: .diff
+Dogescript:
+ type: programming
+ lexer: Text only
+ color: "#cca760"
+ primary_extension: .djs
+
Dylan:
type: programming
color: "#3ebc27"
primary_extension: .dylan
+ extensions:
+ - .intr
+ - .lid
+
+E:
+ type: programming
+ color: "#ccce35"
+ lexer: Text only
+ primary_extension: .E
Ecere Projects:
type: data
@@ -505,6 +533,14 @@ ECL:
extensions:
- .eclxml
+Eagle:
+ type: markup
+ color: "#3994bc"
+ lexer: XML
+ primary_extension: .sch
+ extensions:
+ - .brd
+
Eiffel:
type: programming
lexer: Text only
@@ -555,6 +591,14 @@ F#:
- .fsi
- .fsx
+FLUX:
+ type: programming
+ color: "#33CCFF"
+ primary_extension: .fx
+ lexer: Text only
+ extensions:
+ - .flux
+
FORTRAN:
type: programming
lexer: Fortran
@@ -607,6 +651,28 @@ Forth:
extensions:
- .4th
+Frege:
+ type: programming
+ color: "#00cafe"
+ lexer: Haskell
+ primary_extension: .fr
+
+Game Maker Language:
+ type: programming
+ color: "#8ad353"
+ lexer: JavaScript
+ primary_extension: .gml
+
+GAP:
+ type: programming
+ lexer: Text only
+ primary_extension: .g
+ extensions:
+ - .g
+ - .gap
+ - .gd
+ - .gi
+
GAS:
type: programming
group: Assembly
@@ -621,10 +687,13 @@ GLSL:
extensions:
- .fp
- .frag
+ - .fshader
- .geom
- .glslv
+ - .gshader
- .shader
- .vert
+ - .vshader
Genshi:
primary_extension: .kid
@@ -654,9 +723,20 @@ Glyph:
lexer: Tcl
primary_extension: .glf
+Gnuplot:
+ type: programming
+ color: "#f0a9f0"
+ lexer: Gnuplot
+ primary_extension: .gp
+ extensions:
+ - .gnu
+ - .gnuplot
+ - .plot
+ - .plt
+
Go:
type: programming
- color: "#a89b4d"
+ color: "#375eab"
primary_extension: .go
Gosu:
@@ -664,6 +744,16 @@ Gosu:
color: "#82937f"
primary_extension: .gs
+Grammatical Framework:
+ type: programming
+ lexer: Haskell
+ aliases:
+ - gf
+ wrap: false
+ primary_extension: .gf
+ searchable: true
+ color: "#ff0000"
+
Groff:
primary_extension: .man
extensions:
@@ -698,6 +788,8 @@ HTML:
primary_extension: .html
extensions:
- .htm
+ - .html.hl
+ - .st
- .xhtml
HTML+Django:
@@ -789,6 +881,10 @@ INI:
- .properties
primary_extension: .ini
+Inno Setup:
+ primary_extension: .iss
+ lexer: Text only
+
Idris:
type: programming
lexer: Text only
@@ -796,6 +892,14 @@ Idris:
extensions:
- .lidr
+Inform 7:
+ type: programming
+ lexer: Text only
+ wrap: true
+ primary_extension: .ni
+ extensions:
+ - .i7x
+
Inno Setup:
primary_extension: .iss
lexer: Text only
@@ -854,6 +958,12 @@ JSONLD:
lexer: JavaScript
primary_extension: .jsonld
+JSONiq:
+ type: programming
+ ace_mode: jsoniq
+ lexer: XQuery
+ primary_extension: .jq
+
Jade:
group: HTML
type: markup
@@ -876,7 +986,7 @@ Java Server Pages:
JavaScript:
type: programming
ace_mode: javascript
- color: "#f15501"
+ color: "#f1e05a"
aliases:
- js
- node
@@ -896,6 +1006,8 @@ JavaScript:
- .ssjs
filenames:
- Jakefile
+ interpreters:
+ - node
Julia:
type: programming
@@ -908,6 +1020,12 @@ KRL:
color: "#f5c800"
primary_extension: .krl
+Kit:
+ type: markup
+ lexer: HTML
+ ace_mode: html
+ primary_extension: .kit
+
Kotlin:
type: programming
primary_extension: .kt
@@ -931,6 +1049,13 @@ Lasso:
color: "#2584c3"
primary_extension: .lasso
+Latte:
+ type: markup
+ color: "#A8FF97"
+ group: HTML
+ lexer: Smarty
+ primary_extension: .latte
+
Less:
type: markup
group: CSS
@@ -943,6 +1068,11 @@ LilyPond:
extensions:
- .ily
+Liquid:
+ type: markup
+ lexer: Text only
+ primary_extension: .liquid
+
Literate Agda:
type: programming
group: Agda
@@ -1011,6 +1141,12 @@ M:
extensions:
- .m
+MTML:
+ type: markup
+ lexer: HTML
+ color: "#0095d9"
+ primary_extension: .mtml
+
Makefile:
aliases:
- make
@@ -1042,10 +1178,24 @@ Markdown:
- .mkdown
- .ron
+Mask:
+ type: markup
+ lexer: SCSS
+ color: "#f97732"
+ ace_mode: scss
+ primary_extension: .mask
+
+Mathematica:
+ type: programming
+ primary_extension: .mathematica
+ lexer: Text only
+
Matlab:
type: programming
color: "#bb92ac"
primary_extension: .matlab
+ extensions:
+ - .m
Max:
type: programming
@@ -1068,6 +1218,19 @@ MediaWiki:
wrap: true
primary_extension: .mediawiki
+Mercury:
+ type: programming
+ # This is the background colour on the web page.
+ color: "#abcdef"
+ # The primary extension is .m, but lingist won't accept duplicates
+ primary_extension: .mercury
+ # Mercury's syntax is not prolog syntax, but they do share the lexer
+ lexer: Prolog
+ ace_mode: prolog
+ extensions:
+ - .m
+ - .moo
+
MiniD: # Legacy
searchable: false
primary_extension: .minid # Dummy extension
@@ -1089,6 +1252,7 @@ Monkey:
primary_extension: .monkey
Moocode:
+ type: programming
lexer: MOOCode
primary_extension: .moo
@@ -1166,8 +1330,14 @@ Objective-C:
- obj-c
- objc
primary_extension: .m
- extensions:
- - .mm
+
+Objective-C++:
+ type: programming
+ color: "#4886FC"
+ aliases:
+ - obj-c++
+ - objc++
+ primary_extension: .mm
Objective-J:
type: programming
@@ -1225,7 +1395,7 @@ PAWN:
PHP:
type: programming
ace_mode: php
- color: "#6e03c1"
+ color: "#4F5D95"
primary_extension: .php
extensions:
- .aw
@@ -1370,6 +1540,12 @@ Pure Data:
lexer: Text only
primary_extension: .pd
+PureScript:
+ type: programming
+ color: "#bcdc53"
+ lexer: Haskell
+ primary_extension: .purs
+
Python:
type: programming
ace_mode: python
@@ -1408,6 +1584,8 @@ R:
aliases:
- R
primary_extension: .r
+ aliases:
+ - Rscript
extensions:
- .R
- .rsx
@@ -1473,11 +1651,21 @@ Rebol:
type: programming
lexer: REBOL
color: "#358a5b"
- primary_extension: .rebol
+ primary_extension: .reb
extensions:
+ - .r
- .r2
- .r3
+ - .rebol
+Red:
+ type: programming
+ lexer: Text only
+ color: "#ee0000"
+ primary_extension: .red
+ extensions:
+ - .reds
+
Redcode:
primary_extension: .cw
@@ -1523,11 +1711,14 @@ Ruby:
filenames:
- Appraisals
- Berksfile
+ - Buildfile
- Gemfile
+ - Gemfile.lock
- Guardfile
- Podfile
- Thorfile
- Vagrantfile
+ - buildfile
Rust:
type: programming
@@ -1545,6 +1736,11 @@ SQL:
ace_mode: sql
searchable: false
primary_extension: .sql
+ extensions:
+ - .prc
+ - .tab
+ - .udf
+ - .viw
Sage:
type: programming
@@ -1614,6 +1810,11 @@ Shell:
filenames:
- Dockerfile
+ShellSession:
+ type: programming
+ lexer: Bash Session
+ primary_extension: .sh-session
+
Shen:
type: programming
color: "#120F14"
@@ -1633,6 +1834,13 @@ Smalltalk:
Smarty:
primary_extension: .tpl
+SourcePawn:
+ type: programming
+ color: "#f69e1d"
+ aliases:
+ - sourcemod
+ primary_extension: .sp
+
Squirrel:
type: programming
lexer: C++
@@ -1647,6 +1855,19 @@ Standard ML:
extensions:
- .fun
+Stata:
+ type: programming
+ lexer: Text only
+ extensions:
+ - .ado
+ - .do
+ - .doh
+ - .ihlp
+ - .mata
+ - .matah
+ - .sthlp
+ primary_extension: .do
+
Stylus:
type: markup
group: CSS
@@ -1659,6 +1880,15 @@ SuperCollider:
lexer: Text only
primary_extension: .scd
+SystemVerilog:
+ type: programming
+ color: "#343761"
+ lexer: systemverilog
+ primary_extension: .sv
+ extensions:
+ - .svh
+ - .vh
+
TOML:
type: data
primary_extension: .toml
@@ -1674,6 +1904,7 @@ Tcl:
primary_extension: .tcl
extensions:
- .adp
+ - .tm
Tcsh:
type: programming
@@ -1836,6 +2067,7 @@ XML:
- .kml
- .launch
- .mxml
+ - .osm
- .plist
- .pluginspec
- .ps1xml
@@ -1916,6 +2148,12 @@ YAML:
- .rviz
- .yaml
+Zephir:
+ type: programming
+ lexer: PHP
+ color: "#118f9e"
+ primary_extension: .zep
+
eC:
type: programming
search_term: ec
diff --git a/lib/linguist/samples.json b/lib/linguist/samples.json
index 6d26388a..43b79b3a 100644
--- a/lib/linguist/samples.json
+++ b/lib/linguist/samples.json
@@ -6,6 +6,9 @@
"Agda": [
".agda"
],
+ "Alloy": [
+ ".als"
+ ],
"Apex": [
".cls"
],
@@ -20,6 +23,9 @@
".asc",
".asciidoc"
],
+ "AspectJ": [
+ ".aj"
+ ],
"ATS": [
".atxt",
".dats",
@@ -54,7 +60,8 @@
".cc",
".cpp",
".h",
- ".hpp"
+ ".hpp",
+ ".inl"
],
"Ceylon": [
".ceylon"
@@ -81,6 +88,7 @@
".coffee"
],
"Common Lisp": [
+ ".cl",
".lisp"
],
"Coq": [
@@ -89,6 +97,9 @@
"Creole": [
".creole"
],
+ "Crystal": [
+ ".cr"
+ ],
"CSS": [
".css"
],
@@ -105,6 +116,16 @@
"DM": [
".dm"
],
+ "Dogescript": [
+ ".djs"
+ ],
+ "E": [
+ ".E"
+ ],
+ "Eagle": [
+ ".brd",
+ ".sch"
+ ],
"ECL": [
".ecl"
],
@@ -129,6 +150,17 @@
".forth",
".fth"
],
+ "Frege": [
+ ".fr"
+ ],
+ "Game Maker Language": [
+ ".gml"
+ ],
+ "GAP": [
+ ".g",
+ ".gd",
+ ".gi"
+ ],
"GAS": [
".s"
],
@@ -136,12 +168,19 @@
".fp",
".glsl"
],
+ "Gnuplot": [
+ ".gnu",
+ ".gp"
+ ],
"Gosu": [
".gs",
".gst",
".gsx",
".vark"
],
+ "Grammatical Framework": [
+ ".gf"
+ ],
"Groovy": [
".gradle",
".script!"
@@ -156,6 +195,13 @@
".handlebars",
".hbs"
],
+ "Haskell": [
+ ".hs"
+ ],
+ "HTML": [
+ ".html",
+ ".st"
+ ],
"Hy": [
".hy"
],
@@ -166,6 +212,10 @@
"Idris": [
".idr"
],
+ "Inform 7": [
+ ".i7x",
+ ".ni"
+ ],
"Ioke": [
".ik"
],
@@ -186,12 +236,18 @@
"JSON5": [
".json5"
],
+ "JSONiq": [
+ ".jq"
+ ],
"JSONLD": [
".jsonld"
],
"Julia": [
".jl"
],
+ "Kit": [
+ ".kit"
+ ],
"Kotlin": [
".kt"
],
@@ -204,12 +260,18 @@
".lasso9",
".ldml"
],
+ "Latte": [
+ ".latte"
+ ],
"Less": [
".less"
],
"LFE": [
".lfe"
],
+ "Liquid": [
+ ".liquid"
+ ],
"Literate Agda": [
".lagda"
],
@@ -237,6 +299,12 @@
"Markdown": [
".md"
],
+ "Mask": [
+ ".mask"
+ ],
+ "Mathematica": [
+ ".m"
+ ],
"Matlab": [
".m"
],
@@ -248,12 +316,22 @@
"MediaWiki": [
".mediawiki"
],
+ "Mercury": [
+ ".m",
+ ".moo"
+ ],
"Monkey": [
".monkey"
],
+ "Moocode": [
+ ".moo"
+ ],
"MoonScript": [
".moon"
],
+ "MTML": [
+ ".mtml"
+ ],
"Nemerle": [
".n"
],
@@ -275,6 +353,9 @@
".h",
".m"
],
+ "Objective-C++": [
+ ".mm"
+ ],
"OCaml": [
".eliom",
".ml"
@@ -314,6 +395,7 @@
".fcgi",
".pl",
".pm",
+ ".pod",
".script!",
".t"
],
@@ -350,12 +432,16 @@
"Protocol Buffer": [
".proto"
],
+ "PureScript": [
+ ".purs"
+ ],
"Python": [
".py",
".script!"
],
"R": [
".R",
+ ".r",
".rsx",
".script!"
],
@@ -369,7 +455,15 @@
".rdoc"
],
"Rebol": [
- ".r"
+ ".r",
+ ".r2",
+ ".r3",
+ ".reb",
+ ".rebol"
+ ],
+ "Red": [
+ ".red",
+ ".reds"
],
"RMarkdown": [
".rmd"
@@ -417,9 +511,28 @@
".sh",
".zsh"
],
+ "ShellSession": [
+ ".sh-session"
+ ],
+ "Shen": [
+ ".shen"
+ ],
"Slash": [
".sl"
],
+ "Smalltalk": [
+ ".st"
+ ],
+ "SourcePawn": [
+ ".sp"
+ ],
+ "SQL": [
+ ".prc",
+ ".sql",
+ ".tab",
+ ".udf",
+ ".viw"
+ ],
"Squirrel": [
".nut"
],
@@ -428,12 +541,29 @@
".sig",
".sml"
],
+ "Stata": [
+ ".ado",
+ ".do",
+ ".doh",
+ ".ihlp",
+ ".mata",
+ ".matah",
+ ".sthlp"
+ ],
"Stylus": [
".styl"
],
"SuperCollider": [
".scd"
],
+ "SystemVerilog": [
+ ".sv",
+ ".svh",
+ ".vh"
+ ],
+ "Tcl": [
+ ".tm"
+ ],
"Tea": [
".tea"
],
@@ -475,6 +605,7 @@
"XML": [
".ant",
".ivy",
+ ".pluginspec",
".xml"
],
"XProc": [
@@ -488,6 +619,12 @@
],
"Xtend": [
".xtend"
+ ],
+ "YAML": [
+ ".yml"
+ ],
+ "Zephir": [
+ ".zep"
]
},
"interpreters": {
@@ -512,6 +649,9 @@
"Perl": [
"ack"
],
+ "R": [
+ "expr-dist"
+ ],
"Ruby": [
"Appraisals",
"Capfile",
@@ -551,8 +691,8 @@
".gemrc"
]
},
- "tokens_total": 450556,
- "languages_total": 548,
+ "tokens_total": 592149,
+ "languages_total": 720,
"tokens": {
"ABAP": {
"*/**": 1,
@@ -871,6 +1011,241 @@
"zero": 1,
"Nat": 1
},
+ "Alloy": {
+ "module": 3,
+ "examples/systems/file_system": 1,
+ "abstract": 2,
+ "sig": 20,
+ "Object": 10,
+ "{": 54,
+ "}": 60,
+ "Name": 2,
+ "File": 1,
+ "extends": 10,
+ "some": 3,
+ "d": 3,
+ "Dir": 8,
+ "|": 19,
+ "this": 14,
+ "in": 19,
+ "d.entries.contents": 1,
+ "entries": 3,
+ "set": 10,
+ "DirEntry": 2,
+ "parent": 3,
+ "lone": 6,
+ "this.": 4,
+ "@contents.": 1,
+ "@entries": 1,
+ "all": 16,
+ "e1": 2,
+ "e2": 2,
+ "e1.name": 1,
+ "e2.name": 1,
+ "@parent": 2,
+ "Root": 5,
+ "one": 8,
+ "no": 8,
+ "Cur": 1,
+ "name": 1,
+ "contents": 2,
+ "pred": 16,
+ "OneParent_buggyVersion": 2,
+ "-": 41,
+ "d.parent": 2,
+ "OneParent_correctVersion": 2,
+ "(": 12,
+ "&&": 2,
+ "contents.d": 1,
+ ")": 9,
+ "NoDirAliases": 3,
+ "o": 1,
+ "o.": 1,
+ "check": 6,
+ "for": 7,
+ "expect": 6,
+ "examples/systems/marksweepgc": 1,
+ "Node": 10,
+ "HeapState": 5,
+ "left": 3,
+ "right": 1,
+ "marked": 1,
+ "freeList": 1,
+ "clearMarks": 1,
+ "[": 82,
+ "hs": 16,
+ ".marked": 3,
+ ".right": 4,
+ "hs.right": 3,
+ "fun": 1,
+ "reachable": 1,
+ "n": 5,
+ "]": 80,
+ "+": 14,
+ "n.": 1,
+ "hs.left": 2,
+ "mark": 1,
+ "from": 2,
+ "hs.reachable": 1,
+ "setFreeList": 1,
+ ".freeList.*": 3,
+ ".left": 5,
+ "hs.marked": 1,
+ "GC": 1,
+ "root": 5,
+ "assert": 3,
+ "Soundness1": 2,
+ "h": 9,
+ "live": 3,
+ "h.reachable": 1,
+ "h.right": 1,
+ "Soundness2": 2,
+ ".reachable": 2,
+ "h.GC": 1,
+ ".freeList": 1,
+ "Completeness": 1,
+ "examples/systems/views": 1,
+ "open": 2,
+ "util/ordering": 1,
+ "State": 16,
+ "as": 2,
+ "so": 1,
+ "util/relation": 1,
+ "rel": 1,
+ "Ref": 19,
+ "t": 16,
+ "b": 13,
+ "v": 25,
+ "views": 2,
+ "when": 1,
+ "is": 1,
+ "view": 2,
+ "of": 3,
+ "type": 1,
+ "backing": 1,
+ "dirty": 3,
+ "contains": 1,
+ "refs": 7,
+ "that": 1,
+ "have": 1,
+ "been": 1,
+ "invalidated": 1,
+ "obj": 1,
+ "ViewType": 8,
+ "anyviews": 2,
+ "visualization": 1,
+ "ViewType.views": 1,
+ "Map": 2,
+ "keys": 3,
+ "map": 2,
+ "s": 6,
+ "Ref.map": 1,
+ "s.refs": 3,
+ "MapRef": 4,
+ "fact": 4,
+ "State.obj": 3,
+ "Iterator": 2,
+ "done": 3,
+ "lastRef": 2,
+ "IteratorRef": 5,
+ "Set": 2,
+ "elts": 2,
+ "SetRef": 5,
+ "KeySetView": 6,
+ "State.views": 1,
+ "IteratorView": 3,
+ "s.views": 2,
+ "handle": 1,
+ "possibility": 1,
+ "modifying": 1,
+ "an": 1,
+ "object": 1,
+ "and": 1,
+ "its": 1,
+ "at": 1,
+ "once": 1,
+ "*": 1,
+ "should": 1,
+ "we": 1,
+ "limit": 1,
+ "frame": 1,
+ "conds": 1,
+ "to": 1,
+ "non": 1,
+ "*/": 1,
+ "modifies": 5,
+ "pre": 15,
+ "post": 14,
+ "rs": 4,
+ "let": 5,
+ "vr": 1,
+ "pre.views": 8,
+ "mods": 3,
+ "rs.*vr": 1,
+ "r": 3,
+ "pre.refs": 6,
+ "pre.obj": 10,
+ "post.obj": 7,
+ "viewFrame": 4,
+ "post.dirty": 1,
+ "pre.dirty": 1,
+ "allocates": 5,
+ "&": 3,
+ "post.refs": 1,
+ ".map": 3,
+ ".elts": 3,
+ "dom": 1,
+ "<:>": 1,
+ "setRefs": 1,
+ "MapRef.put": 1,
+ "k": 5,
+ "none": 4,
+ "post.views": 4,
+ "SetRef.iterator": 1,
+ "iterRef": 4,
+ "i": 7,
+ "i.left": 3,
+ "i.done": 1,
+ "i.lastRef": 1,
+ "IteratorRef.remove": 1,
+ ".lastRef": 2,
+ "IteratorRef.next": 1,
+ "ref": 3,
+ "IteratorRef.hasNext": 1,
+ "s.obj": 1,
+ "zippishOK": 2,
+ "ks": 6,
+ "vs": 6,
+ "m": 4,
+ "ki": 2,
+ "vi": 2,
+ "s0": 4,
+ "so/first": 1,
+ "s1": 4,
+ "so/next": 7,
+ "s2": 6,
+ "s3": 4,
+ "s4": 4,
+ "s5": 4,
+ "s6": 4,
+ "s7": 2,
+ "precondition": 2,
+ "s0.dirty": 1,
+ "ks.iterator": 1,
+ "vs.iterator": 1,
+ "ki.hasNext": 1,
+ "vi.hasNext": 1,
+ "ki.this/next": 1,
+ "vi.this/next": 1,
+ "m.put": 1,
+ "ki.remove": 1,
+ "vi.remove": 1,
+ "State.dirty": 1,
+ "ViewType.pre.views": 2,
+ "but": 1,
+ "#s.obj": 1,
+ "<": 1
+ },
"ApacheConf": {
"ServerSignature": 1,
"Off": 1,
@@ -2048,6 +2423,90 @@
".Section": 1,
"list": 1
},
+ "AspectJ": {
+ "package": 2,
+ "com.blogspot.miguelinlas3.aspectj.cache": 1,
+ ";": 29,
+ "import": 5,
+ "java.util.Map": 2,
+ "java.util.WeakHashMap": 1,
+ "org.aspectj.lang.JoinPoint": 1,
+ "com.blogspot.miguelinlas3.aspectj.cache.marker.Cachable": 1,
+ "public": 6,
+ "aspect": 2,
+ "CacheAspect": 1,
+ "{": 11,
+ "pointcut": 3,
+ "cache": 3,
+ "(": 46,
+ "Cachable": 2,
+ "cachable": 5,
+ ")": 46,
+ "execution": 1,
+ "@Cachable": 2,
+ "*": 2,
+ "..": 1,
+ "&&": 2,
+ "@annotation": 1,
+ "Object": 15,
+ "around": 2,
+ "String": 3,
+ "evaluatedKey": 6,
+ "this.evaluateKey": 1,
+ "cachable.scriptKey": 1,
+ "thisJoinPoint": 1,
+ "if": 2,
+ "cache.containsKey": 1,
+ "System.out.println": 5,
+ "+": 7,
+ "return": 5,
+ "this.cache.get": 1,
+ "}": 11,
+ "value": 3,
+ "proceed": 2,
+ "cache.put": 1,
+ "protected": 2,
+ "evaluateKey": 1,
+ "key": 2,
+ "JoinPoint": 1,
+ "joinPoint": 1,
+ "//": 1,
+ "TODO": 1,
+ "add": 1,
+ "some": 1,
+ "smart": 1,
+ "staff": 1,
+ "to": 1,
+ "allow": 1,
+ "simple": 1,
+ "scripting": 1,
+ "in": 1,
+ "annotation": 1,
+ "Map": 3,
+ "": 2,
+ "new": 1,
+ "WeakHashMap": 1,
+ "aspects.caching": 1,
+ "abstract": 3,
+ "OptimizeRecursionCache": 2,
+ "@SuppressWarnings": 3,
+ "private": 1,
+ "_cache": 2,
+ "getCache": 2,
+ "operation": 4,
+ "o": 16,
+ "topLevelOperation": 4,
+ "cflowbelow": 1,
+ "before": 1,
+ "cachedValue": 4,
+ "_cache.get": 1,
+ "null": 1,
+ "after": 2,
+ "returning": 2,
+ "result": 3,
+ "_cache.put": 1,
+ "_cache.size": 1
+ },
"ATS": {
"//": 211,
"#include": 16,
@@ -9383,18 +9842,18 @@
"C++": {
"class": 40,
"Bar": 2,
- "{": 581,
+ "{": 629,
"protected": 4,
"char": 127,
"*name": 6,
- ";": 2471,
+ ";": 2564,
"public": 33,
- "void": 225,
+ "void": 226,
"hello": 2,
- "(": 2729,
- ")": 2731,
- "}": 581,
- "//": 278,
+ "(": 2853,
+ ")": 2855,
+ "}": 629,
+ "//": 292,
"///": 843,
"mainpage": 1,
"C": 6,
@@ -9407,22 +9866,22 @@
"in": 165,
"Raspberry": 6,
"Pi": 5,
- "This": 18,
- "is": 100,
- "a": 156,
+ "This": 19,
+ "is": 102,
+ "a": 157,
"RPi": 17,
".": 16,
"It": 7,
"provides": 3,
"access": 17,
- "to": 253,
+ "to": 254,
"GPIO": 87,
"and": 118,
"other": 17,
"IO": 2,
"functions": 19,
"on": 55,
- "the": 537,
+ "the": 541,
"chip": 9,
"allowing": 3,
"pins": 40,
@@ -9435,7 +9894,7 @@
"can": 21,
"control": 17,
"interface": 9,
- "with": 32,
+ "with": 33,
"various": 4,
"external": 3,
"devices.": 1,
@@ -9458,14 +9917,14 @@
"polling": 1,
"interrupts": 1,
"are": 36,
- "not": 26,
- "+": 60,
+ "not": 29,
+ "+": 70,
"compatible": 1,
"installs": 1,
"header": 7,
"file": 31,
"non": 2,
- "-": 349,
+ "-": 360,
"shared": 2,
"any": 23,
"Linux": 2,
@@ -9474,16 +9933,16 @@
"but": 5,
"clearly": 1,
"no": 7,
- "use": 34,
+ "use": 37,
"except": 2,
"or": 44,
"another": 1,
"The": 50,
"version": 38,
- "of": 211,
+ "of": 215,
"package": 1,
- "that": 33,
- "this": 52,
+ "that": 36,
+ "this": 55,
"documentation": 3,
"refers": 1,
"be": 35,
@@ -9568,7 +10027,7 @@
"must": 6,
"friends": 2,
"make": 6,
- "sure": 3,
+ "sure": 6,
"disable": 2,
"bcm2835_gpio_cler_len": 1,
"after": 18,
@@ -9596,14 +10055,14 @@
"xx": 2,
"./configure": 1,
"sudo": 2,
- "check": 3,
+ "check": 4,
"endcode": 2,
"Physical": 21,
"Addresses": 6,
"bcm2835_peri_read": 3,
"bcm2835_peri_write": 3,
"bcm2835_peri_set_bits": 2,
- "low": 2,
+ "low": 5,
"level": 10,
"peripheral": 14,
"register": 17,
@@ -9635,7 +10094,7 @@
"Ennnnnn": 1,
"available": 6,
"nnnnnn.": 1,
- "base": 4,
+ "base": 6,
"registers": 12,
"following": 2,
"externals": 1,
@@ -9749,7 +10208,7 @@
"subject": 1,
"paging": 1,
"swapping": 2,
- "while": 12,
+ "while": 13,
"does": 4,
"things": 1,
"besides": 1,
@@ -9769,7 +10228,7 @@
"guarantee": 1,
"bcm2835_delay": 5,
"bcm2835_delayMicroseconds": 6,
- "return": 164,
+ "return": 221,
"exactly": 2,
"requested.": 1,
"fact": 2,
@@ -9782,7 +10241,7 @@
"longer": 1,
"delay": 9,
"times": 2,
- "than": 5,
+ "than": 6,
"one": 73,
"asked": 1,
"for.": 1,
@@ -9798,7 +10257,7 @@
"sched_param": 1,
"sp": 4,
"memset": 3,
- "&": 149,
+ "&": 161,
"sizeof": 15,
"sp.sched_priority": 1,
"sched_get_priority_max": 1,
@@ -9806,7 +10265,7 @@
"sched_setscheduler": 1,
"mlockall": 1,
"MCL_CURRENT": 1,
- "|": 14,
+ "|": 19,
"MCL_FUTURE": 1,
"Open": 2,
"Source": 2,
@@ -9814,7 +10273,7 @@
"GPL": 2,
"appropriate": 7,
"option": 1,
- "if": 306,
+ "if": 316,
"want": 5,
"share": 2,
"source": 12,
@@ -9868,7 +10327,7 @@
"sar": 1,
"Ortiz": 1,
"Document": 1,
- "testing": 1,
+ "testing": 2,
"Functions": 1,
"bcm2835_gpio_ren": 3,
"bcm2835_gpio_fen": 3,
@@ -9917,15 +10376,15 @@
"mallocs": 1,
"frees": 1,
"found": 1,
- "calling": 8,
+ "calling": 9,
"nanosleep": 7,
"takes": 1,
"least": 2,
"us.": 1,
- "need": 3,
+ "need": 6,
"link": 3,
"version.": 1,
- "s": 18,
+ "s": 24,
"doc": 1,
"Also": 1,
"added": 2,
@@ -9984,7 +10443,7 @@
"Changes": 1,
"timer": 2,
"counter": 1,
- "instead": 1,
+ "instead": 4,
"clock_gettime": 1,
"improved": 1,
"accuracy.": 1,
@@ -10034,11 +10493,11 @@
"completing.": 1,
"Patched": 1,
"p": 6,
- "[": 274,
+ "[": 276,
"atched": 1,
"his": 1,
"submitted": 1,
- "high": 1,
+ "high": 5,
"load": 1,
"processes.": 1,
"Updated": 1,
@@ -10063,9 +10522,9 @@
"DIRECTLY": 1,
"USE": 1,
"LISTS": 1,
- "#ifndef": 27,
+ "#ifndef": 28,
"BCM2835_H": 3,
- "#define": 341,
+ "#define": 342,
"#include": 121,
"": 2,
"defgroup": 7,
@@ -10085,7 +10544,7 @@
"clock": 21,
"core_clk": 1,
"BCM2835_CORE_CLK_HZ": 1,
- "<": 247,
+ "<": 250,
"Base": 17,
"Address": 10,
"BCM2835_PERI_BASE": 9,
@@ -10140,7 +10599,7 @@
"BCM2835_GPFSEL1": 1,
"BCM2835_GPFSEL2": 1,
"BCM2835_GPFSEL3": 1,
- "c": 62,
+ "c": 72,
"BCM2835_GPFSEL4": 1,
"BCM2835_GPFSEL5": 1,
"BCM2835_GPSET0": 1,
@@ -10185,7 +10644,7 @@
"brief": 12,
"bcm2835PortFunction": 1,
"Port": 1,
- "function": 18,
+ "function": 19,
"select": 9,
"modes": 1,
"bcm2835_gpio_fsel": 2,
@@ -10261,7 +10720,7 @@
"BCM2835_PAD_GROUP_GPIO_46_53": 1,
"Numbers": 1,
"Here": 1,
- "we": 4,
+ "we": 10,
"terms": 4,
"numbers.": 1,
"These": 6,
@@ -10363,7 +10822,7 @@
"Full": 1,
"BCM2835_SPI0_CS_RXR": 1,
"RXR": 3,
- "needs": 3,
+ "needs": 4,
"Reading": 1,
"full": 9,
"BCM2835_SPI0_CS_TXD": 1,
@@ -10533,7 +10992,7 @@
"BCM2835_I2C_REASON_ERROR_CLKT": 1,
"BCM2835_I2C_REASON_ERROR_DATA": 1,
"sent": 1,
- "/": 14,
+ "/": 15,
"BCM2835_ST_CS": 1,
"Control/Status": 1,
"BCM2835_ST_CLO": 1,
@@ -10573,8 +11032,8 @@
"BCM2835_PWM0_REPEATFF": 1,
"BCM2835_PWM0_SERIAL": 1,
"BCM2835_PWM0_ENABLE": 1,
- "x": 48,
- "#endif": 89,
+ "x": 86,
+ "#endif": 98,
"#ifdef": 19,
"__cplusplus": 12,
"init": 2,
@@ -10601,8 +11060,8 @@
"case": 34,
"errors.": 1,
"successful": 2,
- "else": 48,
- "int": 161,
+ "else": 50,
+ "int": 192,
"Close": 1,
"deallocating": 1,
"allocated": 2,
@@ -10615,14 +11074,14 @@
"out": 5,
"what": 2,
"would": 2,
- "do": 9,
+ "do": 13,
"rather": 2,
"causes": 1,
"normal": 1,
"operation.": 2,
"Call": 2,
"param": 72,
- "]": 273,
+ "]": 275,
"level.": 3,
"uint8_t": 43,
"lowlevel": 2,
@@ -10850,7 +11309,7 @@
"placed": 1,
"rbuf.": 1,
"rbuf": 3,
- "long": 11,
+ "long": 14,
"tbuf": 4,
"Buffer": 10,
"send.": 5,
@@ -10895,7 +11354,7 @@
"nothing": 1,
"driver": 1,
"const": 170,
- "*": 161,
+ "*": 177,
"receive.": 2,
"received.": 2,
"Allows": 2,
@@ -10941,7 +11400,7 @@
"": 4,
"": 4,
"": 2,
- "namespace": 31,
+ "namespace": 32,
"std": 52,
"DEFAULT_DELIMITER": 1,
"CsvStreamer": 5,
@@ -10990,12 +11449,12 @@
"leading/trailing": 1,
"spaces": 3,
"trimmed": 1,
- "bool": 104,
+ "bool": 105,
"Like": 1,
"specify": 1,
"trim": 2,
"keep": 1,
- "float": 8,
+ "float": 74,
"double": 25,
"writeln": 1,
"Flushes": 1,
@@ -11152,7 +11611,7 @@
"*rr": 1,
"*zero": 1,
"n": 28,
- "i": 47,
+ "i": 83,
"BN_CTX_start": 1,
"BN_CTX_get": 8,
"EC_GROUP_get_order": 1,
@@ -11218,11 +11677,11 @@
"nBitsR": 3,
"BN_num_bits": 2,
"nBitsS": 3,
- "&&": 23,
+ "&&": 24,
"nRecId": 4,
"<4;>": 1,
"keyRec": 5,
- "1": 2,
+ "1": 4,
"GetPubKey": 5,
"break": 34,
"BN_bn2bin": 2,
@@ -11286,7 +11745,7 @@
"vchSecret": 1,
"GetPrivKey": 1,
"SetPubKey": 1,
- "Sign": 1,
+ "Sign": 2,
"LIBCANIH": 2,
"": 1,
"": 1,
@@ -11294,7 +11753,7 @@
"//#define": 1,
"DEBUG": 5,
"dout": 2,
- "#else": 25,
+ "#else": 31,
"cerr": 1,
"libcanister": 2,
"//the": 8,
@@ -11353,7 +11812,7 @@
"canister*": 1,
"parent": 1,
"//internal": 1,
- "id": 1,
+ "id": 4,
"//use": 1,
"own.": 1,
"newline": 2,
@@ -11417,14 +11876,14 @@
"avoid": 1,
"uncaching": 1,
"//really": 1,
- "just": 1,
+ "just": 2,
"internally": 1,
"harm.": 1,
"cacheclean": 1,
"dFlush": 1,
"Q_OS_LINUX": 2,
"": 1,
- "#if": 44,
+ "#if": 52,
"QT_VERSION": 1,
"QT_VERSION_CHECK": 1,
"#error": 9,
@@ -11460,6 +11919,141 @@
"phantom.execute": 1,
"app.exec": 1,
"phantom.returnValue": 1,
+ "__OG_MATH_INL__": 2,
+ "og": 1,
+ "OG_INLINE": 41,
+ "Math": 41,
+ "Abs": 1,
+ "MASK_SIGNED": 2,
+ "y": 16,
+ "Fabs": 1,
+ "f": 104,
+ "uInt": 1,
+ "*pf": 1,
+ "reinterpret_cast": 8,
+ "": 1,
+ "pf": 1,
+ "fabsf": 1,
+ "Round": 1,
+ "floorf": 2,
+ "Floor": 1,
+ "Ceil": 1,
+ "ceilf": 1,
+ "Ftoi": 1,
+ "@todo": 1,
+ "note": 1,
+ "sse": 1,
+ "cvttss2si": 2,
+ "OG_ASM_MSVC": 4,
+ "defined": 23,
+ "OG_FTOI_USE_SSE": 2,
+ "SysInfo": 2,
+ "cpu.general.SSE": 2,
+ "__asm": 8,
+ "eax": 5,
+ "mov": 6,
+ "fld": 4,
+ "fistp": 3,
+ "//__asm": 3,
+ "O_o": 3,
+ "#elif": 7,
+ "OG_ASM_GNU": 4,
+ "__asm__": 4,
+ "__volatile__": 4,
+ "cast": 7,
+ "why": 3,
+ "did": 3,
+ "static_cast": 11,
+ "": 3,
+ "FtoiFast": 2,
+ "Ftol": 1,
+ "": 1,
+ "Fmod": 1,
+ "numerator": 2,
+ "denominator": 2,
+ "fmodf": 1,
+ "Modf": 2,
+ "modff": 2,
+ "Sqrt": 2,
+ "sqrtf": 2,
+ "InvSqrt": 1,
+ "OG_ASSERT": 4,
+ "RSqrt": 1,
+ "g": 2,
+ "*reinterpret_cast": 3,
+ "guess": 1,
+ "f375a86": 1,
+ "": 1,
+ "Newtons": 1,
+ "calculation": 1,
+ "Log": 1,
+ "logf": 3,
+ "Log2": 1,
+ "INV_LN_2": 1,
+ "Log10": 1,
+ "INV_LN_10": 1,
+ "Pow": 1,
+ "exp": 2,
+ "powf": 1,
+ "Exp": 1,
+ "expf": 1,
+ "IsPowerOfTwo": 4,
+ "faster": 3,
+ "two": 2,
+ "known": 1,
+ "methods": 2,
+ "moved": 1,
+ "beginning": 1,
+ "HigherPowerOfTwo": 4,
+ "LowerPowerOfTwo": 2,
+ "FloorPowerOfTwo": 1,
+ "CeilPowerOfTwo": 1,
+ "ClosestPowerOfTwo": 1,
+ "Digits": 1,
+ "digits": 6,
+ "step": 3,
+ "Sin": 2,
+ "sinf": 1,
+ "ASin": 1,
+ "<=>": 2,
+ "0f": 2,
+ "HALF_PI": 2,
+ "asinf": 1,
+ "Cos": 2,
+ "cosf": 1,
+ "ACos": 1,
+ "PI": 1,
+ "acosf": 1,
+ "Tan": 1,
+ "tanf": 1,
+ "ATan": 2,
+ "atanf": 1,
+ "f1": 2,
+ "f2": 2,
+ "atan2f": 1,
+ "SinCos": 1,
+ "sometimes": 1,
+ "assembler": 1,
+ "waaayy": 1,
+ "_asm": 1,
+ "fsincos": 1,
+ "ecx": 2,
+ "edx": 2,
+ "fstp": 2,
+ "dword": 2,
+ "ptr": 2,
+ "asm": 1,
+ "Deg2Rad": 1,
+ "DEG_TO_RAD": 1,
+ "Rad2Deg": 1,
+ "RAD_TO_DEG": 1,
+ "Square": 1,
+ "v": 10,
+ "Cube": 1,
+ "Sec2Ms": 1,
+ "sec": 2,
+ "Ms2Sec": 1,
+ "ms": 2,
"NINJA_METRICS_H_": 3,
"int64_t.": 1,
"Metrics": 2,
@@ -11524,7 +12118,6 @@
"Seconds": 1,
"call.": 1,
"Elapsed": 1,
- "static_cast": 8,
"": 1,
"primary": 1,
"metrics.": 1,
@@ -11700,7 +12293,6 @@
"u": 9,
"*name_": 1,
"assign": 3,
- "reinterpret_cast": 7,
"temp": 2,
"SWIG": 2,
"QSCICOMMAND_H": 2,
@@ -11713,7 +12305,6 @@
"represents": 1,
"editor": 1,
"command": 9,
- "two": 1,
"keys": 3,
"bound": 4,
"Methods": 1,
@@ -12061,7 +12652,6 @@
"drawing": 4,
"actually": 1,
"sized.": 1,
- "methods": 1,
"area": 5,
"draw": 1,
"text.": 3,
@@ -12122,7 +12712,6 @@
"expected_length": 4,
"ASSERT": 17,
"overflow": 1,
- "digits": 3,
"c0_": 64,
"d": 8,
"HexValue": 2,
@@ -12140,7 +12729,6 @@
"COLON": 2,
"SEMICOLON": 2,
"CONDITIONAL": 2,
- "f": 5,
"LBRACK": 2,
"RBRACK": 2,
"LBRACE": 2,
@@ -12220,7 +12808,6 @@
"IsCarriageReturn": 2,
"IsLineFeed": 2,
"fall": 2,
- "v": 3,
"xxx": 1,
"immediately": 1,
"octal": 1,
@@ -12233,7 +12820,6 @@
"E": 3,
"l": 1,
"w": 1,
- "y": 13,
"keyword": 1,
"Unescaped": 1,
"in_character_class": 2,
@@ -12304,7 +12890,6 @@
"": 6,
"kASCIISize": 1,
"ConvertToUtf16": 2,
- "*reinterpret_cast": 1,
"": 2,
"kUC16Size": 2,
"is_ascii": 3,
@@ -12530,7 +13115,6 @@
"r.double_value": 3,
"r.uint64_t_value": 1,
"HeapNumber": 1,
- "cast": 1,
"set_value": 1,
"InitializeOncePerProcessImpl": 3,
"SetUp": 4,
@@ -12551,7 +13135,6 @@
"ExternalReference": 1,
"CallOnce": 1,
"V8_V8_H_": 3,
- "defined": 21,
"GOOGLE3": 2,
"NDEBUG": 4,
"both": 1,
@@ -12764,7 +13347,6 @@
"CYTHON_INLINE": 68,
"__GNUC__": 5,
"__inline__": 1,
- "#elif": 3,
"__inline": 1,
"__STDC_VERSION__": 2,
"L": 1,
@@ -14212,46 +14794,333 @@
"ip.join": 1
},
"Common Lisp": {
- ";": 10,
- "-": 10,
+ ";": 152,
+ "@file": 1,
+ "macros": 2,
+ "-": 161,
+ "advanced.cl": 1,
+ "@breif": 1,
+ "Advanced": 1,
+ "macro": 5,
+ "practices": 1,
+ "defining": 1,
+ "your": 1,
+ "own": 1,
+ "Macro": 1,
+ "definition": 1,
+ "skeleton": 1,
+ "(": 365,
+ "defmacro": 5,
+ "name": 6,
+ "parameter*": 1,
+ ")": 372,
+ "body": 8,
+ "form*": 1,
+ "Note": 2,
+ "that": 5,
+ "backquote": 1,
+ "expression": 2,
+ "is": 6,
+ "most": 2,
+ "often": 1,
+ "used": 2,
+ "in": 23,
+ "the": 35,
+ "form": 1,
+ "primep": 4,
+ "test": 1,
+ "a": 7,
+ "number": 2,
+ "for": 3,
+ "prime": 12,
+ "defun": 23,
+ "n": 8,
+ "if": 14,
+ "<": 1,
+ "return": 3,
+ "from": 8,
+ "do": 9,
+ "i": 8,
+ "+": 35,
+ "p": 10,
+ "t": 7,
+ "not": 6,
+ "zerop": 1,
+ "mod": 1,
+ "sqrt": 1,
+ "when": 4,
+ "next": 11,
+ "bigger": 1,
+ "than": 1,
+ "specified": 2,
+ "The": 2,
+ "recommended": 1,
+ "procedures": 1,
+ "to": 4,
+ "writting": 1,
+ "new": 6,
+ "are": 2,
+ "as": 1,
+ "follows": 1,
+ "Write": 2,
+ "sample": 2,
+ "call": 2,
+ "and": 12,
+ "code": 2,
+ "it": 2,
+ "should": 1,
+ "expand": 1,
+ "into": 2,
+ "primes": 3,
+ "format": 3,
+ "Expected": 1,
+ "expanded": 1,
+ "codes": 1,
+ "generate": 1,
+ "hardwritten": 1,
+ "expansion": 2,
+ "arguments": 1,
+ "var": 49,
+ "range": 4,
+ "&": 8,
+ "rest": 5,
+ "let": 6,
+ "first": 5,
+ "start": 5,
+ "second": 3,
+ "end": 8,
+ "third": 2,
+ "@body": 4,
+ "More": 1,
+ "concise": 1,
+ "implementations": 1,
+ "with": 7,
+ "synonym": 1,
+ "also": 1,
+ "emits": 1,
+ "more": 1,
+ "friendly": 1,
+ "messages": 1,
+ "on": 1,
+ "incorrent": 1,
+ "input.": 1,
+ "Test": 1,
+ "result": 1,
+ "of": 3,
+ "macroexpand": 2,
+ "function": 2,
+ "gensyms": 4,
+ "value": 8,
+ "Define": 1,
+ "note": 1,
+ "how": 1,
+ "comma": 1,
+ "interpolate": 1,
+ "loop": 2,
+ "names": 2,
+ "collect": 1,
+ "gensym": 1,
+ "#": 15,
+ "|": 9,
+ "ESCUELA": 1,
+ "POLITECNICA": 1,
+ "SUPERIOR": 1,
+ "UNIVERSIDAD": 1,
+ "AUTONOMA": 1,
+ "DE": 1,
+ "MADRID": 1,
+ "INTELIGENCIA": 1,
+ "ARTIFICIAL": 1,
+ "Motor": 1,
+ "de": 2,
+ "inferencia": 1,
+ "Basado": 1,
+ "en": 2,
+ "parte": 1,
+ "Peter": 1,
+ "Norvig": 1,
+ "Global": 1,
+ "variables": 6,
+ "defvar": 4,
+ "*hypothesis": 1,
+ "list*": 7,
+ "*rule": 4,
+ "*fact": 2,
+ "Constants": 1,
+ "defconstant": 2,
+ "fail": 10,
+ "nil": 3,
+ "no": 6,
+ "bindings": 45,
+ "lambda": 4,
+ "b": 6,
+ "mapcar": 2,
+ "man": 3,
+ "luis": 1,
+ "pedro": 1,
+ "woman": 2,
+ "mart": 1,
+ "daniel": 1,
+ "laura": 1,
+ "facts": 1,
+ "x": 47,
+ "aux": 3,
+ "unify": 12,
+ "hypothesis": 10,
+ "list": 9,
+ "____________________________________________________________________________": 5,
+ "FUNCTION": 3,
+ "FIND": 1,
+ "RULES": 2,
+ "COMMENTS": 3,
+ "Returns": 2,
+ "rules": 5,
+ "whose": 1,
+ "THENs": 1,
+ "term": 1,
+ "given": 3,
+ "": 2,
+ "satisfy": 1,
+ "this": 1,
+ "requirement": 1,
+ "renamed.": 1,
+ "EXAMPLES": 2,
+ "setq": 1,
+ "renamed": 3,
+ "rule": 17,
+ "rename": 1,
+ "then": 7,
+ "unless": 3,
+ "null": 1,
+ "equal": 4,
+ "VALUE": 1,
+ "FROM": 1,
+ "all": 2,
+ "solutions": 1,
+ "found": 5,
+ "using": 1,
+ "": 1,
+ ".": 10,
+ "single": 1,
+ "can": 4,
+ "have": 1,
+ "multiple": 1,
+ "solutions.": 1,
+ "mapcan": 1,
+ "R1": 2,
+ "pertenece": 3,
+ "E": 4,
+ "_": 8,
+ "R2": 2,
+ "Xs": 2,
+ "Then": 1,
+ "EVAL": 2,
+ "RULE": 2,
+ "PERTENECE": 6,
+ "E.42": 2,
+ "returns": 4,
+ "NIL": 3,
+ "That": 2,
+ "query": 4,
+ "be": 2,
+ "proven": 2,
+ "binding": 17,
+ "necessary": 2,
+ "fact": 4,
+ "has": 1,
+ "On": 1,
+ "other": 1,
+ "hand": 1,
+ "E.49": 2,
+ "XS.50": 2,
+ "R2.": 1,
+ "eval": 6,
+ "ifs": 1,
+ "NOT": 2,
+ "question": 1,
+ "T": 1,
+ "equality": 2,
+ "UNIFY": 1,
+ "Finds": 1,
+ "general": 1,
+ "unifier": 1,
+ "two": 2,
+ "input": 2,
+ "expressions": 2,
+ "taking": 1,
+ "account": 1,
+ "": 1,
+ "In": 1,
+ "case": 1,
+ "total": 1,
+ "unification.": 1,
+ "Otherwise": 1,
+ "which": 1,
+ "constant": 1,
+ "anonymous": 4,
+ "make": 4,
+ "variable": 6,
+ "Auxiliary": 1,
+ "Functions": 1,
+ "cond": 3,
+ "or": 4,
+ "get": 5,
+ "lookup": 5,
+ "occurs": 5,
+ "extend": 2,
+ "symbolp": 2,
+ "eql": 2,
+ "char": 2,
+ "symbol": 2,
+ "assoc": 1,
+ "car": 2,
+ "val": 6,
+ "cdr": 2,
+ "cons": 2,
+ "append": 1,
+ "eq": 7,
+ "consp": 2,
+ "subst": 3,
+ "listp": 1,
+ "exp": 1,
+ "unique": 3,
+ "find": 6,
+ "anywhere": 6,
+ "predicate": 8,
+ "tree": 11,
+ "optional": 2,
+ "so": 4,
+ "far": 4,
+ "atom": 3,
+ "funcall": 2,
+ "pushnew": 1,
+ "gentemp": 2,
+ "quote": 3,
+ "s/reuse": 1,
+ "cons/cons": 1,
+ "expresion": 2,
+ "some": 1,
+ "EOF": 1,
"*": 2,
"lisp": 1,
- "(": 14,
- "in": 1,
"package": 1,
"foo": 2,
- ")": 14,
"Header": 1,
"comment.": 4,
- "defvar": 1,
"*foo*": 1,
- "eval": 1,
- "when": 1,
"execute": 1,
"compile": 1,
"toplevel": 2,
"load": 1,
- "defun": 1,
"add": 1,
- "x": 5,
- "&": 3,
- "optional": 1,
"y": 2,
"key": 1,
"z": 2,
"declare": 1,
"ignore": 1,
"Inline": 1,
- "+": 2,
- "or": 1,
- "#": 2,
- "|": 2,
"Multi": 1,
"line": 2,
- "defmacro": 1,
- "body": 1,
- "b": 1,
- "if": 1,
"After": 1
},
"Coq": {
@@ -15681,6 +16550,253 @@
"Ruby": 1,
"distribution.": 1
},
+ "Crystal": {
+ "SHEBANG#!bin/crystal": 2,
+ "require": 2,
+ "describe": 2,
+ "do": 26,
+ "it": 21,
+ "run": 14,
+ "(": 201,
+ ")": 201,
+ ".to_i.should": 11,
+ "eq": 16,
+ "end": 135,
+ ".to_f32.should": 2,
+ ".to_b.should": 1,
+ "be_true": 1,
+ "assert_type": 7,
+ "{": 7,
+ "int32": 8,
+ "}": 7,
+ "union_of": 1,
+ "char": 1,
+ "result": 3,
+ "types": 3,
+ "[": 9,
+ "]": 9,
+ "mod": 1,
+ "result.program": 1,
+ "foo": 3,
+ "mod.types": 1,
+ "as": 4,
+ "NonGenericClassType": 1,
+ "foo.instance_vars": 1,
+ ".type.should": 3,
+ "mod.int32": 1,
+ "GenericClassType": 2,
+ "foo_i32": 4,
+ "foo.instantiate": 2,
+ "of": 3,
+ "Type": 2,
+ "|": 8,
+ "ASTNode": 4,
+ "foo_i32.lookup_instance_var": 2,
+ "module": 1,
+ "Crystal": 1,
+ "class": 2,
+ "def": 84,
+ "transform": 81,
+ "transformer": 1,
+ "transformer.before_transform": 1,
+ "self": 77,
+ "node": 164,
+ "transformer.transform": 1,
+ "transformer.after_transform": 1,
+ "Transformer": 1,
+ "before_transform": 1,
+ "after_transform": 1,
+ "Expressions": 2,
+ "exps": 6,
+ "node.expressions.each": 1,
+ "exp": 3,
+ "new_exp": 3,
+ "exp.transform": 3,
+ "if": 23,
+ "new_exp.is_a": 1,
+ "exps.concat": 1,
+ "new_exp.expressions": 1,
+ "else": 2,
+ "<<": 1,
+ "exps.length": 1,
+ "node.expressions": 3,
+ "Call": 1,
+ "node_obj": 1,
+ "node.obj": 9,
+ "node_obj.transform": 1,
+ "transform_many": 23,
+ "node.args": 3,
+ "node_block": 1,
+ "node.block": 2,
+ "node_block.transform": 1,
+ "node_block_arg": 1,
+ "node.block_arg": 6,
+ "node_block_arg.transform": 1,
+ "And": 1,
+ "node.left": 3,
+ "node.left.transform": 3,
+ "node.right": 3,
+ "node.right.transform": 3,
+ "Or": 1,
+ "StringInterpolation": 1,
+ "ArrayLiteral": 1,
+ "node.elements": 1,
+ "node_of": 1,
+ "node.of": 2,
+ "node_of.transform": 1,
+ "HashLiteral": 1,
+ "node.keys": 1,
+ "node.values": 2,
+ "of_key": 1,
+ "node.of_key": 2,
+ "of_key.transform": 1,
+ "of_value": 1,
+ "node.of_value": 2,
+ "of_value.transform": 1,
+ "If": 1,
+ "node.cond": 5,
+ "node.cond.transform": 5,
+ "node.then": 3,
+ "node.then.transform": 3,
+ "node.else": 5,
+ "node.else.transform": 3,
+ "Unless": 1,
+ "IfDef": 1,
+ "MultiAssign": 1,
+ "node.targets": 1,
+ "SimpleOr": 1,
+ "Def": 1,
+ "node.body": 12,
+ "node.body.transform": 10,
+ "receiver": 2,
+ "node.receiver": 4,
+ "receiver.transform": 2,
+ "block_arg": 2,
+ "block_arg.transform": 2,
+ "Macro": 1,
+ "PointerOf": 1,
+ "node.exp": 3,
+ "node.exp.transform": 3,
+ "SizeOf": 1,
+ "InstanceSizeOf": 1,
+ "IsA": 1,
+ "node.obj.transform": 5,
+ "node.const": 1,
+ "node.const.transform": 1,
+ "RespondsTo": 1,
+ "Case": 1,
+ "node.whens": 1,
+ "node_else": 1,
+ "node_else.transform": 1,
+ "When": 1,
+ "node.conds": 1,
+ "ImplicitObj": 1,
+ "ClassDef": 1,
+ "superclass": 1,
+ "node.superclass": 2,
+ "superclass.transform": 1,
+ "ModuleDef": 1,
+ "While": 1,
+ "Generic": 1,
+ "node.name": 5,
+ "node.name.transform": 5,
+ "node.type_vars": 1,
+ "ExceptionHandler": 1,
+ "node.rescues": 1,
+ "node_ensure": 1,
+ "node.ensure": 2,
+ "node_ensure.transform": 1,
+ "Rescue": 1,
+ "node.types": 2,
+ "Union": 1,
+ "Hierarchy": 1,
+ "Metaclass": 1,
+ "Arg": 1,
+ "default_value": 1,
+ "node.default_value": 2,
+ "default_value.transform": 1,
+ "restriction": 1,
+ "node.restriction": 2,
+ "restriction.transform": 1,
+ "BlockArg": 1,
+ "node.fun": 1,
+ "node.fun.transform": 1,
+ "Fun": 1,
+ "node.inputs": 1,
+ "output": 1,
+ "node.output": 2,
+ "output.transform": 1,
+ "Block": 1,
+ "node.args.map": 1,
+ "Var": 2,
+ "FunLiteral": 1,
+ "node.def.body": 1,
+ "node.def.body.transform": 1,
+ "FunPointer": 1,
+ "obj": 1,
+ "obj.transform": 1,
+ "Return": 1,
+ "node.exps": 5,
+ "Break": 1,
+ "Next": 1,
+ "Yield": 1,
+ "scope": 1,
+ "node.scope": 2,
+ "scope.transform": 1,
+ "Include": 1,
+ "Extend": 1,
+ "RangeLiteral": 1,
+ "node.from": 1,
+ "node.from.transform": 1,
+ "node.to": 2,
+ "node.to.transform": 2,
+ "Assign": 1,
+ "node.target": 1,
+ "node.target.transform": 1,
+ "node.value": 3,
+ "node.value.transform": 3,
+ "Nop": 1,
+ "NilLiteral": 1,
+ "BoolLiteral": 1,
+ "NumberLiteral": 1,
+ "CharLiteral": 1,
+ "StringLiteral": 1,
+ "SymbolLiteral": 1,
+ "RegexLiteral": 1,
+ "MetaVar": 1,
+ "InstanceVar": 1,
+ "ClassVar": 1,
+ "Global": 1,
+ "Require": 1,
+ "Path": 1,
+ "Self": 1,
+ "LibDef": 1,
+ "FunDef": 1,
+ "body": 1,
+ "body.transform": 1,
+ "TypeDef": 1,
+ "StructDef": 1,
+ "UnionDef": 1,
+ "EnumDef": 1,
+ "ExternalVar": 1,
+ "IndirectRead": 1,
+ "IndirectWrite": 1,
+ "TypeOf": 1,
+ "Primitive": 1,
+ "Not": 1,
+ "TypeFilteredNode": 1,
+ "TupleLiteral": 1,
+ "Cast": 1,
+ "DeclareVar": 1,
+ "node.var": 1,
+ "node.var.transform": 1,
+ "node.declared_type": 1,
+ "node.declared_type.transform": 1,
+ "Alias": 1,
+ "TupleIndexer": 1,
+ "Attribute": 1,
+ "exps.map": 1
+ },
"CSS": {
".clearfix": 8,
"{": 1661,
@@ -16644,6 +17760,684 @@
"#undef": 1,
"Undefine": 1
},
+ "Dogescript": {
+ "quiet": 1,
+ "wow": 4,
+ "such": 2,
+ "language": 3,
+ "very": 1,
+ "syntax": 1,
+ "github": 1,
+ "recognized": 1,
+ "loud": 1,
+ "much": 1,
+ "friendly": 2,
+ "rly": 1,
+ "is": 2,
+ "true": 1,
+ "plz": 2,
+ "console.loge": 2,
+ "with": 2,
+ "but": 1,
+ "module.exports": 1
+ },
+ "E": {
+ "def": 24,
+ "makeVehicle": 3,
+ "(": 65,
+ "self": 1,
+ ")": 64,
+ "{": 57,
+ "vehicle": 2,
+ "to": 27,
+ "milesTillEmpty": 1,
+ "return": 19,
+ "self.milesPerGallon": 1,
+ "*": 1,
+ "self.getFuelRemaining": 1,
+ "}": 57,
+ "makeCar": 4,
+ "var": 6,
+ "fuelRemaining": 4,
+ "car": 8,
+ "extends": 2,
+ "milesPerGallon": 2,
+ "getFuelRemaining": 2,
+ "makeJet": 1,
+ "jet": 3,
+ "println": 2,
+ "The": 2,
+ "can": 1,
+ "go": 1,
+ "car.milesTillEmpty": 1,
+ "miles.": 1,
+ "name": 4,
+ "x": 3,
+ "y": 3,
+ "moveTo": 1,
+ "newX": 2,
+ "newY": 2,
+ "getX": 1,
+ "getY": 1,
+ "setName": 1,
+ "newName": 2,
+ "getName": 1,
+ "sportsCar": 1,
+ "sportsCar.moveTo": 1,
+ "sportsCar.getName": 1,
+ "is": 1,
+ "at": 1,
+ "X": 1,
+ "location": 1,
+ "sportsCar.getX": 1,
+ "makeVOCPair": 1,
+ "brandName": 3,
+ "String": 1,
+ "near": 6,
+ "myTempContents": 6,
+ "none": 2,
+ "brand": 5,
+ "__printOn": 4,
+ "out": 4,
+ "TextWriter": 4,
+ "void": 5,
+ "out.print": 4,
+ "ProveAuth": 2,
+ "<$brandName>": 3,
+ "prover": 1,
+ "getBrand": 4,
+ "coerce": 2,
+ "specimen": 2,
+ "optEjector": 3,
+ "sealedBox": 2,
+ "offerContent": 1,
+ "CheckAuth": 2,
+ "checker": 3,
+ "template": 1,
+ "match": 4,
+ "[": 10,
+ "get": 2,
+ "authList": 2,
+ "any": 2,
+ "]": 10,
+ "specimenBox": 2,
+ "null": 1,
+ "if": 2,
+ "specimenBox.__respondsTo": 1,
+ "specimenBox.offerContent": 1,
+ "else": 1,
+ "for": 3,
+ "auth": 3,
+ "in": 1,
+ "throw.eject": 1,
+ "Unmatched": 1,
+ "authorization": 1,
+ "__respondsTo": 2,
+ "_": 3,
+ "true": 1,
+ "false": 1,
+ "__getAllegedType": 1,
+ "null.__getAllegedType": 1,
+ "#File": 1,
+ "objects": 1,
+ "hardwired": 1,
+ "files": 1,
+ "file1": 1,
+ "": 1,
+ "file2": 1,
+ "": 1,
+ "#Using": 2,
+ "a": 4,
+ "variable": 1,
+ "file": 3,
+ "filePath": 2,
+ "file3": 1,
+ "": 1,
+ "single": 1,
+ "character": 1,
+ "specify": 1,
+ "Windows": 1,
+ "drive": 1,
+ "file4": 1,
+ "": 1,
+ "file5": 1,
+ "": 1,
+ "file6": 1,
+ "": 1,
+ "pragma.syntax": 1,
+ "send": 1,
+ "message": 4,
+ "when": 2,
+ "friend": 4,
+ "<-receive(message))>": 1,
+ "chatUI.showMessage": 4,
+ "catch": 2,
+ "prob": 2,
+ "receive": 1,
+ "receiveFriend": 2,
+ "friendRcvr": 2,
+ "bind": 2,
+ "save": 1,
+ "file.setText": 1,
+ "makeURIFromObject": 1,
+ "chatController": 2,
+ "load": 1,
+ "getObjectFromURI": 1,
+ "file.getText": 1,
+ "<": 1,
+ "-": 2,
+ "tempVow": 2,
+ "#...use": 1,
+ "#....": 1,
+ "report": 1,
+ "problem": 1,
+ "finally": 1,
+ "#....log": 1,
+ "event": 1
+ },
+ "Eagle": {
+ "": 2,
+ "version=": 4,
+ "encoding=": 2,
+ "": 2,
+ "eagle": 4,
+ "SYSTEM": 2,
+ "dtd": 2,
+ "": 2,
+ "": 2,
+ "": 2,
+ "": 4,
+ "alwaysvectorfont=": 2,
+ "verticaltext=": 2,
+ "": 2,
+ "": 2,
+ "distance=": 2,
+ "unitdist=": 2,
+ "unit=": 2,
+ "style=": 2,
+ "multiple=": 2,
+ "display=": 2,
+ "altdistance=": 2,
+ "altunitdist=": 2,
+ "altunit=": 2,
+ "": 2,
+ "": 118,
+ "number=": 119,
+ "name=": 447,
+ "color=": 118,
+ "fill=": 118,
+ "visible=": 118,
+ "active=": 125,
+ "": 2,
+ "": 1,
+ "": 1,
+ "": 497,
+ "x1=": 630,
+ "y1=": 630,
+ "x2=": 630,
+ "y2=": 630,
+ "width=": 512,
+ "layer=": 822,
+ "": 1,
+ "": 2,
+ "": 4,
+ "": 60,
+ "&": 5501,
+ "lt": 2665,
+ ";": 5567,
+ "b": 64,
+ "gt": 2770,
+ "Resistors": 2,
+ "Capacitors": 4,
+ "Inductors": 2,
+ "/b": 64,
+ "p": 65,
+ "Based": 2,
+ "on": 2,
+ "the": 5,
+ "previous": 2,
+ "libraries": 2,
+ "ul": 2,
+ "li": 12,
+ "r.lbr": 2,
+ "cap.lbr": 2,
+ "cap": 2,
+ "-": 768,
+ "fe.lbr": 2,
+ "captant.lbr": 2,
+ "polcap.lbr": 2,
+ "ipc": 2,
+ "smd.lbr": 2,
+ "/ul": 2,
+ "All": 2,
+ "SMD": 4,
+ "packages": 2,
+ "are": 2,
+ "defined": 2,
+ "according": 2,
+ "to": 3,
+ "IPC": 2,
+ "specifications": 2,
+ "and": 5,
+ "CECC": 2,
+ "author": 3,
+ "Created": 3,
+ "by": 3,
+ "librarian@cadsoft.de": 3,
+ "/author": 3,
+ "for": 5,
+ "Electrolyt": 2,
+ "see": 4,
+ "also": 2,
+ "www.bccomponents.com": 2,
+ "www.panasonic.com": 2,
+ "www.kemet.com": 2,
+ "http": 4,
+ "//www.secc.co.jp/pdf/os_e/2004/e_os_all.pdf": 2,
+ "(": 4,
+ "SANYO": 2,
+ ")": 4,
+ "trimmer": 2,
+ "refence": 2,
+ "u": 2,
+ "www.electrospec": 2,
+ "inc.com/cross_references/trimpotcrossref.asp": 2,
+ "/u": 2,
+ "table": 2,
+ "border": 2,
+ "cellspacing": 2,
+ "cellpadding": 2,
+ "width": 6,
+ "cellpaddding": 2,
+ "tr": 2,
+ "valign": 2,
+ "td": 4,
+ "amp": 66,
+ "nbsp": 66,
+ "/td": 4,
+ "font": 2,
+ "color": 20,
+ "size": 2,
+ "TRIM": 4,
+ "POT": 4,
+ "CROSS": 4,
+ "REFERENCE": 4,
+ "/font": 2,
+ "P": 128,
+ "TABLE": 4,
+ "BORDER": 4,
+ "CELLSPACING": 4,
+ "CELLPADDING": 4,
+ "TR": 36,
+ "TD": 170,
+ "COLSPAN": 16,
+ "FONT": 166,
+ "SIZE": 166,
+ "FACE": 166,
+ "ARIAL": 166,
+ "B": 106,
+ "RECTANGULAR": 2,
+ "MULTI": 6,
+ "TURN": 10,
+ "/B": 90,
+ "/FONT": 166,
+ "/TD": 170,
+ "/TR": 36,
+ "ALIGN": 124,
+ "CENTER": 124,
+ "BOURNS": 6,
+ "BI": 10,
+ "TECH": 10,
+ "DALE": 10,
+ "VISHAY": 10,
+ "PHILIPS/MEPCO": 10,
+ "MURATA": 6,
+ "PANASONIC": 10,
+ "SPECTROL": 6,
+ "MILSPEC": 6,
+ "BGCOLOR": 76,
+ "BR": 1478,
+ "W": 92,
+ "Y": 36,
+ "J": 12,
+ "L": 18,
+ "X": 82,
+ "PH": 2,
+ "XH": 2,
+ "SLT": 2,
+ "ALT": 42,
+ "T8S": 2,
+ "T18/784": 2,
+ "/1897": 2,
+ "/1880": 2,
+ "EKP/CT20/RJ": 2,
+ "RJ": 14,
+ "EKQ": 4,
+ "EKR": 4,
+ "EKJ": 2,
+ "EKL": 2,
+ "S": 18,
+ "EVMCOG": 2,
+ "T602": 2,
+ "RT/RTR12": 6,
+ "RJ/RJR12": 6,
+ "SQUARE": 2,
+ "BOURN": 4,
+ "H": 24,
+ "Z": 16,
+ "T63YB": 2,
+ "T63XB": 2,
+ "T93Z": 2,
+ "T93YA": 2,
+ "T93XA": 2,
+ "T93YB": 2,
+ "T93XB": 2,
+ "EKP": 8,
+ "EKW": 6,
+ "EKM": 4,
+ "EKB": 2,
+ "EKN": 2,
+ "P/CT9P": 2,
+ "P/3106P": 2,
+ "W/3106W": 2,
+ "X/3106X": 2,
+ "Y/3106Y": 2,
+ "Z/3105Z": 2,
+ "EVMCBG": 2,
+ "EVMCCG": 2,
+ "RT/RTR22": 8,
+ "RJ/RJR22": 6,
+ "RT/RTR26": 6,
+ "RJ/RJR26": 12,
+ "RT/RTR24": 6,
+ "RJ/RJR24": 12,
+ "SINGLE": 4,
+ "E": 6,
+ "K": 4,
+ "T": 10,
+ "V": 10,
+ "M": 10,
+ "R": 6,
+ "U": 4,
+ "C": 6,
+ "F": 4,
+ "RX": 6,
+ "PA": 2,
+ "A": 16,
+ "XW": 2,
+ "XL": 2,
+ "PM": 2,
+ "PX": 2,
+ "RXW": 2,
+ "RXL": 2,
+ "T7YB": 2,
+ "T7YA": 2,
+ "TXD": 2,
+ "TYA": 2,
+ "TYP": 2,
+ "TYD": 2,
+ "TX": 4,
+ "SX": 6,
+ "ET6P": 2,
+ "ET6S": 2,
+ "ET6X": 2,
+ "W/8014EMW": 2,
+ "P/8014EMP": 2,
+ "X/8014EMX": 2,
+ "TM7W": 2,
+ "TM7P": 2,
+ "TM7X": 2,
+ "SMS": 2,
+ "SMB": 2,
+ "SMA": 2,
+ "CT": 12,
+ "EKV": 2,
+ "EKX": 2,
+ "EKZ": 2,
+ "N": 2,
+ "RVA0911V304A": 2,
+ "RVA0911H413A": 2,
+ "RVG0707V100A": 2,
+ "RVA0607V": 2,
+ "RVA1214H213A": 2,
+ "EVMQ0G": 4,
+ "EVMQIG": 2,
+ "EVMQ3G": 2,
+ "EVMS0G": 2,
+ "EVMG0G": 2,
+ "EVMK4GA00B": 2,
+ "EVM30GA00B": 2,
+ "EVMK0GA00B": 2,
+ "EVM38GA00B": 2,
+ "EVMB6": 2,
+ "EVLQ0": 2,
+ "EVMMSG": 2,
+ "EVMMBG": 2,
+ "EVMMAG": 2,
+ "EVMMCS": 2,
+ "EVMM1": 2,
+ "EVMM0": 2,
+ "EVMM3": 2,
+ "RJ/RJR50": 6,
+ "/TABLE": 4,
+ "TOCOS": 4,
+ "AUX/KYOCERA": 4,
+ "G": 10,
+ "ST63Z": 2,
+ "ST63Y": 2,
+ "ST5P": 2,
+ "ST5W": 2,
+ "ST5X": 2,
+ "A/B": 2,
+ "C/D": 2,
+ "W/X": 2,
+ "ST5YL/ST53YL": 2,
+ "ST5YJ/5T53YJ": 2,
+ "ST": 14,
+ "EVM": 8,
+ "YS": 2,
+ "D": 2,
+ "G4B": 2,
+ "G4A": 2,
+ "TR04": 2,
+ "S1": 4,
+ "TRG04": 2,
+ "DVR": 2,
+ "CVR": 4,
+ "A/C": 2,
+ "ALTERNATE": 2,
+ "/tr": 2,
+ "/table": 2,
+ "": 60,
+ "": 4,
+ "": 53,
+ "RESISTOR": 52,
+ "": 64,
+ "x=": 240,
+ "y=": 242,
+ "dx=": 64,
+ "dy=": 64,
+ "": 108,
+ "size=": 114,
+ "NAME": 52,
+ "": 108,
+ "VALUE": 52,
+ "": 132,
+ "": 52,
+ "": 3,
+ "": 3,
+ "Pin": 1,
+ "Header": 1,
+ "Connectors": 1,
+ "PIN": 1,
+ "HEADER": 1,
+ "": 39,
+ "drill=": 41,
+ "shape=": 39,
+ "ratio=": 41,
+ "": 1,
+ "": 1,
+ "": 1,
+ "": 1,
+ "": 1,
+ "": 1,
+ "": 1,
+ "": 1,
+ "": 1,
+ "": 1,
+ "language=": 2,
+ "EAGLE": 2,
+ "Design": 5,
+ "Rules": 5,
+ "Die": 1,
+ "Standard": 1,
+ "sind": 1,
+ "so": 2,
+ "gew": 1,
+ "hlt": 1,
+ "dass": 1,
+ "sie": 1,
+ "f": 1,
+ "r": 1,
+ "die": 3,
+ "meisten": 1,
+ "Anwendungen": 1,
+ "passen.": 1,
+ "Sollte": 1,
+ "ihre": 1,
+ "Platine": 1,
+ "besondere": 1,
+ "Anforderungen": 1,
+ "haben": 1,
+ "treffen": 1,
+ "Sie": 1,
+ "erforderlichen": 1,
+ "Einstellungen": 1,
+ "hier": 1,
+ "und": 1,
+ "speichern": 1,
+ "unter": 1,
+ "einem": 1,
+ "neuen": 1,
+ "Namen": 1,
+ "ab.": 1,
+ "The": 1,
+ "default": 1,
+ "have": 2,
+ "been": 1,
+ "set": 1,
+ "cover": 1,
+ "a": 2,
+ "wide": 1,
+ "range": 1,
+ "of": 1,
+ "applications.": 1,
+ "Your": 1,
+ "particular": 1,
+ "design": 2,
+ "may": 1,
+ "different": 1,
+ "requirements": 1,
+ "please": 1,
+ "make": 1,
+ "necessary": 1,
+ "adjustments": 1,
+ "save": 1,
+ "your": 1,
+ "customized": 1,
+ "rules": 1,
+ "under": 1,
+ "new": 1,
+ "name.": 1,
+ "": 142,
+ "value=": 145,
+ "": 1,
+ "": 1,
+ "": 8,
+ "": 8,
+ "refer=": 7,
+ "": 1,
+ "": 1,
+ "": 3,
+ "library=": 3,
+ "package=": 3,
+ "smashed=": 3,
+ "": 6,
+ "": 3,
+ "1": 1,
+ "778": 1,
+ "16": 1,
+ "002": 1,
+ "": 1,
+ "": 1,
+ "": 3,
+ "": 4,
+ "element=": 4,
+ "pad=": 4,
+ "": 1,
+ "extent=": 1,
+ "": 3,
+ "": 2,
+ "": 8,
+ "": 2,
+ "": 1,
+ "": 1,
+ "": 1,
+ "": 1,
+ "": 1,
+ "xreflabel=": 1,
+ "xrefpart=": 1,
+ "Frames": 1,
+ "Sheet": 2,
+ "Layout": 1,
+ "": 1,
+ "": 1,
+ "font=": 4,
+ "DRAWING_NAME": 1,
+ "LAST_DATE_TIME": 1,
+ "SHEET": 1,
+ "": 1,
+ "columns=": 1,
+ "rows=": 1,
+ "": 1,
+ "": 1,
+ "": 1,
+ "": 1,
+ "prefix=": 1,
+ "uservalue=": 1,
+ "FRAME": 1,
+ "DIN": 1,
+ "A4": 1,
+ "landscape": 1,
+ "with": 1,
+ "location": 1,
+ "doc.": 1,
+ "field": 1,
+ "": 1,
+ "": 1,
+ "symbol=": 1,
+ "": 1,
+ "": 1,
+ "": 1,
+ "": 1,
+ "": 1,
+ "": 1,
+ "": 1,
+ "": 1,
+ "": 1,
+ "": 1,
+ "wave": 10,
+ "soldering": 10,
+ "Source": 2,
+ "//download.siliconexpert.com/pdfs/2005/02/24/Semi_Ap/2/VSH/Resistor/dcrcwfre.pdf": 2,
+ "MELF": 8,
+ "type": 20,
+ "grid": 20,
+ "mm": 20,
+ "curve=": 56,
+ "": 12,
+ "radius=": 12
+ },
"ECL": {
"#option": 1,
"(": 32,
@@ -18026,6 +19820,3478 @@
"/cell": 2,
"cell": 2
},
+ "Frege": {
+ "module": 2,
+ "examples.CommandLineClock": 1,
+ "where": 39,
+ "data": 3,
+ "Date": 5,
+ "native": 4,
+ "java.util.Date": 1,
+ "new": 9,
+ "(": 339,
+ ")": 345,
+ "-": 730,
+ "IO": 13,
+ "MutableIO": 1,
+ "toString": 2,
+ "Mutable": 1,
+ "s": 21,
+ "ST": 1,
+ "String": 9,
+ "d.toString": 1,
+ "action": 2,
+ "to": 13,
+ "give": 2,
+ "us": 1,
+ "the": 20,
+ "current": 4,
+ "time": 1,
+ "as": 33,
+ "do": 38,
+ "d": 3,
+ "<->": 35,
+ "java": 5,
+ "lang": 2,
+ "Thread": 2,
+ "sleep": 4,
+ "takes": 1,
+ "a": 99,
+ "long": 4,
+ "and": 14,
+ "returns": 2,
+ "nothing": 2,
+ "but": 2,
+ "may": 1,
+ "throw": 1,
+ "an": 6,
+ "InterruptedException": 4,
+ "This": 2,
+ "is": 24,
+ "without": 1,
+ "doubt": 1,
+ "public": 1,
+ "static": 1,
+ "void": 2,
+ "millis": 1,
+ "throws": 4,
+ "Encoded": 1,
+ "in": 22,
+ "Frege": 1,
+ "argument": 1,
+ "type": 8,
+ "Long": 3,
+ "result": 11,
+ "does": 2,
+ "defined": 1,
+ "frege": 1,
+ "Lang": 1,
+ "main": 11,
+ "args": 2,
+ "forever": 1,
+ "print": 25,
+ "stdout.flush": 1,
+ "Thread.sleep": 4,
+ "examples.Concurrent": 1,
+ "import": 7,
+ "System.Random": 1,
+ "Java.Net": 1,
+ "URL": 2,
+ "Control.Concurrent": 1,
+ "C": 6,
+ "main2": 1,
+ "m": 2,
+ "<": 84,
+ "newEmptyMVar": 1,
+ "forkIO": 11,
+ "m.put": 3,
+ "replicateM_": 3,
+ "c": 33,
+ "m.take": 1,
+ "println": 25,
+ "example1": 1,
+ "putChar": 2,
+ "example2": 2,
+ "getLine": 2,
+ "case": 6,
+ "of": 32,
+ "Right": 6,
+ "n": 38,
+ "setReminder": 3,
+ "Left": 5,
+ "_": 60,
+ "+": 200,
+ "show": 24,
+ "L*n": 1,
+ "table": 1,
+ "mainPhil": 2,
+ "[": 120,
+ "fork1": 3,
+ "fork2": 3,
+ "fork3": 3,
+ "fork4": 3,
+ "fork5": 3,
+ "]": 116,
+ "mapM": 3,
+ "MVar": 3,
+ "1": 2,
+ "5": 1,
+ "philosopher": 7,
+ "Kant": 1,
+ "Locke": 1,
+ "Wittgenstein": 1,
+ "Nozick": 1,
+ "Mises": 1,
+ "return": 17,
+ "Int": 6,
+ "me": 13,
+ "left": 4,
+ "right": 4,
+ "g": 4,
+ "Random.newStdGen": 1,
+ "let": 8,
+ "phil": 4,
+ "tT": 2,
+ "g1": 2,
+ "Random.randomR": 2,
+ "L": 6,
+ "eT": 2,
+ "g2": 3,
+ "thinkTime": 3,
+ "*": 5,
+ "eatTime": 3,
+ "fl": 4,
+ "left.take": 1,
+ "rFork": 2,
+ "poll": 1,
+ "Just": 2,
+ "fr": 3,
+ "right.put": 1,
+ "left.put": 2,
+ "table.notifyAll": 2,
+ "Nothing": 2,
+ "table.wait": 1,
+ "inter": 3,
+ "catch": 2,
+ "getURL": 4,
+ "xx": 2,
+ "url": 1,
+ "URL.new": 1,
+ "con": 3,
+ "url.openConnection": 1,
+ "con.connect": 1,
+ "con.getInputStream": 1,
+ "typ": 5,
+ "con.getContentType": 1,
+ "stderr.println": 3,
+ "ir": 2,
+ "InputStreamReader.new": 2,
+ "fromMaybe": 1,
+ "charset": 2,
+ "unsupportedEncoding": 3,
+ "br": 4,
+ "BufferedReader": 1,
+ "getLines": 1,
+ "InputStream": 1,
+ "UnsupportedEncodingException": 1,
+ "InputStreamReader": 1,
+ "x": 45,
+ "x.catched": 1,
+ "ctyp": 2,
+ "charset=": 1,
+ "m.group": 1,
+ "SomeException": 2,
+ "Throwable": 1,
+ "m1": 1,
+ "MVar.newEmpty": 3,
+ "m2": 1,
+ "m3": 2,
+ "r": 7,
+ "catchAll": 3,
+ ".": 41,
+ "m1.put": 1,
+ "m2.put": 1,
+ "m3.put": 1,
+ "r1": 2,
+ "m1.take": 1,
+ "r2": 3,
+ "m2.take": 1,
+ "r3": 3,
+ "take": 13,
+ "ss": 8,
+ "mapM_": 5,
+ "putStrLn": 2,
+ "|": 62,
+ "x.getClass.getName": 1,
+ "y": 15,
+ "sum": 2,
+ "map": 49,
+ "length": 20,
+ "package": 2,
+ "examples.Sudoku": 1,
+ "Data.TreeMap": 1,
+ "Tree": 4,
+ "keys": 2,
+ "Data.List": 1,
+ "DL": 1,
+ "hiding": 1,
+ "find": 20,
+ "union": 10,
+ "Element": 6,
+ "Zelle": 8,
+ "set": 4,
+ "candidates": 18,
+ "Position": 22,
+ "Feld": 3,
+ "Brett": 13,
+ "for": 25,
+ "assumptions": 10,
+ "conclusions": 2,
+ "Assumption": 21,
+ "ISNOT": 14,
+ "IS": 16,
+ "derive": 2,
+ "Eq": 1,
+ "Ord": 1,
+ "instance": 1,
+ "Show": 1,
+ "p": 72,
+ "e": 15,
+ "pname": 10,
+ "e.show": 2,
+ "showcs": 5,
+ "cs": 27,
+ "joined": 4,
+ "Assumption.show": 1,
+ "elements": 12,
+ "all": 22,
+ "possible": 2,
+ "..": 1,
+ "positions": 16,
+ "rowstarts": 4,
+ "row": 20,
+ "starting": 3,
+ "colstarts": 3,
+ "column": 2,
+ "boxstarts": 3,
+ "box": 15,
+ "boxmuster": 3,
+ "pattern": 1,
+ "by": 3,
+ "adding": 1,
+ "upper": 2,
+ "position": 9,
+ "results": 1,
+ "real": 1,
+ "extract": 2,
+ "field": 9,
+ "getf": 16,
+ "f": 19,
+ "fs": 22,
+ "fst": 9,
+ "otherwise": 8,
+ "cell": 24,
+ "getc": 12,
+ "b": 113,
+ "snd": 20,
+ "compute": 5,
+ "list": 7,
+ "that": 18,
+ "belong": 3,
+ "same": 8,
+ "given": 3,
+ "z..": 1,
+ "z": 12,
+ "quot": 1,
+ "col": 17,
+ "mod": 3,
+ "ri": 2,
+ "div": 3,
+ "or": 15,
+ "depending": 1,
+ "on": 4,
+ "ci": 3,
+ "index": 3,
+ "middle": 2,
+ "check": 2,
+ "if": 5,
+ "candidate": 10,
+ "has": 2,
+ "exactly": 2,
+ "one": 2,
+ "member": 1,
+ "i.e.": 1,
+ "been": 1,
+ "solved": 1,
+ "single": 9,
+ "Bool": 2,
+ "true": 16,
+ "false": 13,
+ "unsolved": 10,
+ "rows": 4,
+ "cols": 6,
+ "boxes": 1,
+ "allrows": 8,
+ "allcols": 5,
+ "allboxs": 5,
+ "allrcb": 5,
+ "zip": 7,
+ "repeat": 3,
+ "containers": 6,
+ "PRINTING": 1,
+ "printable": 1,
+ "coordinate": 1,
+ "a1": 3,
+ "lower": 1,
+ "i9": 1,
+ "packed": 1,
+ "chr": 2,
+ "ord": 6,
+ "board": 41,
+ "printb": 4,
+ "p1line": 2,
+ "pfld": 4,
+ "line": 2,
+ "brief": 1,
+ "no": 4,
+ "some": 2,
+ "zs": 1,
+ "initial/final": 1,
+ "msg": 6,
+ "res012": 2,
+ "concatMap": 1,
+ "a*100": 1,
+ "b*10": 1,
+ "BOARD": 1,
+ "ALTERATION": 1,
+ "ACTIONS": 1,
+ "message": 1,
+ "about": 1,
+ "what": 1,
+ "done": 1,
+ "turnoff1": 3,
+ "i": 16,
+ "off": 11,
+ "nc": 7,
+ "head": 19,
+ "newb": 7,
+ "filter": 26,
+ "notElem": 7,
+ "turnoff": 11,
+ "turnoffh": 1,
+ "ps": 8,
+ "foldM": 2,
+ "toh": 2,
+ "setto": 3,
+ "cname": 4,
+ "nf": 2,
+ "SOLVING": 1,
+ "STRATEGIES": 1,
+ "reduce": 3,
+ "sets": 2,
+ "contains": 1,
+ "numbers": 1,
+ "already": 1,
+ "finds": 1,
+ "logs": 1,
+ "NAKED": 5,
+ "SINGLEs": 1,
+ "passing.": 1,
+ "sss": 3,
+ "each": 2,
+ "with": 15,
+ "more": 2,
+ "than": 2,
+ "fields": 6,
+ "are": 6,
+ "rcb": 16,
+ "elem": 16,
+ "collect": 1,
+ "remove": 3,
+ "from": 7,
+ "look": 10,
+ "number": 4,
+ "appears": 1,
+ "container": 9,
+ "this": 2,
+ "can": 9,
+ "go": 1,
+ "other": 2,
+ "place": 1,
+ "HIDDEN": 6,
+ "SINGLE": 1,
+ "hiddenSingle": 2,
+ "select": 1,
+ "containername": 1,
+ "FOR": 11,
+ "IN": 9,
+ "occurs": 5,
+ "PAIRS": 8,
+ "TRIPLES": 8,
+ "QUADS": 2,
+ "nakedPair": 4,
+ "t": 14,
+ "nm": 6,
+ "SELECT": 3,
+ "pos": 5,
+ "tuple": 2,
+ "name": 2,
+ "//": 8,
+ "u": 6,
+ "fold": 7,
+ "non": 2,
+ "outof": 6,
+ "tuples": 2,
+ "hit": 7,
+ "subset": 3,
+ "any": 3,
+ "hiddenPair": 4,
+ "minus": 2,
+ "uniq": 4,
+ "sort": 4,
+ "common": 4,
+ "bs": 7,
+ "undefined": 1,
+ "cannot": 1,
+ "happen": 1,
+ "because": 1,
+ "either": 1,
+ "empty": 4,
+ "not": 5,
+ "intersectionlist": 2,
+ "intersections": 2,
+ "reason": 8,
+ "reson": 1,
+ "cpos": 7,
+ "WHERE": 2,
+ "tail": 2,
+ "intersection": 1,
+ "we": 5,
+ "occurences": 1,
+ "XY": 2,
+ "Wing": 2,
+ "there": 6,
+ "exists": 6,
+ "A": 7,
+ "X": 5,
+ "Y": 4,
+ "B": 5,
+ "Z": 6,
+ "shares": 2,
+ "reasoning": 1,
+ "will": 4,
+ "be": 9,
+ "since": 1,
+ "indeed": 1,
+ "thus": 1,
+ "see": 1,
+ "xyWing": 2,
+ "rcba": 4,
+ "share": 1,
+ "b1": 11,
+ "b2": 10,
+ "&&": 9,
+ "||": 2,
+ "then": 1,
+ "else": 1,
+ "c1": 4,
+ "c2": 3,
+ "N": 5,
+ "Fish": 1,
+ "Swordfish": 1,
+ "Jellyfish": 1,
+ "When": 2,
+ "particular": 1,
+ "digit": 1,
+ "located": 2,
+ "only": 1,
+ "columns": 2,
+ "eliminate": 1,
+ "those": 2,
+ "which": 2,
+ "fish": 7,
+ "fishname": 5,
+ "rset": 4,
+ "certain": 1,
+ "rflds": 2,
+ "rowset": 1,
+ "colss": 3,
+ "must": 4,
+ "appear": 1,
+ "at": 3,
+ "least": 3,
+ "cstart": 2,
+ "immediate": 1,
+ "consequences": 6,
+ "assumption": 8,
+ "form": 1,
+ "conseq": 3,
+ "cp": 3,
+ "two": 1,
+ "contradict": 2,
+ "contradicts": 7,
+ "get": 3,
+ "aPos": 5,
+ "List": 1,
+ "turned": 1,
+ "when": 2,
+ "true/false": 1,
+ "toClear": 7,
+ "whose": 1,
+ "implications": 5,
+ "themself": 1,
+ "chain": 2,
+ "paths": 12,
+ "solution": 6,
+ "reverse": 4,
+ "css": 7,
+ "yields": 1,
+ "contradictory": 1,
+ "chainContra": 2,
+ "pro": 7,
+ "contra": 4,
+ "ALL": 2,
+ "conlusions": 1,
+ "uniqBy": 2,
+ "using": 2,
+ "sortBy": 2,
+ "comparing": 2,
+ "conslusion": 1,
+ "chains": 4,
+ "LET": 1,
+ "BE": 1,
+ "final": 2,
+ "conclusion": 4,
+ "THE": 1,
+ "FIRST": 1,
+ "implication": 2,
+ "ai": 2,
+ "so": 1,
+ "a0": 1,
+ "OR": 7,
+ "a2": 2,
+ "...": 2,
+ "IMPLIES": 1,
+ "For": 2,
+ "cells": 1,
+ "pi": 2,
+ "have": 1,
+ "construct": 2,
+ "p0": 1,
+ "p1": 1,
+ "c0": 1,
+ "cellRegionChain": 2,
+ "os": 3,
+ "cellas": 2,
+ "regionas": 2,
+ "iss": 3,
+ "ass": 2,
+ "first": 2,
+ "candidates@": 1,
+ "region": 2,
+ "oss": 2,
+ "Liste": 1,
+ "aller": 1,
+ "Annahmen": 1,
+ "ein": 1,
+ "bestimmtes": 1,
+ "acstree": 3,
+ "Tree.fromList": 1,
+ "bypass": 1,
+ "maybe": 1,
+ "tree": 1,
+ "lookup": 2,
+ "error": 1,
+ "performance": 1,
+ "resons": 1,
+ "confine": 1,
+ "ourselves": 1,
+ "20": 1,
+ "per": 1,
+ "mkPaths": 3,
+ "acst": 3,
+ "impl": 2,
+ "{": 1,
+ "a3": 1,
+ "ordered": 1,
+ "impls": 2,
+ "ns": 2,
+ "concat": 1,
+ "takeUntil": 1,
+ "null": 1,
+ "iterate": 1,
+ "expandchain": 3,
+ "avoid": 1,
+ "loops": 1,
+ "uni": 3,
+ "SOLVE": 1,
+ "SUDOKU": 1,
+ "Apply": 1,
+ "available": 1,
+ "strategies": 1,
+ "until": 1,
+ "changes": 1,
+ "anymore": 1,
+ "Strategy": 1,
+ "functions": 2,
+ "supposed": 1,
+ "applied": 1,
+ "changed": 1,
+ "board.": 1,
+ "strategy": 2,
+ "anything": 1,
+ "alter": 1,
+ "it": 2,
+ "next": 1,
+ "tried.": 1,
+ "solve": 19,
+ "res@": 16,
+ "apply": 17,
+ "res": 16,
+ "smallest": 1,
+ "comment": 16,
+ "SINGLES": 1,
+ "locked": 1,
+ "2": 3,
+ "QUADRUPELS": 6,
+ "3": 3,
+ "4": 3,
+ "WINGS": 1,
+ "FISH": 3,
+ "pcomment": 2,
+ "9": 5,
+ "forcing": 1,
+ "allow": 1,
+ "infer": 1,
+ "both": 1,
+ "brd": 2,
+ "com": 5,
+ "stderr": 3,
+ "<<": 4,
+ "log": 1,
+ "turn": 1,
+ "string": 3,
+ "into": 1,
+ "mkrow": 2,
+ "mkrow1": 2,
+ "xs": 4,
+ "make": 1,
+ "sure": 1,
+ "unpacked": 2,
+ "<=>": 1,
+ "0": 2,
+ "ignored": 1,
+ "h": 1,
+ "help": 1,
+ "usage": 1,
+ "Sudoku": 2,
+ "file": 4,
+ "81": 3,
+ "char": 1,
+ "consisting": 1,
+ "digits": 2,
+ "One": 1,
+ "such": 1,
+ "going": 1,
+ "http": 3,
+ "www": 1,
+ "sudokuoftheday": 1,
+ "pages": 1,
+ "o": 1,
+ "php": 1,
+ "click": 1,
+ "puzzle": 1,
+ "open": 1,
+ "tab": 1,
+ "Copy": 1,
+ "address": 1,
+ "your": 1,
+ "browser": 1,
+ "There": 1,
+ "also": 1,
+ "hard": 1,
+ "sudokus": 1,
+ "examples": 1,
+ "top95": 1,
+ "txt": 1,
+ "W": 1,
+ "felder": 2,
+ "decode": 4,
+ "files": 2,
+ "forM_": 1,
+ "sudoku": 2,
+ "openReader": 1,
+ "lines": 2,
+ "BufferedReader.getLines": 1,
+ "process": 5,
+ "candi": 2,
+ "consider": 3,
+ "acht": 4,
+ "neun": 2,
+ "examples.SwingExamples": 1,
+ "Java.Awt": 1,
+ "ActionListener": 2,
+ "Java.Swing": 1,
+ "rs": 2,
+ "Runnable.new": 1,
+ "helloWorldGUI": 2,
+ "buttonDemoGUI": 2,
+ "celsiusConverterGUI": 2,
+ "invokeLater": 1,
+ "tempTextField": 2,
+ "JTextField.new": 1,
+ "celsiusLabel": 1,
+ "JLabel.new": 3,
+ "convertButton": 1,
+ "JButton.new": 3,
+ "fahrenheitLabel": 1,
+ "frame": 3,
+ "JFrame.new": 3,
+ "frame.setDefaultCloseOperation": 3,
+ "JFrame.dispose_on_close": 3,
+ "frame.setTitle": 1,
+ "celsiusLabel.setText": 1,
+ "convertButton.setText": 1,
+ "convertButtonActionPerformed": 2,
+ "celsius": 3,
+ "getText": 1,
+ "double": 1,
+ "fahrenheitLabel.setText": 3,
+ "c*1.8": 1,
+ ".long": 1,
+ "ActionListener.new": 2,
+ "convertButton.addActionListener": 1,
+ "contentPane": 2,
+ "frame.getContentPane": 2,
+ "layout": 2,
+ "GroupLayout.new": 1,
+ "contentPane.setLayout": 1,
+ "TODO": 1,
+ "continue": 1,
+ "//docs.oracle.com/javase/tutorial/displayCode.html": 1,
+ "code": 1,
+ "//docs.oracle.com/javase/tutorial/uiswing/examples/learn/CelsiusConverterProject/src/learn/CelsiusConverterGUI.java": 1,
+ "frame.pack": 3,
+ "frame.setVisible": 3,
+ "label": 2,
+ "cp.add": 1,
+ "newContentPane": 2,
+ "JPanel.new": 1,
+ "JButton": 4,
+ "b1.setVerticalTextPosition": 1,
+ "SwingConstants.center": 2,
+ "b1.setHorizontalTextPosition": 1,
+ "SwingConstants.leading": 2,
+ "b2.setVerticalTextPosition": 1,
+ "b2.setHorizontalTextPosition": 1,
+ "b3": 7,
+ "Enable": 1,
+ "button": 1,
+ "setVerticalTextPosition": 1,
+ "SwingConstants": 2,
+ "center": 1,
+ "setHorizontalTextPosition": 1,
+ "leading": 1,
+ "setEnabled": 7,
+ "action1": 2,
+ "action3": 2,
+ "b1.addActionListener": 1,
+ "b3.addActionListener": 1,
+ "newContentPane.add": 3,
+ "newContentPane.setOpaque": 1,
+ "frame.setContentPane": 1
+ },
+ "Game Maker Language": {
+ "//draws": 1,
+ "the": 62,
+ "sprite": 12,
+ "draw": 3,
+ "true": 73,
+ ";": 1282,
+ "if": 397,
+ "(": 1501,
+ "facing": 17,
+ "RIGHT": 10,
+ ")": 1502,
+ "image_xscale": 17,
+ "-": 212,
+ "else": 151,
+ "blinkToggle": 1,
+ "{": 300,
+ "state": 50,
+ "CLIMBING": 5,
+ "or": 78,
+ "sprite_index": 14,
+ "sPExit": 1,
+ "sDamselExit": 1,
+ "sTunnelExit": 1,
+ "and": 155,
+ "global.hasJetpack": 4,
+ "not": 63,
+ "whipping": 5,
+ "draw_sprite_ext": 10,
+ "x": 76,
+ "y": 85,
+ "image_yscale": 14,
+ "image_angle": 14,
+ "image_blend": 2,
+ "image_alpha": 10,
+ "//draw_sprite": 1,
+ "draw_sprite": 9,
+ "sJetpackBack": 1,
+ "false": 85,
+ "}": 307,
+ "sJetpackRight": 1,
+ "sJetpackLeft": 1,
+ "+": 206,
+ "redColor": 2,
+ "make_color_rgb": 1,
+ "holdArrow": 4,
+ "ARROW_NORM": 2,
+ "sArrowRight": 1,
+ "ARROW_BOMB": 2,
+ "holdArrowToggle": 2,
+ "sBombArrowRight": 2,
+ "LEFT": 7,
+ "sArrowLeft": 1,
+ "sBombArrowLeft": 2,
+ "hangCountMax": 2,
+ "//////////////////////////////////////": 2,
+ "kLeft": 12,
+ "checkLeft": 1,
+ "kLeftPushedSteps": 3,
+ "kLeftPressed": 2,
+ "checkLeftPressed": 1,
+ "kLeftReleased": 3,
+ "checkLeftReleased": 1,
+ "kRight": 12,
+ "checkRight": 1,
+ "kRightPushedSteps": 3,
+ "kRightPressed": 2,
+ "checkRightPressed": 1,
+ "kRightReleased": 3,
+ "checkRightReleased": 1,
+ "kUp": 5,
+ "checkUp": 1,
+ "kDown": 5,
+ "checkDown": 1,
+ "//key": 1,
+ "canRun": 1,
+ "kRun": 2,
+ "kJump": 6,
+ "checkJump": 1,
+ "kJumpPressed": 11,
+ "checkJumpPressed": 1,
+ "kJumpReleased": 5,
+ "checkJumpReleased": 1,
+ "cantJump": 3,
+ "global.isTunnelMan": 1,
+ "sTunnelAttackL": 1,
+ "holdItem": 1,
+ "kAttack": 2,
+ "checkAttack": 2,
+ "kAttackPressed": 2,
+ "checkAttackPressed": 1,
+ "kAttackReleased": 2,
+ "checkAttackReleased": 1,
+ "kItemPressed": 2,
+ "checkItemPressed": 1,
+ "xPrev": 1,
+ "yPrev": 1,
+ "stunned": 3,
+ "dead": 3,
+ "//////////////////////////////////////////": 2,
+ "colSolidLeft": 4,
+ "colSolidRight": 3,
+ "colLeft": 6,
+ "colRight": 6,
+ "colTop": 4,
+ "colBot": 11,
+ "colLadder": 3,
+ "colPlatBot": 6,
+ "colPlat": 5,
+ "colWaterTop": 3,
+ "colIceBot": 2,
+ "runKey": 4,
+ "isCollisionMoveableSolidLeft": 1,
+ "isCollisionMoveableSolidRight": 1,
+ "isCollisionLeft": 2,
+ "isCollisionRight": 2,
+ "isCollisionTop": 1,
+ "isCollisionBottom": 1,
+ "isCollisionLadder": 1,
+ "isCollisionPlatformBottom": 1,
+ "isCollisionPlatform": 1,
+ "isCollisionWaterTop": 1,
+ "collision_point": 30,
+ "oIce": 1,
+ "checkRun": 1,
+ "runHeld": 3,
+ "HANGING": 10,
+ "approximatelyZero": 4,
+ "xVel": 24,
+ "xAcc": 12,
+ "platformCharacterIs": 23,
+ "ON_GROUND": 18,
+ "DUCKING": 4,
+ "pushTimer": 3,
+ "//if": 5,
+ "SS_IsSoundPlaying": 2,
+ "global.sndPush": 4,
+ "playSound": 3,
+ "runAcc": 2,
+ "abs": 9,
+ "alarm": 13,
+ "[": 99,
+ "]": 103,
+ "<": 39,
+ "floor": 11,
+ "/": 5,
+ "/xVel": 1,
+ "instance_exists": 8,
+ "oCape": 2,
+ "oCape.open": 6,
+ "kJumped": 7,
+ "ladderTimer": 4,
+ "ladder": 5,
+ "oLadder": 4,
+ "ladder.x": 3,
+ "oLadderTop": 2,
+ "yAcc": 26,
+ "climbAcc": 2,
+ "FALLING": 8,
+ "STANDING": 2,
+ "departLadderXVel": 2,
+ "departLadderYVel": 1,
+ "JUMPING": 6,
+ "jumpButtonReleased": 7,
+ "jumpTime": 8,
+ "IN_AIR": 5,
+ "gravityIntensity": 2,
+ "yVel": 20,
+ "RUNNING": 3,
+ "jumps": 3,
+ "//playSound": 1,
+ "global.sndLand": 1,
+ "grav": 22,
+ "global.hasGloves": 3,
+ "hangCount": 14,
+ "*": 18,
+ "yVel*0.3": 1,
+ "oWeb": 2,
+ "obj": 14,
+ "instance_place": 3,
+ "obj.life": 1,
+ "initialJumpAcc": 6,
+ "xVel/2": 3,
+ "gravNorm": 7,
+ "global.hasCape": 1,
+ "jetpackFuel": 2,
+ "fallTimer": 2,
+ "global.hasJordans": 1,
+ "yAccLimit": 2,
+ "global.hasSpringShoes": 1,
+ "global.sndJump": 1,
+ "jumpTimeTotal": 2,
+ "//let": 1,
+ "character": 20,
+ "continue": 4,
+ "to": 62,
+ "jump": 1,
+ "jumpTime/jumpTimeTotal": 1,
+ "looking": 2,
+ "UP": 1,
+ "LOOKING_UP": 4,
+ "oSolid": 14,
+ "move_snap": 6,
+ "oTree": 4,
+ "oArrow": 5,
+ "instance_nearest": 1,
+ "obj.stuck": 1,
+ "//the": 2,
+ "can": 1,
+ "t": 23,
+ "want": 1,
+ "use": 4,
+ "because": 2,
+ "is": 9,
+ "too": 2,
+ "high": 1,
+ "yPrevHigh": 1,
+ "//": 11,
+ "we": 5,
+ "ll": 1,
+ "move": 2,
+ "correct": 1,
+ "distance": 1,
+ "but": 2,
+ "need": 1,
+ "shorten": 1,
+ "out": 4,
+ "a": 55,
+ "little": 1,
+ "ratio": 1,
+ "xVelInteger": 2,
+ "/dist*0.9": 1,
+ "//can": 1,
+ "be": 4,
+ "changed": 1,
+ "moveTo": 2,
+ "round": 6,
+ "xVelInteger*ratio": 1,
+ "yVelInteger*ratio": 1,
+ "slopeChangeInY": 1,
+ "maxDownSlope": 1,
+ "floating": 1,
+ "just": 1,
+ "above": 1,
+ "slope": 1,
+ "so": 2,
+ "down": 1,
+ "upYPrev": 1,
+ "for": 26,
+ "<=upYPrev+maxDownSlope;y+=1)>": 1,
+ "hit": 1,
+ "solid": 1,
+ "below": 1,
+ "upYPrev=": 1,
+ "I": 1,
+ "know": 1,
+ "that": 2,
+ "this": 2,
+ "doesn": 1,
+ "seem": 1,
+ "make": 1,
+ "sense": 1,
+ "of": 25,
+ "name": 9,
+ "variable": 1,
+ "it": 6,
+ "all": 3,
+ "works": 1,
+ "correctly": 1,
+ "after": 1,
+ "break": 58,
+ "loop": 1,
+ "y=": 1,
+ "figures": 1,
+ "what": 1,
+ "index": 11,
+ "should": 25,
+ "characterSprite": 1,
+ "sets": 1,
+ "previous": 2,
+ "previously": 1,
+ "statePrevPrev": 1,
+ "statePrev": 2,
+ "calculates": 1,
+ "image_speed": 9,
+ "based": 1,
+ "on": 4,
+ "s": 6,
+ "velocity": 1,
+ "runAnimSpeed": 1,
+ "0": 21,
+ "1": 32,
+ "sqrt": 1,
+ "sqr": 2,
+ "climbAnimSpeed": 1,
+ "<=>": 3,
+ "4": 2,
+ "setCollisionBounds": 3,
+ "8": 9,
+ "5": 5,
+ "DUCKTOHANG": 1,
+ "image_index": 1,
+ "limit": 5,
+ "at": 23,
+ "animation": 1,
+ "always": 1,
+ "looks": 1,
+ "good": 1,
+ "var": 79,
+ "i": 95,
+ "playerObject": 1,
+ "playerID": 1,
+ "player": 36,
+ "otherPlayerID": 1,
+ "otherPlayer": 1,
+ "sameVersion": 1,
+ "buffer": 1,
+ "plugins": 4,
+ "pluginsRequired": 2,
+ "usePlugins": 1,
+ "tcp_eof": 3,
+ "global.serverSocket": 10,
+ "gotServerHello": 2,
+ "show_message": 7,
+ "instance_destroy": 7,
+ "exit": 10,
+ "room": 1,
+ "DownloadRoom": 1,
+ "keyboard_check": 1,
+ "vk_escape": 1,
+ "downloadingMap": 2,
+ "while": 15,
+ "tcp_receive": 3,
+ "min": 4,
+ "downloadMapBytes": 2,
+ "buffer_size": 2,
+ "downloadMapBuffer": 6,
+ "write_buffer": 2,
+ "write_buffer_to_file": 1,
+ "downloadMapName": 3,
+ "buffer_destroy": 8,
+ "roomchange": 2,
+ "do": 1,
+ "switch": 9,
+ "read_ubyte": 10,
+ "case": 50,
+ "HELLO": 1,
+ "global.joinedServerName": 2,
+ "receivestring": 4,
+ "advertisedMapMd5": 1,
+ "receiveCompleteMessage": 1,
+ "global.tempBuffer": 3,
+ "string_pos": 20,
+ "Server": 3,
+ "sent": 7,
+ "illegal": 2,
+ "map": 47,
+ "This": 2,
+ "server": 10,
+ "requires": 1,
+ "following": 2,
+ "play": 2,
+ "#": 3,
+ "suggests": 1,
+ "optional": 1,
+ "Error": 2,
+ "ocurred": 1,
+ "loading": 1,
+ "plugins.": 1,
+ "Maps/": 2,
+ ".png": 2,
+ "The": 6,
+ "version": 4,
+ "Enter": 1,
+ "Password": 1,
+ "Incorrect": 1,
+ "Password.": 1,
+ "Incompatible": 1,
+ "protocol": 3,
+ "version.": 1,
+ "Name": 1,
+ "Exploit": 1,
+ "Invalid": 2,
+ "plugin": 6,
+ "packet": 3,
+ "ID": 2,
+ "There": 1,
+ "are": 1,
+ "many": 1,
+ "connections": 1,
+ "from": 5,
+ "your": 1,
+ "IP": 1,
+ "You": 1,
+ "have": 2,
+ "been": 1,
+ "kicked": 1,
+ "server.": 1,
+ ".": 12,
+ "#Server": 1,
+ "went": 1,
+ "invalid": 1,
+ "internal": 1,
+ "#Exiting.": 1,
+ "full.": 1,
+ "noone": 7,
+ "ERROR": 1,
+ "when": 1,
+ "reading": 1,
+ "no": 1,
+ "such": 1,
+ "unexpected": 1,
+ "data.": 1,
+ "until": 1,
+ "downloadHandle": 3,
+ "url": 62,
+ "tmpfile": 3,
+ "window_oldshowborder": 2,
+ "window_oldfullscreen": 2,
+ "timeLeft": 1,
+ "counter": 1,
+ "AudioControlPlaySong": 1,
+ "window_get_showborder": 1,
+ "window_get_fullscreen": 1,
+ "window_set_fullscreen": 2,
+ "window_set_showborder": 1,
+ "global.updaterBetaChannel": 3,
+ "UPDATE_SOURCE_BETA": 1,
+ "UPDATE_SOURCE": 1,
+ "temp_directory": 1,
+ "httpGet": 1,
+ "httpRequestStatus": 1,
+ "download": 1,
+ "isn": 1,
+ "extract": 1,
+ "downloaded": 1,
+ "file": 2,
+ "now.": 1,
+ "extractzip": 1,
+ "working_directory": 6,
+ "execute_program": 1,
+ "game_end": 1,
+ "victim": 10,
+ "killer": 11,
+ "assistant": 16,
+ "damageSource": 18,
+ "argument0": 28,
+ "argument1": 10,
+ "argument2": 3,
+ "argument3": 1,
+ "//*************************************": 6,
+ "//*": 3,
+ "Scoring": 1,
+ "Kill": 1,
+ "log": 1,
+ "recordKillInLog": 1,
+ "victim.stats": 1,
+ "DEATHS": 1,
+ "WEAPON_KNIFE": 1,
+ "||": 16,
+ "WEAPON_BACKSTAB": 1,
+ "killer.stats": 8,
+ "STABS": 2,
+ "killer.roundStats": 8,
+ "POINTS": 10,
+ "victim.object.currentWeapon.object_index": 1,
+ "Medigun": 2,
+ "victim.object.currentWeapon.uberReady": 1,
+ "BONUS": 2,
+ "KILLS": 2,
+ "victim.object.intel": 1,
+ "DEFENSES": 2,
+ "recordEventInLog": 1,
+ "killer.team": 1,
+ "killer.name": 2,
+ "global.myself": 4,
+ "assistant.stats": 2,
+ "ASSISTS": 2,
+ "assistant.roundStats": 2,
+ ".5": 2,
+ "//SPEC": 1,
+ "instance_create": 20,
+ "victim.object.x": 3,
+ "victim.object.y": 3,
+ "Spectator": 1,
+ "Gibbing": 2,
+ "xoffset": 5,
+ "yoffset": 5,
+ "xsize": 3,
+ "ysize": 3,
+ "view_xview": 3,
+ "view_yview": 3,
+ "view_wview": 2,
+ "view_hview": 2,
+ "randomize": 1,
+ "with": 47,
+ "victim.object": 2,
+ "WEAPON_ROCKETLAUNCHER": 1,
+ "WEAPON_MINEGUN": 1,
+ "FRAG_BOX": 2,
+ "WEAPON_REFLECTED_STICKY": 1,
+ "WEAPON_REFLECTED_ROCKET": 1,
+ "FINISHED_OFF_GIB": 2,
+ "GENERATOR_EXPLOSION": 2,
+ "player.class": 15,
+ "CLASS_QUOTE": 3,
+ "global.gibLevel": 14,
+ "distance_to_point": 3,
+ "xsize/2": 2,
+ "ysize/2": 2,
+ "hasReward": 4,
+ "repeat": 7,
+ "createGib": 14,
+ "PumpkinGib": 1,
+ "hspeed": 14,
+ "vspeed": 13,
+ "random": 21,
+ "choose": 8,
+ "Gib": 1,
+ "player.team": 8,
+ "TEAM_BLUE": 6,
+ "BlueClump": 1,
+ "TEAM_RED": 8,
+ "RedClump": 1,
+ "blood": 2,
+ "BloodDrop": 1,
+ "blood.hspeed": 1,
+ "blood.vspeed": 1,
+ "blood.sprite_index": 1,
+ "PumpkinJuiceS": 1,
+ "//All": 1,
+ "Classes": 1,
+ "gib": 1,
+ "head": 1,
+ "hands": 2,
+ "feet": 1,
+ "Headgib": 1,
+ "//Medic": 1,
+ "has": 2,
+ "specially": 1,
+ "colored": 1,
+ "CLASS_MEDIC": 2,
+ "Hand": 3,
+ "Feet": 1,
+ "//Class": 1,
+ "specific": 1,
+ "gibs": 1,
+ "CLASS_PYRO": 2,
+ "Accesory": 5,
+ "CLASS_SOLDIER": 2,
+ "CLASS_ENGINEER": 3,
+ "CLASS_SNIPER": 3,
+ "playsound": 2,
+ "deadbody": 2,
+ "DeathSnd1": 1,
+ "DeathSnd2": 1,
+ "DeadGuy": 1,
+ "deadbody.sprite_index": 2,
+ "haxxyStatue": 1,
+ "deadbody.image_index": 2,
+ "CHARACTER_ANIMATION_DEAD": 1,
+ "deadbody.hspeed": 1,
+ "deadbody.vspeed": 1,
+ "deadbody.image_xscale": 1,
+ "global.gg_birthday": 1,
+ "myHat": 2,
+ "PartyHat": 1,
+ "myHat.image_index": 2,
+ "victim.team": 2,
+ "global.xmas": 1,
+ "XmasHat": 1,
+ "Deathcam": 1,
+ "global.killCam": 3,
+ "KILL_BOX": 1,
+ "FINISHED_OFF": 5,
+ "DeathCam": 1,
+ "DeathCam.killedby": 1,
+ "DeathCam.name": 1,
+ "DeathCam.oldxview": 1,
+ "DeathCam.oldyview": 1,
+ "DeathCam.lastDamageSource": 1,
+ "DeathCam.team": 1,
+ "global.myself.team": 3,
+ "xr": 19,
+ "yr": 19,
+ "cloakAlpha": 1,
+ "team": 13,
+ "canCloak": 1,
+ "cloakAlpha/2": 1,
+ "invisible": 1,
+ "stabbing": 2,
+ "power": 1,
+ "currentWeapon.stab.alpha": 1,
+ "&&": 6,
+ "global.showHealthBar": 3,
+ "draw_set_alpha": 3,
+ "draw_healthbar": 1,
+ "hp*100/maxHp": 1,
+ "c_black": 1,
+ "c_red": 3,
+ "c_green": 1,
+ "mouse_x": 1,
+ "mouse_y": 1,
+ "<25)>": 1,
+ "cloak": 2,
+ "global": 8,
+ "myself": 2,
+ "draw_set_halign": 1,
+ "fa_center": 1,
+ "draw_set_valign": 1,
+ "fa_bottom": 1,
+ "team=": 1,
+ "draw_set_color": 2,
+ "c_blue": 2,
+ "draw_text": 4,
+ "35": 1,
+ "showTeammateStats": 1,
+ "weapons": 3,
+ "50": 3,
+ "Superburst": 1,
+ "string": 13,
+ "currentWeapon": 2,
+ "uberCharge": 1,
+ "20": 1,
+ "Shotgun": 1,
+ "Nuts": 1,
+ "N": 1,
+ "Bolts": 1,
+ "nutsNBolts": 1,
+ "Minegun": 1,
+ "Lobbed": 1,
+ "Mines": 1,
+ "lobbed": 1,
+ "ubercolour": 6,
+ "overlaySprite": 6,
+ "zoomed": 1,
+ "SniperCrouchRedS": 1,
+ "SniperCrouchBlueS": 1,
+ "sniperCrouchOverlay": 1,
+ "overlay": 1,
+ "omnomnomnom": 2,
+ "draw_sprite_ext_overlay": 7,
+ "omnomnomnomSprite": 2,
+ "omnomnomnomOverlay": 2,
+ "omnomnomnomindex": 4,
+ "c_white": 13,
+ "ubered": 7,
+ "7": 4,
+ "taunting": 2,
+ "tauntsprite": 2,
+ "tauntOverlay": 2,
+ "tauntindex": 2,
+ "humiliated": 1,
+ "humiliationPoses": 1,
+ "animationImage": 9,
+ "humiliationOffset": 1,
+ "animationOffset": 6,
+ "burnDuration": 2,
+ "burnIntensity": 2,
+ "numFlames": 1,
+ "maxIntensity": 1,
+ "FlameS": 1,
+ "flameArray_x": 1,
+ "flameArray_y": 1,
+ "maxDuration": 1,
+ "demon": 4,
+ "demonX": 5,
+ "median": 2,
+ "demonY": 4,
+ "demonOffset": 4,
+ "demonDir": 2,
+ "dir": 3,
+ "demonFrame": 5,
+ "sprite_get_number": 1,
+ "*player.team": 2,
+ "dir*1": 2,
+ "#define": 26,
+ "__http_init": 3,
+ "global.__HttpClient": 4,
+ "object_add": 1,
+ "object_set_persistent": 1,
+ "__http_split": 3,
+ "text": 19,
+ "delimeter": 7,
+ "list": 36,
+ "count": 4,
+ "ds_list_create": 5,
+ "ds_list_add": 23,
+ "string_copy": 32,
+ "string_length": 25,
+ "return": 56,
+ "__http_parse_url": 4,
+ "ds_map_create": 4,
+ "ds_map_add": 15,
+ "colonPos": 22,
+ "string_char_at": 13,
+ "slashPos": 13,
+ "real": 14,
+ "queryPos": 12,
+ "ds_map_destroy": 6,
+ "__http_resolve_url": 2,
+ "baseUrl": 3,
+ "refUrl": 18,
+ "urlParts": 15,
+ "refUrlParts": 5,
+ "canParseRefUrl": 3,
+ "result": 11,
+ "ds_map_find_value": 22,
+ "__http_resolve_path": 3,
+ "ds_map_replace": 3,
+ "ds_map_exists": 11,
+ "ds_map_delete": 1,
+ "path": 10,
+ "query": 4,
+ "relUrl": 1,
+ "__http_construct_url": 2,
+ "basePath": 4,
+ "refPath": 7,
+ "parts": 29,
+ "refParts": 5,
+ "lastPart": 3,
+ "ds_list_find_value": 9,
+ "ds_list_size": 11,
+ "ds_list_delete": 5,
+ "ds_list_destroy": 4,
+ "part": 6,
+ "ds_list_replace": 3,
+ "__http_parse_hex": 2,
+ "hexString": 4,
+ "hexValues": 3,
+ "digit": 4,
+ "__http_prepare_request": 4,
+ "client": 33,
+ "headers": 11,
+ "parsed": 18,
+ "show_error": 2,
+ "destroyed": 3,
+ "CR": 10,
+ "chr": 3,
+ "LF": 5,
+ "CRLF": 17,
+ "socket": 40,
+ "tcp_connect": 1,
+ "errored": 19,
+ "error": 18,
+ "linebuf": 33,
+ "line": 19,
+ "statusCode": 6,
+ "reasonPhrase": 2,
+ "responseBody": 19,
+ "buffer_create": 7,
+ "responseBodySize": 5,
+ "responseBodyProgress": 5,
+ "responseHeaders": 9,
+ "requestUrl": 2,
+ "requestHeaders": 2,
+ "write_string": 9,
+ "key": 17,
+ "ds_map_find_first": 1,
+ "is_string": 2,
+ "ds_map_find_next": 1,
+ "socket_send": 1,
+ "__http_parse_header": 3,
+ "ord": 16,
+ "headerValue": 9,
+ "string_lower": 3,
+ "headerName": 4,
+ "__http_client_step": 2,
+ "socket_has_error": 1,
+ "socket_error": 1,
+ "__http_client_destroy": 20,
+ "available": 7,
+ "tcp_receive_available": 1,
+ "bytesRead": 6,
+ "c": 20,
+ "read_string": 9,
+ "Reached": 2,
+ "end": 11,
+ "HTTP": 1,
+ "defines": 1,
+ "sequence": 2,
+ "as": 1,
+ "marker": 1,
+ "elements": 1,
+ "except": 2,
+ "entity": 1,
+ "body": 2,
+ "see": 1,
+ "appendix": 1,
+ "19": 1,
+ "3": 1,
+ "tolerant": 1,
+ "applications": 1,
+ "Strip": 1,
+ "trailing": 1,
+ "First": 1,
+ "status": 2,
+ "code": 2,
+ "first": 3,
+ "Response": 1,
+ "message": 1,
+ "Status": 1,
+ "Line": 1,
+ "consisting": 1,
+ "followed": 1,
+ "by": 5,
+ "numeric": 1,
+ "its": 1,
+ "associated": 1,
+ "textual": 1,
+ "phrase": 1,
+ "each": 18,
+ "element": 8,
+ "separated": 1,
+ "SP": 1,
+ "characters": 3,
+ "No": 3,
+ "allowed": 1,
+ "in": 21,
+ "final": 1,
+ "httpVer": 2,
+ "spacePos": 11,
+ "space": 4,
+ "response": 5,
+ "second": 2,
+ "Other": 1,
+ "Blank": 1,
+ "write": 1,
+ "remainder": 1,
+ "write_buffer_part": 3,
+ "Header": 1,
+ "Receiving": 1,
+ "transfer": 6,
+ "encoding": 2,
+ "chunked": 4,
+ "Chunked": 1,
+ "let": 1,
+ "decode": 36,
+ "actualResponseBody": 8,
+ "actualResponseSize": 1,
+ "actualResponseBodySize": 3,
+ "Parse": 1,
+ "chunks": 1,
+ "chunk": 12,
+ "size": 7,
+ "extension": 3,
+ "data": 4,
+ "HEX": 1,
+ "buffer_bytes_left": 6,
+ "chunkSize": 11,
+ "Read": 1,
+ "byte": 2,
+ "We": 1,
+ "found": 21,
+ "semicolon": 1,
+ "beginning": 1,
+ "skip": 1,
+ "stuff": 2,
+ "header": 2,
+ "Doesn": 1,
+ "did": 1,
+ "empty": 13,
+ "something": 1,
+ "up": 6,
+ "Parsing": 1,
+ "failed": 56,
+ "hex": 2,
+ "was": 1,
+ "hexadecimal": 1,
+ "Is": 1,
+ "bigger": 2,
+ "than": 1,
+ "remaining": 1,
+ "2": 2,
+ "responseHaders": 1,
+ "location": 4,
+ "resolved": 5,
+ "socket_destroy": 4,
+ "http_new_get": 1,
+ "variable_global_exists": 2,
+ "http_new_get_ex": 1,
+ "http_step": 1,
+ "client.errored": 3,
+ "client.state": 3,
+ "http_status_code": 1,
+ "client.statusCode": 1,
+ "http_reason_phrase": 1,
+ "client.error": 1,
+ "client.reasonPhrase": 1,
+ "http_response_body": 1,
+ "client.responseBody": 1,
+ "http_response_body_size": 1,
+ "client.responseBodySize": 1,
+ "http_response_body_progress": 1,
+ "client.responseBodyProgress": 1,
+ "http_response_headers": 1,
+ "client.responseHeaders": 1,
+ "http_destroy": 1,
+ "RoomChangeObserver": 1,
+ "set_little_endian_global": 1,
+ "file_exists": 5,
+ "file_delete": 3,
+ "backupFilename": 5,
+ "file_find_first": 1,
+ "file_find_next": 1,
+ "file_find_close": 1,
+ "customMapRotationFile": 7,
+ "restart": 4,
+ "//import": 1,
+ "wav": 1,
+ "files": 1,
+ "music": 1,
+ "global.MenuMusic": 3,
+ "sound_add": 3,
+ "global.IngameMusic": 3,
+ "global.FaucetMusic": 3,
+ "sound_volume": 3,
+ "global.sendBuffer": 19,
+ "global.HudCheck": 1,
+ "global.map_rotation": 19,
+ "global.CustomMapCollisionSprite": 1,
+ "window_set_region_scale": 1,
+ "ini_open": 2,
+ "global.playerName": 7,
+ "ini_read_string": 12,
+ "string_count": 2,
+ "MAX_PLAYERNAME_LENGTH": 2,
+ "global.fullscreen": 3,
+ "ini_read_real": 65,
+ "global.useLobbyServer": 2,
+ "global.hostingPort": 2,
+ "global.music": 2,
+ "MUSIC_BOTH": 1,
+ "global.playerLimit": 4,
+ "//thy": 1,
+ "playerlimit": 1,
+ "shalt": 1,
+ "exceed": 1,
+ "global.dedicatedMode": 7,
+ "ini_write_real": 60,
+ "global.multiClientLimit": 2,
+ "global.particles": 2,
+ "PARTICLES_NORMAL": 1,
+ "global.monitorSync": 3,
+ "set_synchronization": 2,
+ "global.medicRadar": 2,
+ "global.showHealer": 2,
+ "global.showHealing": 2,
+ "global.showTeammateStats": 2,
+ "global.serverPluginsPrompt": 2,
+ "global.restartPrompt": 2,
+ "//user": 1,
+ "HUD": 1,
+ "settings": 1,
+ "global.timerPos": 2,
+ "global.killLogPos": 2,
+ "global.kothHudPos": 2,
+ "global.clientPassword": 1,
+ "global.shuffleRotation": 2,
+ "global.timeLimitMins": 2,
+ "max": 2,
+ "global.serverPassword": 2,
+ "global.mapRotationFile": 1,
+ "global.serverName": 2,
+ "global.welcomeMessage": 2,
+ "global.caplimit": 3,
+ "global.caplimitBkup": 1,
+ "global.autobalance": 2,
+ "global.Server_RespawntimeSec": 4,
+ "global.rewardKey": 1,
+ "unhex": 1,
+ "global.rewardId": 1,
+ "global.mapdownloadLimitBps": 2,
+ "isBetaVersion": 1,
+ "global.attemptPortForward": 2,
+ "global.serverPluginList": 3,
+ "global.serverPluginsRequired": 2,
+ "CrosshairFilename": 5,
+ "CrosshairRemoveBG": 4,
+ "global.queueJumping": 2,
+ "global.backgroundHash": 2,
+ "global.backgroundTitle": 2,
+ "global.backgroundURL": 2,
+ "global.backgroundShowVersion": 2,
+ "readClasslimitsFromIni": 1,
+ "global.currentMapArea": 1,
+ "global.totalMapAreas": 1,
+ "global.setupTimer": 1,
+ "global.serverPluginsInUse": 1,
+ "global.pluginPacketBuffers": 1,
+ "global.pluginPacketPlayers": 1,
+ "ini_write_string": 10,
+ "ini_key_delete": 1,
+ "global.classlimits": 10,
+ "CLASS_SCOUT": 1,
+ "CLASS_HEAVY": 2,
+ "CLASS_DEMOMAN": 1,
+ "CLASS_SPY": 1,
+ "//screw": 1,
+ "will": 1,
+ "start": 1,
+ "//map_truefort": 1,
+ "maps": 37,
+ "//map_2dfort": 1,
+ "//map_conflict": 1,
+ "//map_classicwell": 1,
+ "//map_waterway": 1,
+ "//map_orange": 1,
+ "//map_dirtbowl": 1,
+ "//map_egypt": 1,
+ "//arena_montane": 1,
+ "//arena_lumberyard": 1,
+ "//gen_destroy": 1,
+ "//koth_valley": 1,
+ "//koth_corinth": 1,
+ "//koth_harvest": 1,
+ "//dkoth_atalia": 1,
+ "//dkoth_sixties": 1,
+ "//Server": 1,
+ "respawn": 1,
+ "time": 1,
+ "calculator.": 1,
+ "Converts": 1,
+ "frame.": 1,
+ "read": 1,
+ "multiply": 1,
+ "hehe": 1,
+ "global.Server_Respawntime": 3,
+ "global.mapchanging": 1,
+ "ini_close": 2,
+ "global.protocolUuid": 2,
+ "parseUuid": 2,
+ "PROTOCOL_UUID": 1,
+ "global.gg2lobbyId": 2,
+ "GG2_LOBBY_UUID": 1,
+ "initRewards": 1,
+ "IPRaw": 3,
+ "portRaw": 3,
+ "doubleCheck": 8,
+ "global.launchMap": 5,
+ "parameter_count": 1,
+ "parameter_string": 8,
+ "global.serverPort": 1,
+ "global.serverIP": 1,
+ "global.isHost": 1,
+ "Client": 1,
+ "global.customMapdesginated": 2,
+ "fileHandle": 6,
+ "mapname": 9,
+ "file_text_open_read": 1,
+ "file_text_eof": 1,
+ "file_text_read_string": 1,
+ "starts": 1,
+ "tab": 2,
+ "string_delete": 1,
+ "delete": 1,
+ "comment": 1,
+ "starting": 1,
+ "file_text_readln": 1,
+ "file_text_close": 1,
+ "load": 1,
+ "ini": 1,
+ "Maps": 9,
+ "section": 1,
+ "//Set": 1,
+ "rotation": 1,
+ "sort_list": 7,
+ "*maps": 1,
+ "ds_list_sort": 1,
+ "mod": 1,
+ "global.gg2Font": 2,
+ "font_add_sprite": 2,
+ "gg2FontS": 1,
+ "global.countFont": 1,
+ "countFontS": 1,
+ "draw_set_font": 1,
+ "cursor_sprite": 1,
+ "CrosshairS": 5,
+ "directory_exists": 2,
+ "directory_create": 2,
+ "AudioControl": 1,
+ "SSControl": 1,
+ "message_background": 1,
+ "popupBackgroundB": 1,
+ "message_button": 1,
+ "popupButtonS": 1,
+ "message_text_font": 1,
+ "message_button_font": 1,
+ "message_input_font": 1,
+ "//Key": 1,
+ "Mapping": 1,
+ "global.jump": 1,
+ "global.down": 1,
+ "global.left": 1,
+ "global.right": 1,
+ "global.attack": 1,
+ "MOUSE_LEFT": 1,
+ "global.special": 1,
+ "MOUSE_RIGHT": 1,
+ "global.taunt": 1,
+ "global.chat1": 1,
+ "global.chat2": 1,
+ "global.chat3": 1,
+ "global.medic": 1,
+ "global.drop": 1,
+ "global.changeTeam": 1,
+ "global.changeClass": 1,
+ "global.showScores": 1,
+ "vk_shift": 1,
+ "calculateMonthAndDay": 1,
+ "loadplugins": 1,
+ "registry_set_root": 1,
+ "HKLM": 1,
+ "global.NTKernelVersion": 1,
+ "registry_read_string_ext": 1,
+ "CurrentVersion": 1,
+ "SIC": 1,
+ "sprite_replace": 1,
+ "sprite_set_offset": 1,
+ "sprite_get_width": 1,
+ "/2": 2,
+ "sprite_get_height": 1,
+ "AudioControlToggleMute": 1,
+ "room_goto_fix": 2,
+ "Menu": 2,
+ "__jso_gmt_tuple": 1,
+ "//Position": 1,
+ "address": 1,
+ "table": 1,
+ "pos": 2,
+ "addr_table": 2,
+ "*argument_count": 1,
+ "//Build": 1,
+ "tuple": 1,
+ "ca": 1,
+ "isstr": 1,
+ "datastr": 1,
+ "argument_count": 1,
+ "//Check": 1,
+ "argument": 10,
+ "Unexpected": 18,
+ "position": 16,
+ "f": 5,
+ "JSON": 5,
+ "string.": 5,
+ "Cannot": 5,
+ "parse": 3,
+ "boolean": 3,
+ "value": 13,
+ "expecting": 9,
+ "digit.": 9,
+ "e": 4,
+ "E": 4,
+ "dot": 1,
+ "an": 24,
+ "integer": 6,
+ "Expected": 6,
+ "least": 6,
+ "arguments": 26,
+ "got": 6,
+ "find": 10,
+ "lookup.": 4,
+ "indices": 1,
+ "nested": 27,
+ "lists": 6,
+ "Index": 1,
+ "overflow": 4,
+ "Recursive": 1,
+ "abcdef": 1,
+ "number": 7,
+ "num": 1,
+ "assert_true": 1,
+ "_assert_error_popup": 2,
+ "string_repeat": 2,
+ "_assert_newline": 2,
+ "assert_false": 1,
+ "assert_equal": 1,
+ "//Safe": 1,
+ "equality": 1,
+ "check": 1,
+ "won": 1,
+ "support": 1,
+ "instead": 1,
+ "_assert_debug_value": 1,
+ "//String": 1,
+ "os_browser": 1,
+ "browser_not_a_browser": 1,
+ "string_replace_all": 1,
+ "//Numeric": 1,
+ "GMTuple": 1,
+ "jso_encode_string": 1,
+ "encode": 8,
+ "escape": 2,
+ "jso_encode_map": 4,
+ "one": 42,
+ "key1": 3,
+ "key2": 3,
+ "multi": 7,
+ "jso_encode_list": 3,
+ "three": 36,
+ "_jso_decode_string": 5,
+ "small": 1,
+ "quick": 2,
+ "brown": 2,
+ "fox": 2,
+ "over": 2,
+ "lazy": 2,
+ "dog.": 2,
+ "simple": 1,
+ "Waahoo": 1,
+ "negg": 1,
+ "mixed": 1,
+ "_jso_decode_boolean": 2,
+ "_jso_decode_real": 11,
+ "standard": 1,
+ "zero": 4,
+ "signed": 2,
+ "decimal": 1,
+ "digits": 1,
+ "positive": 7,
+ "negative": 7,
+ "exponent": 4,
+ "_jso_decode_integer": 3,
+ "_jso_decode_map": 14,
+ "didn": 14,
+ "include": 14,
+ "right": 14,
+ "prefix": 14,
+ "#1": 14,
+ "#2": 14,
+ "entry": 29,
+ "pi": 2,
+ "bool": 2,
+ "waahoo": 10,
+ "woohah": 8,
+ "mix": 4,
+ "_jso_decode_list": 14,
+ "woo": 2,
+ "Empty": 4,
+ "equal": 20,
+ "other.": 12,
+ "junk": 2,
+ "info": 1,
+ "taxi": 1,
+ "An": 4,
+ "filled": 4,
+ "map.": 2,
+ "A": 24,
+ "B": 18,
+ "C": 8,
+ "same": 6,
+ "content": 4,
+ "entered": 4,
+ "different": 12,
+ "orders": 4,
+ "D": 1,
+ "keys": 2,
+ "values": 4,
+ "six": 1,
+ "corresponding": 4,
+ "types": 4,
+ "other": 4,
+ "crash.": 4,
+ "list.": 2,
+ "Lists": 4,
+ "two": 16,
+ "entries": 2,
+ "also": 2,
+ "jso_map_check": 9,
+ "existing": 9,
+ "single": 11,
+ "jso_map_lookup": 3,
+ "wrong": 10,
+ "trap": 2,
+ "jso_map_lookup_type": 3,
+ "type": 8,
+ "four": 21,
+ "inexistent": 11,
+ "multiple": 20,
+ "jso_list_check": 8,
+ "jso_list_lookup": 3,
+ "jso_list_lookup_type": 3,
+ "inner": 1,
+ "indexing": 1,
+ "bad": 1,
+ "jso_cleanup_map": 1,
+ "one_map": 1,
+ "hashList": 5,
+ "pluginname": 9,
+ "pluginhash": 4,
+ "realhash": 1,
+ "handle": 1,
+ "filesize": 1,
+ "progress": 1,
+ "tempfile": 1,
+ "tempdir": 1,
+ "lastContact": 2,
+ "isCached": 2,
+ "isDebug": 2,
+ "split": 1,
+ "checkpluginname": 1,
+ "ds_list_find_index": 1,
+ ".zip": 3,
+ "ServerPluginsCache": 6,
+ "@": 5,
+ ".zip.tmp": 1,
+ ".tmp": 2,
+ "ServerPluginsDebug": 1,
+ "Warning": 2,
+ "being": 2,
+ "loaded": 2,
+ "ServerPluginsDebug.": 2,
+ "Make": 2,
+ "sure": 2,
+ "clients": 1,
+ "they": 1,
+ "may": 2,
+ "unable": 2,
+ "connect.": 2,
+ "you": 1,
+ "Downloading": 1,
+ "last_plugin.log": 2,
+ "plugin.gml": 1,
+ "playerId": 11,
+ "commandLimitRemaining": 4,
+ "variable_local_exists": 4,
+ "commandReceiveState": 1,
+ "commandReceiveExpectedBytes": 1,
+ "commandReceiveCommand": 1,
+ "player.socket": 12,
+ "player.commandReceiveExpectedBytes": 7,
+ "player.commandReceiveState": 7,
+ "player.commandReceiveCommand": 4,
+ "commandBytes": 2,
+ "commandBytesInvalidCommand": 1,
+ "commandBytesPrefixLength1": 1,
+ "commandBytesPrefixLength2": 1,
+ "default": 1,
+ "read_ushort": 2,
+ "PLAYER_LEAVE": 1,
+ "PLAYER_CHANGECLASS": 1,
+ "class": 8,
+ "getCharacterObject": 2,
+ "player.object": 12,
+ "SpawnRoom": 2,
+ "lastDamageDealer": 8,
+ "sendEventPlayerDeath": 4,
+ "BID_FAREWELL": 4,
+ "doEventPlayerDeath": 4,
+ "secondToLastDamageDealer": 2,
+ "lastDamageDealer.object": 2,
+ "lastDamageDealer.object.healer": 4,
+ "player.alarm": 4,
+ "<=0)>": 1,
+ "checkClasslimits": 2,
+ "ServerPlayerChangeclass": 2,
+ "sendBuffer": 1,
+ "PLAYER_CHANGETEAM": 1,
+ "newTeam": 7,
+ "balance": 5,
+ "redSuperiority": 6,
+ "calculate": 1,
+ "which": 1,
+ "Player": 1,
+ "TEAM_SPECTATOR": 1,
+ "newClass": 4,
+ "ServerPlayerChangeteam": 1,
+ "ServerBalanceTeams": 1,
+ "CHAT_BUBBLE": 2,
+ "bubbleImage": 5,
+ "global.aFirst": 1,
+ "write_ubyte": 20,
+ "setChatBubble": 1,
+ "BUILD_SENTRY": 2,
+ "collision_circle": 1,
+ "player.object.x": 3,
+ "player.object.y": 3,
+ "Sentry": 1,
+ "player.object.nutsNBolts": 1,
+ "player.sentry": 2,
+ "player.object.onCabinet": 1,
+ "write_ushort": 2,
+ "global.serializeBuffer": 3,
+ "player.object.x*5": 1,
+ "player.object.y*5": 1,
+ "write_byte": 1,
+ "player.object.image_xscale": 2,
+ "buildSentry": 1,
+ "DESTROY_SENTRY": 1,
+ "DROP_INTEL": 1,
+ "player.object.intel": 1,
+ "sendEventDropIntel": 1,
+ "doEventDropIntel": 1,
+ "OMNOMNOMNOM": 2,
+ "player.humiliated": 1,
+ "player.object.taunting": 1,
+ "player.object.omnomnomnom": 1,
+ "player.object.canEat": 1,
+ "omnomnomnomend": 2,
+ "xscale": 1,
+ "TOGGLE_ZOOM": 2,
+ "toggleZoom": 1,
+ "PLAYER_CHANGENAME": 2,
+ "nameLength": 4,
+ "socket_receivebuffer_size": 3,
+ "KICK": 2,
+ "KICK_NAME": 1,
+ "current_time": 2,
+ "lastNamechange": 2,
+ "INPUTSTATE": 1,
+ "keyState": 1,
+ "netAimDirection": 1,
+ "aimDirection": 1,
+ "netAimDirection*360/65536": 1,
+ "event_user": 1,
+ "REWARD_REQUEST": 1,
+ "player.rewardId": 1,
+ "player.challenge": 2,
+ "rewardCreateChallenge": 1,
+ "REWARD_CHALLENGE_CODE": 1,
+ "write_binstring": 1,
+ "REWARD_CHALLENGE_RESPONSE": 1,
+ "answer": 3,
+ "authbuffer": 1,
+ "read_binstring": 1,
+ "rewardAuthStart": 1,
+ "challenge": 1,
+ "rewardId": 1,
+ "PLUGIN_PACKET": 1,
+ "packetID": 3,
+ "buf": 5,
+ "success": 3,
+ "_PluginPacketPush": 1,
+ "KICK_BAD_PLUGIN_PACKET": 1,
+ "CLIENT_SETTINGS": 2,
+ "mirror": 4,
+ "player.queueJump": 1,
+ "global.levelType": 22,
+ "//global.currLevel": 1,
+ "global.currLevel": 22,
+ "global.hadDarkLevel": 4,
+ "global.startRoomX": 1,
+ "global.startRoomY": 1,
+ "global.endRoomX": 1,
+ "global.endRoomY": 1,
+ "oGame.levelGen": 2,
+ "j": 14,
+ "global.roomPath": 1,
+ "k": 5,
+ "global.lake": 3,
+ "isLevel": 1,
+ "999": 2,
+ "levelType": 2,
+ "16": 14,
+ "656": 3,
+ "oDark": 2,
+ "invincible": 2,
+ "sDark": 1,
+ "oTemple": 2,
+ "cityOfGold": 1,
+ "sTemple": 2,
+ "lake": 1,
+ "i*16": 8,
+ "j*16": 6,
+ "oLush": 2,
+ "obj.sprite_index": 4,
+ "sLush": 2,
+ "obj.invincible": 3,
+ "oBrick": 1,
+ "sBrick": 1,
+ "global.cityOfGold": 2,
+ "*16": 2,
+ "//instance_create": 2,
+ "oSpikes": 1,
+ "background_index": 1,
+ "bgTemple": 1,
+ "global.temp1": 1,
+ "global.gameStart": 3,
+ "scrLevelGen": 1,
+ "global.cemetary": 3,
+ "rand": 10,
+ "global.probCemetary": 1,
+ "oRoom": 1,
+ "scrRoomGen": 1,
+ "global.blackMarket": 3,
+ "scrRoomGenMarket": 1,
+ "scrRoomGen2": 1,
+ "global.yetiLair": 2,
+ "scrRoomGenYeti": 1,
+ "scrRoomGen3": 1,
+ "scrRoomGen4": 1,
+ "scrRoomGen5": 1,
+ "global.darkLevel": 4,
+ "global.noDarkLevel": 1,
+ "global.probDarkLevel": 1,
+ "oPlayer1.x": 2,
+ "oPlayer1.y": 2,
+ "oFlare": 1,
+ "global.genUdjatEye": 4,
+ "global.madeUdjatEye": 1,
+ "global.genMarketEntrance": 4,
+ "global.madeMarketEntrance": 1,
+ "////////////////////////////": 2,
+ "global.temp2": 1,
+ "isRoom": 3,
+ "scrEntityGen": 1,
+ "oEntrance": 1,
+ "global.customLevel": 1,
+ "oEntrance.x": 1,
+ "oEntrance.y": 1,
+ "global.snakePit": 1,
+ "global.alienCraft": 1,
+ "global.sacrificePit": 1,
+ "oPlayer1": 1,
+ "scrSetupWalls": 3,
+ "global.graphicsHigh": 1,
+ "tile_add": 4,
+ "bgExtrasLush": 1,
+ "*rand": 12,
+ "bgExtrasIce": 1,
+ "bgExtrasTemple": 1,
+ "bgExtras": 1,
+ "global.murderer": 1,
+ "global.thiefLevel": 1,
+ "isRealLevel": 1,
+ "oExit": 1,
+ "oShopkeeper": 1,
+ "obj.status": 1,
+ "oTreasure": 1,
+ "oWater": 1,
+ "sWaterTop": 1,
+ "sLavaTop": 1,
+ "scrCheckWaterTop": 1,
+ "global.temp3": 1
+ },
+ "GAP": {
+ "#############################################################################": 63,
+ "##": 766,
+ "#W": 4,
+ "example.gd": 2,
+ "This": 10,
+ "file": 7,
+ "contains": 7,
+ "a": 113,
+ "sample": 2,
+ "of": 114,
+ "GAP": 15,
+ "declaration": 1,
+ "file.": 3,
+ "DeclareProperty": 2,
+ "(": 721,
+ "IsLeftModule": 6,
+ ")": 722,
+ ";": 569,
+ "DeclareGlobalFunction": 5,
+ "#C": 7,
+ "IsQuuxFrobnicator": 1,
+ "": 3,
+ "": 28,
+ "": 7,
+ "Name=": 33,
+ "Arg=": 33,
+ "Type=": 7,
+ "": 28,
+ "Tests": 1,
+ "whether": 5,
+ "R": 5,
+ "is": 72,
+ "quux": 1,
+ "frobnicator.": 1,
+ "": 28,
+ "": 28,
+ "DeclareSynonym": 17,
+ "IsField": 1,
+ "and": 102,
+ "IsGroup": 1,
+ "implementation": 1,
+ "#M": 20,
+ "SomeOperation": 1,
+ "": 2,
+ "performs": 1,
+ "some": 2,
+ "operation": 1,
+ "on": 5,
+ "InstallMethod": 18,
+ "SomeProperty": 1,
+ "[": 145,
+ "]": 169,
+ "function": 37,
+ "M": 7,
+ "if": 103,
+ "IsFreeLeftModule": 3,
+ "not": 49,
+ "IsTrivial": 1,
+ "then": 128,
+ "return": 41,
+ "true": 21,
+ "fi": 91,
+ "TryNextMethod": 7,
+ "end": 34,
+ "#F": 17,
+ "SomeGlobalFunction": 2,
+ "A": 9,
+ "global": 1,
+ "variadic": 1,
+ "funfion.": 1,
+ "InstallGlobalFunction": 5,
+ "arg": 16,
+ "Length": 14,
+ "+": 9,
+ "*": 12,
+ "elif": 21,
+ "-": 67,
+ "else": 25,
+ "Error": 7,
+ "#": 73,
+ "SomeFunc": 1,
+ "x": 14,
+ "y": 8,
+ "local": 16,
+ "z": 3,
+ "func": 3,
+ "tmp": 20,
+ "j": 3,
+ "mod": 2,
+ "List": 6,
+ "while": 5,
+ "do": 18,
+ "for": 53,
+ "in": 64,
+ "Print": 24,
+ "od": 15,
+ "repeat": 1,
+ "until": 1,
+ "<": 17,
+ "Magic.gd": 1,
+ "AutoDoc": 4,
+ "package": 10,
+ "Copyright": 6,
+ "Max": 2,
+ "Horn": 2,
+ "JLU": 2,
+ "Giessen": 2,
+ "Sebastian": 2,
+ "Gutsche": 2,
+ "University": 4,
+ "Kaiserslautern": 2,
+ "SHEBANG#!#! @Description": 1,
+ "SHEBANG#!#! This": 1,
+ "SHEBANG#!#! any": 1,
+ "SHEBANG#!#! ": 1,
+ "SHEBANG#!#! - ": 5,
+ "SHEBANG#!#! It": 3,
+ "SHEBANG#!#! That": 1,
+ "SHEBANG#!#! of": 1,
+ "SHEBANG#!#! (with": 1,
+ "SHEBANG#!#! main": 1,
+ "SHEBANG#!#! XML": 1,
+ "SHEBANG#!#! other": 1,
+ "SHEBANG#!#! as": 1,
+ "SHEBANG#!#! to": 2,
+ "SHEBANG#!#! Secondly,": 1,
+ "SHEBANG#!#! page": 1,
+ "SHEBANG#!#! (name,": 1,
+ "SHEBANG#!#! on": 1,
+ "SHEBANG#!Item>": 25,
+ "SHEBANG#!#! tags": 1,
+ "SHEBANG#!#! This": 1,
+ "SHEBANG#!#! produce": 1,
+ "SHEBANG#!#! MathJaX": 1,
+ "SHEBANG#!#! generated": 1,
+ "SHEBANG#!#! this,": 1,
+ "SHEBANG#!#! supplementary": 1,
+ "SHEBANG#!#! (see": 1,
+ "SHEBANG#!Enum>": 1,
+ "SHEBANG#!#! For": 1,
+ "SHEBANG#!>": 11,
+ "SHEBANG#!#! The": 1,
+ "SHEBANG#!#!
": 1,
+ "SHEBANG#!Mark>": 22,
+ "SHEBANG#!#! The": 2,
+ "SHEBANG#!A>": 1,
+ "SHEBANG#!#! ": 1,
+ "SHEBANG#!#! - ": 4,
+ "SHEBANG#!#! This": 4,
+ "SHEBANG#!#! Directory()": 1,
+ "SHEBANG#!#! (i.e.": 1,
+ "SHEBANG#!#! Default": 1,
+ "SHEBANG#!#! for": 1,
+ "SHEBANG#!#! The": 3,
+ "SHEBANG#!#! record.": 3,
+ "SHEBANG#!#! equivalent": 3,
+ "SHEBANG#!#! enabled.": 3,
+ "SHEBANG#!#! package's": 1,
+ "SHEBANG#!#! In": 3,
+ "SHEBANG#!K>),": 3,
+ "SHEBANG#!#! If": 3,
+ "####": 34,
+ "TODO": 3,
+ "mention": 1,
+ "merging": 1,
+ "with": 24,
+ "PackageInfo.AutoDoc": 1,
+ "SHEBANG#!#!
": 3,
+ "SHEBANG#!#! - ": 13,
+ "SHEBANG#!#! A": 6,
+ "SHEBANG#!#! If": 2,
+ "SHEBANG#!#! your": 1,
+ "SHEBANG#!#! you": 1,
+ "SHEBANG#!#! to": 4,
+ "SHEBANG#!#! is": 1,
+ "SHEBANG#!#! of": 2,
+ "SHEBANG#!#! This": 3,
+ "SHEBANG#!#! i.e.": 1,
+ "SHEBANG#!#! The": 2,
+ "SHEBANG#!#! then": 1,
+ "The": 21,
+ "param": 1,
+ "bit": 2,
+ "strange.": 1,
+ "We": 4,
+ "should": 2,
+ "probably": 2,
+ "change": 1,
+ "it": 8,
+ "to": 37,
+ "be": 24,
+ "more": 3,
+ "general": 1,
+ "as": 23,
+ "one": 11,
+ "might": 1,
+ "want": 1,
+ "define": 2,
+ "other": 4,
+ "entities...": 1,
+ "For": 10,
+ "now": 1,
+ "we": 3,
+ "document": 1,
+ "leave": 1,
+ "us": 1,
+ "the": 136,
+ "choice": 1,
+ "revising": 1,
+ "how": 1,
+ "works.": 1,
+ "": 2,
+ "": 117,
+ "entities": 2,
+ "": 117,
+ "": 2,
+ "
- ": 2,
+ "list": 16,
+ "names": 1,
+ "or": 13,
+ "which": 8,
+ "are": 14,
+ "used": 10,
+ "corresponding": 1,
+ "XML": 4,
+ "entities.": 1,
+ "example": 3,
+ "set": 6,
+ "containing": 1,
+ "string": 6,
+ "
": 2,
+ "SomePackage": 3,
+ "
": 2,
+ "following": 4,
+ "added": 1,
+ "preamble": 1,
+ "": 2,
+ "CDATA": 2,
+ "ENTITY": 2,
+ "": 2,
+ "allows": 1,
+ "you": 3,
+ "write": 3,
+ "&": 37,
+ "amp": 1,
+ "your": 1,
+ "documentation": 2,
+ "reference": 1,
+ "that": 39,
+ "package.": 2,
+ "If": 11,
+ "another": 1,
+ "type": 2,
+ "entity": 1,
+ "desired": 1,
+ "can": 12,
+ "simply": 2,
+ "add": 2,
+ "instead": 1,
+ "two": 13,
+ "entry": 2,
+ "list.": 2,
+ "It": 1,
+ "will": 5,
+ "handled": 3,
+ "so": 3,
+ "please": 1,
+ "careful.": 1,
+ " ": 2,
+ "SHEBANG#!#! for": 1,
+ "SHEBANG#!#! statement": 1,
+ "SHEBANG#!#! components": 2,
+ "SHEBANG#!#! example,": 1,
+ "SHEBANG#!#! acknowledgements": 1,
+ "SHEBANG#!#! ": 6,
+ "SHEBANG#!#! by": 1,
+ "SHEBANG#!#! package": 1,
+ "SHEBANG#!#! Usually": 2,
+ "SHEBANG#!#! are": 2,
+ "SHEBANG#!#! Default": 3,
+ "SHEBANG#!#! When": 1,
+ "SHEBANG#!#! they": 1,
+ "Document": 1,
+ "section_intros": 2,
+ "later": 1,
+ "on.": 1,
+ "However": 2,
+ "note": 2,
+ "thanks": 1,
+ "new": 2,
+ "comment": 1,
+ "syntax": 1,
+ "only": 5,
+ "remaining": 1,
+ "use": 5,
+ "this": 15,
+ "seems": 1,
+ "ability": 1,
+ "specify": 3,
+ "order": 1,
+ "chapters": 1,
+ "sections.": 1,
+ "TODO.": 1,
+ "SHEBANG#!#! files": 1,
+ "Note": 3,
+ "strictly": 1,
+ "speaking": 1,
+ "also": 3,
+ "scaffold.": 1,
+ "uses": 2,
+ "scaffolding": 2,
+ "mechanism": 4,
+ "really": 4,
+ "necessary": 2,
+ "custom": 1,
+ "name": 2,
+ "main": 1,
+ "Thus": 3,
+ "purpose": 1,
+ "parameter": 1,
+ "cater": 1,
+ "packages": 5,
+ "have": 3,
+ "existing": 1,
+ "using": 2,
+ "different": 2,
+ "wish": 1,
+ "scaffolding.": 1,
+ "explain": 1,
+ "why": 2,
+ "allow": 1,
+ "specifying": 1,
+ "gapdoc.main.": 1,
+ "code": 1,
+ "still": 1,
+ "honor": 1,
+ "though": 1,
+ "just": 1,
+ "case.": 1,
+ "SHEBANG#!#! In": 1,
+ "maketest": 12,
+ "part.": 1,
+ "Still": 1,
+ "under": 1,
+ "construction.": 1,
+ "SHEBANG#!#! - ": 1,
+ "SHEBANG#!#! The": 1,
+ "SHEBANG#!#! a": 1,
+ "SHEBANG#!#! which": 1,
+ "SHEBANG#!#! the": 1,
+ "SHEBANG#!#!
": 1,
+ "SHEBANG#!#! - ": 2,
+ "SHEBANG#!#! Sets": 1,
+ "SHEBANG#!#! A": 1,
+ "SHEBANG#!#! will": 1,
+ "SHEBANG#!#! @Returns": 1,
+ "SHEBANG#!#! @Arguments": 1,
+ "SHEBANG#!#! @ChapterInfo": 1,
+ "Magic.gi": 1,
+ "BindGlobal": 7,
+ "str": 8,
+ "suffix": 3,
+ "n": 31,
+ "m": 8,
+ "{": 21,
+ "}": 21,
+ "i": 25,
+ "d": 16,
+ "IsDirectoryPath": 1,
+ "CreateDir": 2,
+ "currently": 1,
+ "undocumented": 1,
+ "fail": 18,
+ "LastSystemError": 1,
+ ".message": 1,
+ "false": 7,
+ "pkg": 32,
+ "subdirs": 2,
+ "extensions": 1,
+ "d_rel": 6,
+ "files": 4,
+ "result": 9,
+ "DirectoriesPackageLibrary": 2,
+ "IsEmpty": 6,
+ "continue": 3,
+ "Directory": 5,
+ "DirectoryContents": 1,
+ "Sort": 1,
+ "AUTODOC_GetSuffix": 2,
+ "IsReadableFile": 2,
+ "Filename": 8,
+ "Add": 4,
+ "Make": 1,
+ "callable": 1,
+ "package_name": 1,
+ "AutoDocWorksheet.": 1,
+ "Which": 1,
+ "create": 1,
+ "worksheet": 1,
+ "package_info": 3,
+ "opt": 3,
+ "scaffold": 12,
+ "gapdoc": 7,
+ "autodoc": 8,
+ "pkg_dir": 5,
+ "doc_dir": 18,
+ "doc_dir_rel": 3,
+ "title_page": 7,
+ "tree": 8,
+ "is_worksheet": 13,
+ "position_document_class": 7,
+ "gapdoc_latex_option_record": 4,
+ "LowercaseString": 3,
+ "rec": 20,
+ "DirectoryCurrent": 1,
+ "PackageInfo": 1,
+ "key": 3,
+ "val": 4,
+ "ValueOption": 1,
+ "opt.": 1,
+ "IsBound": 39,
+ "opt.dir": 4,
+ "IsString": 7,
+ "IsDirectory": 1,
+ "AUTODOC_CreateDirIfMissing": 1,
+ "opt.scaffold": 5,
+ "package_info.AutoDoc": 3,
+ "IsRecord": 7,
+ "IsBool": 4,
+ "AUTODOC_APPEND_RECORD_WRITEONCE": 3,
+ "AUTODOC_WriteOnce": 10,
+ "opt.autodoc": 5,
+ "Concatenation": 15,
+ "package_info.Dependencies.NeededOtherPackages": 1,
+ "package_info.Dependencies.SuggestedOtherPackages": 1,
+ "ForAny": 1,
+ "autodoc.files": 7,
+ "autodoc.scan_dirs": 5,
+ "autodoc.level": 3,
+ "PushOptions": 1,
+ "level_value": 1,
+ "Append": 2,
+ "AUTODOC_FindMatchingFiles": 2,
+ "opt.gapdoc": 5,
+ "opt.maketest": 4,
+ "gapdoc.main": 8,
+ "package_info.PackageDoc": 3,
+ ".BookName": 2,
+ "gapdoc.bookname": 4,
+ "#Print": 1,
+ "gapdoc.files": 9,
+ "gapdoc.scan_dirs": 3,
+ "Set": 1,
+ "Number": 1,
+ "ListWithIdenticalEntries": 1,
+ "f": 11,
+ "DocumentationTree": 1,
+ "autodoc.section_intros": 2,
+ "AUTODOC_PROCESS_INTRO_STRINGS": 1,
+ "Tree": 2,
+ "AutoDocScanFiles": 1,
+ "PackageName": 2,
+ "scaffold.TitlePage": 4,
+ "scaffold.TitlePage.Title": 2,
+ ".TitlePage.Title": 2,
+ "Position": 2,
+ "Remove": 2,
+ "JoinStringsWithSeparator": 1,
+ "ReplacedString": 2,
+ "Syntax": 1,
+ "scaffold.document_class": 7,
+ "PositionSublist": 5,
+ "GAPDoc2LaTeXProcs.Head": 14,
+ "..": 6,
+ "scaffold.latex_header_file": 2,
+ "StringFile": 2,
+ "scaffold.gapdoc_latex_options": 4,
+ "RecNames": 1,
+ "scaffold.gapdoc_latex_options.": 5,
+ "IsList": 1,
+ "scaffold.includes": 4,
+ "scaffold.bib": 7,
+ "Unbind": 1,
+ "scaffold.main_xml_file": 2,
+ ".TitlePage": 1,
+ "ExtractTitleInfoFromPackageInfo": 1,
+ "CreateTitlePage": 1,
+ "scaffold.MainPage": 2,
+ "scaffold.dir": 1,
+ "scaffold.book_name": 1,
+ "CreateMainPage": 1,
+ "WriteDocumentation": 1,
+ "SetGapDocLaTeXOptions": 1,
+ "MakeGAPDocDoc": 1,
+ "CopyHTMLStyleFiles": 1,
+ "GAPDocManualLab": 1,
+ "maketest.folder": 3,
+ "maketest.scan_dir": 3,
+ "CreateMakeTest": 1,
+ "PackageInfo.g": 2,
+ "cvec": 1,
+ "s": 4,
+ "template": 1,
+ "SetPackageInfo": 1,
+ "Subtitle": 1,
+ "Version": 1,
+ "Date": 1,
+ "dd/mm/yyyy": 1,
+ "format": 2,
+ "Information": 1,
+ "about": 3,
+ "authors": 1,
+ "maintainers.": 1,
+ "Persons": 1,
+ "LastName": 1,
+ "FirstNames": 1,
+ "IsAuthor": 1,
+ "IsMaintainer": 1,
+ "Email": 1,
+ "WWWHome": 1,
+ "PostalAddress": 1,
+ "Place": 1,
+ "Institution": 1,
+ "Status": 2,
+ "information.": 1,
+ "Currently": 1,
+ "cases": 2,
+ "recognized": 1,
+ "successfully": 2,
+ "refereed": 2,
+ "developers": 1,
+ "agreed": 1,
+ "distribute": 1,
+ "them": 1,
+ "core": 1,
+ "system": 1,
+ "development": 1,
+ "versions": 1,
+ "all": 18,
+ "You": 1,
+ "must": 6,
+ "provide": 2,
+ "next": 6,
+ "entries": 8,
+ "status": 1,
+ "because": 2,
+ "was": 1,
+ "#CommunicatedBy": 1,
+ "#AcceptDate": 1,
+ "PackageWWWHome": 1,
+ "README_URL": 1,
+ ".PackageWWWHome": 2,
+ "PackageInfoURL": 1,
+ "ArchiveURL": 1,
+ ".Version": 2,
+ "ArchiveFormats": 1,
+ "Here": 2,
+ "short": 1,
+ "abstract": 1,
+ "explaining": 1,
+ "content": 1,
+ "HTML": 1,
+ "overview": 1,
+ "Web": 1,
+ "page": 1,
+ "an": 17,
+ "URL": 1,
+ "Webpage": 1,
+ "detailed": 1,
+ "information": 1,
+ "than": 1,
+ "few": 1,
+ "lines": 1,
+ "less": 1,
+ "ok": 1,
+ "Please": 1,
+ "specifing": 1,
+ "names.": 1,
+ "AbstractHTML": 1,
+ "PackageDoc": 1,
+ "BookName": 1,
+ "ArchiveURLSubset": 1,
+ "HTMLStart": 1,
+ "PDFFile": 1,
+ "SixFile": 1,
+ "LongTitle": 1,
+ "Dependencies": 1,
+ "NeededOtherPackages": 1,
+ "SuggestedOtherPackages": 1,
+ "ExternalConditions": 1,
+ "AvailabilityTest": 1,
+ "SHOW_STAT": 1,
+ "DirectoriesPackagePrograms": 1,
+ "#Info": 1,
+ "InfoWarning": 1,
+ "*Optional*": 2,
+ "but": 1,
+ "recommended": 1,
+ "path": 1,
+ "relative": 1,
+ "root": 1,
+ "many": 1,
+ "tests": 1,
+ "functionality": 1,
+ "sensible.": 1,
+ "#TestFile": 1,
+ "keyword": 1,
+ "related": 1,
+ "topic": 1,
+ "Keywords": 1,
+ "vspc.gd": 1,
+ "library": 2,
+ "Thomas": 2,
+ "Breuer": 2,
+ "#Y": 6,
+ "C": 11,
+ "Lehrstuhl": 2,
+ "D": 36,
+ "r": 2,
+ "Mathematik": 2,
+ "RWTH": 2,
+ "Aachen": 2,
+ "Germany": 2,
+ "School": 2,
+ "Math": 2,
+ "Comp.": 2,
+ "Sci.": 2,
+ "St": 2,
+ "Andrews": 2,
+ "Scotland": 2,
+ "Group": 3,
+ "declares": 1,
+ "operations": 2,
+ "vector": 67,
+ "spaces.": 4,
+ "bases": 5,
+ "free": 3,
+ "left": 15,
+ "modules": 1,
+ "found": 1,
+ "": 10,
+ "lib/basis.gd": 1,
+ ".": 257,
+ "IsLeftOperatorRing": 1,
+ "IsLeftOperatorAdditiveGroup": 2,
+ "IsRing": 1,
+ "IsAssociativeLOpDProd": 2,
+ "#T": 6,
+ "IsLeftOperatorRingWithOne": 2,
+ "IsRingWithOne": 1,
+ "IsLeftVectorSpace": 3,
+ "": 38,
+ "IsVectorSpace": 26,
+ "<#GAPDoc>": 17,
+ "Label=": 19,
+ "": 12,
+ "space": 74,
+ "": 12,
+ "module": 2,
+ "see": 30,
+ "nbsp": 30,
+ "
[": 71,
+ "Func=": 40,
+ "over": 24,
+ "division": 15,
+ "ring": 14,
+ "Chapter": 3,
+ "Chap=": 3,
+ "": 23,
+ "Whenever": 1,
+ "talk": 1,
+ "": 42,
+ "F": 61,
+ "": 41,
+ "V": 152,
+ "additive": 1,
+ "group": 2,
+ "acts": 1,
+ "via": 6,
+ "multiplication": 1,
+ "from": 5,
+ "such": 4,
+ "action": 4,
+ "addition": 1,
+ "right": 2,
+ "distributive.": 1,
+ "accessed": 1,
+ "value": 9,
+ "attribute": 2,
+ "Vector": 1,
+ "spaces": 15,
+ "always": 1,
+ "Filt=": 4,
+ "synonyms.": 1,
+ "<#/GAPDoc>": 17,
+ "IsLeftActedOnByDivisionRing": 4,
+ "InstallTrueMethod": 4,
+ "IsGaussianSpace": 10,
+ "": 14,
+ "filter": 3,
+ "Sect=": 6,
+ "row": 17,
+ "matrix": 5,
+ "field": 12,
+ "say": 1,
+ "indicates": 3,
+ "vectors": 16,
+ "matrices": 5,
+ "respectively": 1,
+ "contained": 4,
+ "In": 3,
+ "case": 2,
+ "called": 1,
+ "Gaussian": 19,
+ "space.": 5,
+ "Bases": 1,
+ "computed": 2,
+ "elimination": 5,
+ "given": 4,
+ "generators.": 1,
+ "": 12,
+ "": 12,
+ "gap": 41,
+ "mats": 5,
+ "VectorSpace": 13,
+ "Rationals": 13,
+ "E": 2,
+ "element": 2,
+ "extension": 3,
+ "Field": 1,
+ "": 12,
+ "DeclareFilter": 1,
+ "IsFullMatrixModule": 1,
+ "IsFullRowModule": 1,
+ "IsDivisionRing": 5,
+ "": 12,
+ "nontrivial": 1,
+ "associative": 1,
+ "algebra": 2,
+ "multiplicative": 1,
+ "inverse": 1,
+ "each": 2,
+ "nonzero": 3,
+ "element.": 1,
+ "every": 1,
+ "possibly": 1,
+ "itself": 1,
+ "being": 2,
+ "thus": 1,
+ "property": 2,
+ "get": 1,
+ "usually": 1,
+ "represented": 1,
+ "coefficients": 3,
+ "stored": 1,
+ "DeclareSynonymAttr": 4,
+ "IsMagmaWithInversesIfNonzero": 1,
+ "IsNonTrivial": 1,
+ "IsAssociative": 1,
+ "IsEuclideanRing": 1,
+ "#A": 7,
+ "GeneratorsOfLeftVectorSpace": 1,
+ "GeneratorsOfVectorSpace": 2,
+ "": 7,
+ "Attr=": 10,
+ "returns": 14,
+ "generate": 1,
+ "FullRowSpace": 5,
+ "GeneratorsOfLeftOperatorAdditiveGroup": 2,
+ "CanonicalBasis": 3,
+ "supports": 1,
+ "canonical": 6,
+ "basis": 14,
+ "otherwise": 2,
+ "": 3,
+ "": 3,
+ "returned.": 4,
+ "defining": 1,
+ "its": 2,
+ "uniquely": 1,
+ "determined": 1,
+ "by": 14,
+ "exist": 1,
+ "same": 6,
+ "acting": 8,
+ "domain": 17,
+ "equality": 1,
+ "these": 5,
+ "decided": 1,
+ "comparing": 1,
+ "bases.": 1,
+ "exact": 1,
+ "meaning": 1,
+ "depends": 1,
+ "Canonical": 1,
+ "defined": 3,
+ "designs": 1,
+ "kind": 1,
+ "defines": 1,
+ "method": 4,
+ "installs": 1,
+ "call": 1,
+ "On": 1,
+ "hand": 1,
+ "install": 1,
+ "calls": 1,
+ "": 10,
+ "CANONICAL_BASIS_FLAGS": 1,
+ "": 9,
+ "vecs": 4,
+ "B": 16,
+ "": 8,
+ "3": 5,
+ "generators": 16,
+ "BasisVectors": 4,
+ "DeclareAttribute": 4,
+ "IsRowSpace": 2,
+ "consists": 7,
+ "IsRowModule": 1,
+ "IsGaussianRowSpace": 1,
+ "scalars": 2,
+ "occur": 2,
+ "vectors.": 2,
+ "calculations.": 2,
+ "Otherwise": 3,
+ "non": 4,
+ "Gaussian.": 2,
+ "need": 3,
+ "flag": 2,
+ "down": 2,
+ "methods": 4,
+ "delegate": 2,
+ "ones.": 2,
+ "IsNonGaussianRowSpace": 1,
+ "expresses": 2,
+ "cannot": 2,
+ "compute": 3,
+ "nice": 4,
+ "way.": 2,
+ "Let": 4,
+ "K": 4,
+ "spanned": 4,
+ "Then": 1,
+ "/": 12,
+ "cap": 1,
+ "v": 5,
+ "replacing": 1,
+ "forming": 1,
+ "concatenation.": 1,
+ "So": 2,
+ "associated": 3,
+ "DeclareHandlingByNiceBasis": 2,
+ "IsMatrixSpace": 2,
+ "IsMatrixModule": 1,
+ "IsGaussianMatrixSpace": 1,
+ "IsNonGaussianMatrixSpace": 1,
+ "irrelevant": 1,
+ "concatenation": 1,
+ "rows": 1,
+ "necessarily": 1,
+ "NormedRowVectors": 2,
+ "normed": 1,
+ "finite": 5,
+ "those": 1,
+ "first": 1,
+ "component.": 1,
+ "yields": 1,
+ "natural": 1,
+ "dimensional": 5,
+ "subspaces": 17,
+ "GF": 22,
+ "*Z": 5,
+ "Z": 6,
+ "Action": 1,
+ "GL": 1,
+ "OnLines": 1,
+ "TrivialSubspace": 2,
+ "subspace": 7,
+ "zero": 4,
+ "triv": 2,
+ "0": 2,
+ "AsSet": 1,
+ "TrivialSubmodule": 1,
+ "": 5,
+ "": 2,
+ "collection": 3,
+ "gens": 16,
+ "elements": 7,
+ "optional": 3,
+ "argument": 1,
+ "empty.": 1,
+ "known": 5,
+ "linearly": 3,
+ "independent": 3,
+ "particular": 1,
+ "dimension": 9,
+ "immediately": 2,
+ "formed": 1,
+ "argument.": 1,
+ "2": 1,
+ "Subspace": 4,
+ "generated": 1,
+ "SubspaceNC": 2,
+ "subset": 4,
+ "empty": 1,
+ "trivial": 1,
+ "parent": 3,
+ "returned": 3,
+ "does": 1,
+ "except": 1,
+ "omits": 1,
+ "check": 5,
+ "both": 2,
+ "W": 32,
+ "1": 3,
+ "Submodule": 1,
+ "SubmoduleNC": 1,
+ "#O": 2,
+ "AsVectorSpace": 4,
+ "view": 4,
+ "": 2,
+ "domain.": 1,
+ "form": 2,
+ "Oper=": 6,
+ "smaller": 1,
+ "larger": 1,
+ "ring.": 3,
+ "Dimension": 6,
+ "LeftActingDomain": 29,
+ "9": 1,
+ "AsLeftModule": 6,
+ "AsSubspace": 5,
+ "": 6,
+ "U": 12,
+ "collection.": 1,
+ "/2": 4,
+ "Parent": 4,
+ "DeclareOperation": 2,
+ "IsCollection": 3,
+ "Intersection2Spaces": 4,
+ "": 2,
+ "": 2,
+ "": 2,
+ "takes": 1,
+ "arguments": 1,
+ "intersection": 5,
+ "domains": 3,
+ "let": 1,
+ "their": 1,
+ "intersection.": 1,
+ "AsStruct": 2,
+ "equal": 1,
+ "either": 2,
+ "Substruct": 1,
+ "common": 1,
+ "Struct": 1,
+ "basis.": 1,
+ "handle": 1,
+ "intersections": 1,
+ "algebras": 2,
+ "ideals": 2,
+ "sided": 1,
+ "ideals.": 1,
+ "": 2,
+ "": 2,
+ "nonnegative": 2,
+ "integer": 2,
+ "length": 1,
+ "An": 2,
+ "alternative": 2,
+ "construct": 2,
+ "above": 2,
+ "FullRowModule": 2,
+ "FullMatrixSpace": 2,
+ "": 1,
+ "positive": 1,
+ "integers": 1,
+ "fact": 1,
+ "FullMatrixModule": 3,
+ "IsSubspacesVectorSpace": 9,
+ "fixed": 1,
+ "lies": 1,
+ "category": 1,
+ "Subspaces": 8,
+ "Size": 5,
+ "iter": 17,
+ "Iterator": 5,
+ "NextIterator": 5,
+ "DeclareCategory": 1,
+ "IsDomain": 1,
+ "IsFinite": 4,
+ "Returns": 1,
+ "": 1,
+ "Called": 2,
+ "k": 17,
+ "Special": 1,
+ "provided": 1,
+ "domains.": 1,
+ "IsInt": 3,
+ "IsSubspace": 3,
+ "OrthogonalSpaceInFullRowSpace": 1,
+ "complement": 1,
+ "full": 2,
+ "#P": 1,
+ "IsVectorSpaceHomomorphism": 3,
+ "]
": 2,
+ "elseif": 2,
+ "<": 1,
+ "p": 1,
+ "if": 7,
+ "Although": 1,
+ "is": 1,
+ "there": 1,
+ "are": 1,
+ "no": 1,
+ "English": 1,
+ "subtitles": 1,
+ "for": 1,
+ "comparison.": 1,
+ "/if": 8,
+ "/cache": 1,
+ "editor": 1,
+ "ksid": 2,
+ "new": 5,
+ "video": 2,
+ "siteId": 1,
+ "Video": 1,
+ "khanovaskola.cz": 1,
+ "revision": 18,
+ "rev": 4,
+ "this": 3,
+ "older": 1,
+ "#": 2,
+ "else": 2,
+ "newer": 1,
+ "": 1,
+ "": 1,
+ "diffs": 3,
+ "noescape": 2,
+ "
": 1,
+ "description": 1,
+ "text": 4,
+ "as": 2,
+ "line": 3,
+ "context": 1,
+ "splitter": 1,
+ "template": 1,
+ "bottom": 1,
+ "Expand": 1,
+ "fa": 16,
+ "sort": 1,
+ "ellipsis": 1,
+ "h": 1,
+ "success": 1,
+ "amaraEdit": 1,
+ "amaraId": 2,
+ "editButton": 1,
+ "btn": 17,
+ "default": 6,
+ "edit": 1,
+ "khanAcademy": 1,
+ "kaButton": 1,
+ "link": 1,
+ "info": 1,
+ "group": 4,
+ "approve": 1,
+ "thumbs": 3,
+ "up": 1,
+ "markIncomplete": 2,
+ "down": 2,
+ "redirectToAdd": 1,
+ "plus": 1,
+ "square": 1,
+ "table": 2,
+ "condensed": 1,
+ "revisions": 1,
+ "revId": 1,
+ "secondary": 2,
+ "Percent": 1,
+ "lines": 1,
+ "&": 1,
+ "thinsp": 1,
+ "%": 1,
+ "": 3,
+ "": 3,
+ "": 2,
+ "incomplete": 3,
+ "approved": 2,
+ "": 1,
+ "user": 1,
+ "loggedIn": 1,
+ "&&": 1,
+ "comments": 2,
+ "count": 1,
+ "": 2,
+ "": 2,
+ "colspan=": 1,
+ "": 1,
+ "comment": 4,
+ "left": 1,
+ "createdAt": 1,
+ "timeAgo": 1,
+ "noborder": 1,
+ "input": 3,
+ "form": 1,
+ "control": 1,
+ "Comment": 1,
+ "only": 1,
+ "visible": 1,
+ "other": 1,
+ "editors": 1,
+ "save": 1,
+ "share": 1,
+ "": 1,
+ "": 1,
+ "/form": 1,
+ "/foreach": 1,
+ " ": 1
+ },
"Less": {
"@blue": 4,
"#3bbfce": 1,
@@ -27497,6 +34244,173 @@
"info": 1,
"reproduce": 1
},
+ "Liquid": {
+ "": 1,
+ "html": 1,
+ "PUBLIC": 1,
+ "W3C": 1,
+ "DTD": 2,
+ "XHTML": 1,
+ "1": 1,
+ "0": 1,
+ "Transitional": 1,
+ "EN": 1,
+ "http": 2,
+ "www": 1,
+ "w3": 1,
+ "org": 1,
+ "TR": 1,
+ "xhtml1": 2,
+ "transitional": 1,
+ "dtd": 1,
+ "": 1,
+ "xmlns=": 1,
+ "xml": 1,
+ "lang=": 2,
+ "": 1,
+ "": 1,
+ "equiv=": 1,
+ "content=": 1,
+ "": 1,
+ "{": 89,
+ "shop.name": 2,
+ "}": 89,
+ "-": 4,
+ "page_title": 1,
+ "": 1,
+ "|": 31,
+ "global_asset_url": 5,
+ "stylesheet_tag": 3,
+ "script_tag": 5,
+ "shopify_asset_url": 1,
+ "asset_url": 2,
+ "content_for_header": 1,
+ "": 1,
+ "": 1,
+ "id=": 28,
+ "": 1,
+ "class=": 14,
+ "": 9,
+ "href=": 9,
+ "Skip": 1,
+ "to": 1,
+ "navigation.": 1,
+ "": 9,
+ " ": 1,
+ "%": 46,
+ "if": 5,
+ "cart.item_count": 7,
+ "": 23,
+ "style=": 5,
+ " ": 3,
+ "There": 1,
+ "pluralize": 3,
+ "in": 8,
+ "title=": 3,
+ "your": 1,
+ "cart": 1,
+ "": 3,
+ " ": 1,
+ "Your": 1,
+ "subtotal": 1,
+ "is": 1,
+ "cart.total_price": 2,
+ "money": 5,
+ ".": 3,
+ "": 1,
+ "for": 6,
+ "item": 1,
+ "cart.items": 1,
+ "onMouseover=": 2,
+ "onMouseout=": 2,
+ " ![]() ": 4,
+ "src=": 5,
+ " ": 23,
+ "endfor": 6,
+ " ": 2,
+ "endif": 5,
+ "": 1,
+ "": 1,
+ "onclick=": 1,
+ "View": 1,
+ "Mini": 1,
+ "Cart": 1,
+ "(": 1,
+ ")": 1,
+ " ": 3,
+ "content_for_layout": 1,
+ "": 5,
+ "link": 2,
+ "linklists.main": 1,
+ "menu.links": 1,
+ "- ": 5,
+ "link.title": 2,
+ "link_to": 2,
+ "link.url": 2,
+ "
": 5,
+ " ": 5,
+ "tags": 1,
+ "tag": 4,
+ "collection.tags": 1,
+ "": 1,
+ "link_to_add_tag": 1,
+ "": 1,
+ "highlight_active_tag": 1,
+ "link_to_tag": 1,
+ "linklists.footer.links": 1,
+ "All": 1,
+ "prices": 1,
+ "are": 1,
+ "shop.currency": 1,
+ "Powered": 1,
+ "by": 1,
+ "Shopify": 1,
+ "": 1,
+ "": 1,
+ "": 1,
+ "We": 1,
+ "have": 1,
+ "wonderful": 1,
+ "products": 1,
+ "": 1,
+ "image": 1,
+ "product.images": 1,
+ "forloop.first": 1,
+ "rel=": 2,
+ "alt=": 2,
+ "else": 1,
+ "product.title": 1,
+ "Vendor": 1,
+ "product.vendor": 1,
+ "link_to_vendor": 1,
+ "Type": 1,
+ "product.type": 1,
+ "link_to_type": 1,
+ "": 1,
+ "product.price_min": 1,
+ "product.price_varies": 1,
+ "product.price_max": 1,
+ "": 1,
+ "": 1,
+ "product.description": 1,
+ "": 1
+ },
"Literate Agda": {
"documentclass": 1,
"{": 35,
@@ -28031,27 +34945,27 @@
"in_8_list": 1
},
"M": {
- "%": 203,
+ "%": 207,
"zewdAPI": 52,
- ";": 1275,
+ ";": 1309,
"Enterprise": 5,
"Web": 5,
"Developer": 5,
"run": 2,
- "-": 1604,
+ "-": 1605,
"time": 9,
"functions": 4,
- "and": 56,
+ "and": 59,
"user": 27,
"APIs": 1,
"Product": 2,
- "(": 2142,
+ "(": 2144,
"Build": 6,
- ")": 2150,
+ ")": 2152,
"Date": 2,
"Fri": 1,
"Nov": 1,
- "|": 170,
+ "|": 171,
"for": 77,
"GT.M": 30,
"m_apache": 3,
@@ -28072,52 +34986,52 @@
"rtweed@mgateway.com": 4,
"This": 26,
"program": 19,
- "is": 81,
+ "is": 88,
"free": 15,
"software": 12,
- "you": 16,
- "can": 15,
+ "you": 17,
+ "can": 20,
"redistribute": 11,
- "it": 44,
+ "it": 45,
"and/or": 11,
"modify": 11,
"under": 14,
- "the": 217,
+ "the": 223,
"terms": 11,
- "of": 80,
+ "of": 84,
"GNU": 33,
"Affero": 33,
"General": 33,
"Public": 33,
"License": 48,
- "as": 22,
+ "as": 23,
"published": 11,
- "by": 33,
+ "by": 35,
"Free": 11,
"Software": 11,
"Foundation": 11,
"either": 13,
"version": 16,
- "or": 46,
+ "or": 50,
"at": 21,
"your": 16,
"option": 12,
- "any": 15,
+ "any": 16,
"later": 11,
"version.": 11,
"distributed": 13,
- "in": 78,
+ "in": 80,
"hope": 11,
- "that": 17,
+ "that": 19,
"will": 23,
- "be": 32,
+ "be": 35,
"useful": 11,
- "but": 17,
+ "but": 19,
"WITHOUT": 12,
"ANY": 12,
"WARRANTY": 11,
"without": 11,
- "even": 11,
+ "even": 12,
"implied": 11,
"warranty": 11,
"MERCHANTABILITY": 11,
@@ -28131,21 +35045,21 @@
"details.": 12,
"You": 13,
"should": 16,
- "have": 17,
+ "have": 21,
"received": 11,
- "a": 112,
+ "a": 130,
"copy": 13,
"along": 11,
- "with": 43,
- "this": 38,
+ "with": 45,
+ "this": 39,
"program.": 9,
"If": 14,
- "not": 37,
- "see": 25,
+ "not": 39,
+ "see": 26,
"": 11,
- ".": 814,
- "QUIT": 249,
- "_": 126,
+ ".": 815,
+ "QUIT": 251,
+ "_": 127,
"getVersion": 1,
"zewdCompiler": 6,
"date": 1,
@@ -28219,7 +35133,7 @@
"text": 6,
"replaceAll": 11,
"writeLine": 2,
- "line": 9,
+ "line": 14,
"CacheTempBuffer": 2,
"j": 67,
"increment": 11,
@@ -28237,7 +35151,7 @@
"value": 72,
"getSessionValue": 3,
"tr": 13,
- "+": 188,
+ "+": 189,
"f": 93,
"o": 51,
"q": 244,
@@ -28253,7 +35167,7 @@
"type": 2,
"avoid": 1,
"Cache": 3,
- "bug": 1,
+ "bug": 2,
"getPhraseIndex": 1,
"zewdCompiler5": 1,
"licensed": 1,
@@ -28268,7 +35182,7 @@
"wldSessid": 1,
"zzname": 1,
"zv": 6,
- "[": 53,
+ "[": 54,
"extcErr": 1,
"mess": 3,
"namespace": 1,
@@ -28376,7 +35290,7 @@
"char": 9,
"len": 8,
"create": 6,
- "characters": 4,
+ "characters": 8,
"str": 15,
"convertDateToSeconds": 1,
"hdate": 7,
@@ -28421,12 +35335,12 @@
"format": 2,
"Offset": 1,
"relative": 1,
- "to": 73,
+ "to": 74,
"GMT": 1,
"eg": 3,
"hh": 4,
"ss": 4,
- "<": 19,
+ "<": 20,
"_hh": 1,
"time#3600": 1,
"_mm": 1,
@@ -28437,7 +35351,7 @@
"openNewFile": 2,
"openFile": 2,
"openDOM": 2,
- "&": 27,
+ "&": 28,
"#39": 1,
"<\",\"<\")>": 1,
"string=": 1,
@@ -28446,7 +35360,7 @@
"HTML": 1,
"quot": 2,
"stop": 20,
- "no": 53,
+ "no": 54,
"no2": 1,
"p1_c_p2": 1,
"getIP": 2,
@@ -28475,7 +35389,7 @@
"linkToParentSession": 2,
"zewdCompiler20": 1,
"exportToGTM": 1,
- "routine": 4,
+ "routine": 6,
"zewdDemo": 1,
"Tutorial": 1,
"Wed": 1,
@@ -28524,10 +35438,10 @@
".value": 1,
"testField2": 1,
"field3": 1,
- "must": 7,
+ "must": 8,
"null": 6,
"dateTime": 1,
- "start": 24,
+ "start": 26,
"student": 14,
"zwrite": 1,
"write": 59,
@@ -28553,12 +35467,91 @@
"todrop": 2,
"Populate": 1,
"values": 4,
- "on": 15,
+ "on": 17,
"first": 10,
"use": 5,
"only.": 1,
"zextract": 3,
"zlength": 3,
+ "Comment": 1,
+ "comment": 4,
+ "block": 1,
+ "comments": 5,
+ "always": 2,
+ "semicolon": 1,
+ "next": 1,
+ "while": 4,
+ "legal": 1,
+ "blank": 1,
+ "whitespace": 2,
+ "alone": 1,
+ "valid": 2,
+ "**": 4,
+ "Comments": 1,
+ "graphic": 3,
+ "character": 5,
+ "such": 1,
+ "@#": 1,
+ "*": 6,
+ "{": 5,
+ "}": 5,
+ "]": 15,
+ "/": 3,
+ "space": 1,
+ "considered": 1,
+ "though": 1,
+ "t": 12,
+ "it.": 2,
+ "ASCII": 2,
+ "whose": 1,
+ "numeric": 8,
+ "code": 29,
+ "above": 3,
+ "below": 1,
+ "are": 14,
+ "NOT": 2,
+ "allowed": 18,
+ "routine.": 1,
+ "multiple": 1,
+ "semicolons": 1,
+ "okay": 1,
+ "has": 7,
+ "tag": 2,
+ "after": 3,
+ "does": 1,
+ "command": 11,
+ "Tag1": 1,
+ "Tags": 2,
+ "an": 14,
+ "uppercase": 2,
+ "lowercase": 1,
+ "alphabetic": 2,
+ "series": 2,
+ "HELO": 1,
+ "most": 1,
+ "common": 1,
+ "label": 5,
+ "LABEL": 1,
+ "followed": 1,
+ "directly": 1,
+ "open": 1,
+ "parenthesis": 2,
+ "formal": 1,
+ "list": 1,
+ "variables": 3,
+ "close": 1,
+ "ANOTHER": 1,
+ "X": 19,
+ "Normally": 1,
+ "subroutine": 1,
+ "would": 2,
+ "ended": 1,
+ "we": 1,
+ "taking": 1,
+ "advantage": 1,
+ "rule": 1,
+ "END": 1,
+ "implicit": 1,
"Digest": 2,
"Extension": 9,
"Piotr": 7,
@@ -28589,7 +35582,6 @@
"digest.init": 3,
"usually": 1,
"when": 11,
- "an": 11,
"invalid": 4,
"algorithm": 1,
"was": 5,
@@ -28604,9 +35596,7 @@
"contact": 2,
"me": 2,
"questions": 2,
- "comments": 4,
"returns": 7,
- "ASCII": 1,
"HEX": 1,
"all": 8,
"one": 5,
@@ -28658,7 +35648,6 @@
"illustrate": 1,
"dynamic": 1,
"scope": 1,
- "variables": 2,
"triangle1": 1,
"sum": 15,
"main2": 1,
@@ -28666,12 +35655,10 @@
"triangle2": 1,
"compute": 2,
"Fibonacci": 1,
- "series": 1,
"b": 64,
"term": 10,
"start1": 2,
"entry": 5,
- "label": 4,
"start2": 1,
"function": 6,
"computes": 1,
@@ -28783,7 +35770,6 @@
"modulo": 1,
"division.": 1,
"//en.wikipedia.org/wiki/MD5": 1,
- "t": 11,
"#64": 1,
"msg_": 1,
"_m_": 1,
@@ -28825,9 +35811,7 @@
"keyId": 108,
"been": 4,
"tested": 1,
- "valid": 1,
"these": 1,
- "are": 11,
"called": 8,
"To": 2,
"Initialise": 2,
@@ -28889,7 +35873,6 @@
"getAttributeId": 2,
"domain": 1,
"Not": 1,
- "allowed": 17,
"same": 2,
"remove": 6,
"existing": 2,
@@ -28980,7 +35963,6 @@
"runSelect": 3,
"count": 18,
"select": 3,
- "*": 5,
"where": 6,
"limit": 14,
"asc": 1,
@@ -29028,7 +36010,6 @@
".itemStack": 1,
"***": 2,
"listCopy": 3,
- "numeric": 6,
"N.N": 12,
"N.N1": 4,
"externalSelect": 2,
@@ -29239,7 +36220,6 @@
"protect": 11,
"erropt": 6,
"isstring": 5,
- "code": 28,
"pcre.config": 1,
".name": 1,
".erropt": 3,
@@ -29263,7 +36243,6 @@
"LANG": 4,
"LC_*": 1,
"output": 49,
- "command": 9,
"Debian": 2,
"tip": 1,
"dpkg": 1,
@@ -29337,7 +36316,6 @@
"begin_": 1,
"_end": 1,
"store": 6,
- "above": 2,
"stores": 1,
"captured": 6,
"key=": 2,
@@ -29413,8 +36391,6 @@
"matched": 1,
"back": 4,
"th": 3,
- "{": 4,
- "}": 4,
"replaced": 1,
"substitution": 2,
"begins": 1,
@@ -29447,7 +36423,6 @@
"@ref": 2,
"E": 12,
"COMPILE": 2,
- "has": 6,
"meaning": 1,
"zs": 2,
"re": 2,
@@ -29527,7 +36502,6 @@
"Run": 1,
".offset": 1,
"used.": 2,
- "always": 1,
"strings": 1,
"submitted": 1,
"exact": 1,
@@ -29536,8 +36510,6 @@
"way": 1,
"i*2": 3,
"what": 2,
- "while": 3,
- "/": 2,
"/mg": 2,
"aaa": 1,
"nbb": 1,
@@ -29560,7 +36532,6 @@
"listing": 1,
"CHAR": 1,
"different": 3,
- "character": 2,
"modes": 1,
"In": 1,
"probably": 1,
@@ -29636,7 +36607,6 @@
"runs": 2,
"especially": 1,
"there": 2,
- "would": 1,
"paths": 2,
"tree": 1,
"checked.": 1,
@@ -29741,7 +36711,6 @@
"false": 5,
"post2": 1,
"special": 2,
- "after": 2,
"post": 1,
"condition": 1,
"PRCAAPR": 1,
@@ -29758,7 +36727,6 @@
"Accounts": 1,
"Receivable": 1,
"**198": 1,
- "**": 2,
"Mar": 1,
"Per": 1,
"VHA": 1,
@@ -29768,7 +36736,6 @@
"PRCATY": 2,
"NEW": 3,
"DIC": 6,
- "X": 18,
"Y": 26,
"DEBT": 10,
"PRCADB": 5,
@@ -29811,7 +36778,6 @@
"_PRCATY_": 1,
"COMP1": 2,
"RCY": 5,
- "]": 14,
"COMP2": 2,
"_STAT_": 1,
"_STAT": 1,
@@ -30045,7 +37011,6 @@
"WVBEGDT1": 1,
"NOTIFICATION": 1,
"IS": 3,
- "NOT": 1,
"QUEUED.": 1,
"WVB": 4,
"OR": 2,
@@ -30159,7 +37124,6 @@
"TODO": 1,
"Caller": 1,
"indentation": 1,
- "comment": 1,
"tab": 1,
"space.": 1,
"M/Wire": 4,
@@ -30205,7 +37169,6 @@
"simply": 1,
"Stop": 1,
"RESJOB": 1,
- "it.": 1,
"mwireVersion": 4,
"mwireDate": 2,
"July": 1,
@@ -30365,6 +37328,133 @@
"Markdown": {
"Tender": 1
},
+ "Mask": {
+ "header": 1,
+ "{": 10,
+ "img": 1,
+ ".logo": 1,
+ "src": 1,
+ "alt": 1,
+ "logo": 1,
+ ";": 3,
+ "h4": 1,
+ "if": 1,
+ "(": 3,
+ "currentUser": 1,
+ ")": 3,
+ ".account": 1,
+ "a": 1,
+ "href": 1,
+ "}": 10,
+ ".view": 1,
+ "ul": 1,
+ "for": 1,
+ "user": 1,
+ "index": 1,
+ "of": 1,
+ "users": 1,
+ "li.user": 1,
+ "data": 1,
+ "-": 3,
+ "id": 1,
+ ".name": 1,
+ ".count": 1,
+ ".date": 1,
+ "countdownComponent": 1,
+ "input": 1,
+ "type": 1,
+ "text": 1,
+ "dualbind": 1,
+ "value": 1,
+ "button": 1,
+ "x": 2,
+ "signal": 1,
+ "h5": 1,
+ "animation": 1,
+ "slot": 1,
+ "@model": 1,
+ "@next": 1,
+ "footer": 1,
+ "bazCompo": 1
+ },
+ "Mathematica": {
+ "Get": 1,
+ "[": 74,
+ "]": 73,
+ "Paclet": 1,
+ "Name": 1,
+ "-": 8,
+ "Version": 1,
+ "MathematicaVersion": 1,
+ "Description": 1,
+ "Creator": 1,
+ "Extensions": 1,
+ "{": 2,
+ "Language": 1,
+ "MainPage": 1,
+ "}": 2,
+ "BeginPackage": 1,
+ ";": 41,
+ "PossiblyTrueQ": 3,
+ "usage": 22,
+ "PossiblyFalseQ": 2,
+ "PossiblyNonzeroQ": 3,
+ "Begin": 2,
+ "expr_": 4,
+ "Not": 6,
+ "TrueQ": 4,
+ "expr": 4,
+ "End": 2,
+ "AnyQ": 3,
+ "AnyElementQ": 4,
+ "AllQ": 2,
+ "AllElementQ": 2,
+ "AnyNonzeroQ": 2,
+ "AnyPossiblyNonzeroQ": 2,
+ "RealQ": 3,
+ "PositiveQ": 3,
+ "NonnegativeQ": 3,
+ "PositiveIntegerQ": 3,
+ "NonnegativeIntegerQ": 4,
+ "IntegerListQ": 5,
+ "PositiveIntegerListQ": 3,
+ "NonnegativeIntegerListQ": 3,
+ "IntegerOrListQ": 2,
+ "PositiveIntegerOrListQ": 2,
+ "NonnegativeIntegerOrListQ": 2,
+ "SymbolQ": 2,
+ "SymbolOrNumberQ": 2,
+ "cond_": 4,
+ "L_": 5,
+ "Fold": 3,
+ "Or": 1,
+ "False": 4,
+ "cond": 4,
+ "/@": 3,
+ "L": 4,
+ "Flatten": 1,
+ "And": 4,
+ "True": 2,
+ "SHEBANG#!#!=": 1,
+ "n_": 5,
+ "Im": 1,
+ "n": 8,
+ "Positive": 2,
+ "IntegerQ": 3,
+ "&&": 4,
+ "input_": 6,
+ "ListQ": 1,
+ "input": 11,
+ "MemberQ": 3,
+ "IntegerQ/@input": 1,
+ "||": 4,
+ "a_": 2,
+ "Head": 2,
+ "a": 3,
+ "Symbol": 2,
+ "NumericQ": 1,
+ "EndPackage": 1
+ },
"Matlab": {
"function": 34,
"[": 311,
@@ -31740,6 +38830,2888 @@
"//wiki.eclipse.org/index.php/Linux_Tools_Project/GDB_Tracepoint_Analysis/User_Guide": 1,
"//wiki.eclipse.org/Linux_Tools_Project/GDB_Tracepoint_Analysis/User_Guide": 1
},
+ "Mercury": {
+ "%": 416,
+ "-": 6967,
+ "module": 46,
+ "ll_backend.code_info.": 1,
+ "interface.": 13,
+ "import_module": 126,
+ "check_hlds.type_util.": 2,
+ "hlds.code_model.": 1,
+ "hlds.hlds_data.": 2,
+ "hlds.hlds_goal.": 2,
+ "hlds.hlds_llds.": 1,
+ "hlds.hlds_module.": 2,
+ "hlds.hlds_pred.": 2,
+ "hlds.instmap.": 2,
+ "libs.globals.": 2,
+ "ll_backend.continuation_info.": 1,
+ "ll_backend.global_data.": 1,
+ "ll_backend.layout.": 1,
+ "ll_backend.llds.": 1,
+ "ll_backend.trace_gen.": 1,
+ "mdbcomp.prim_data.": 3,
+ "mdbcomp.goal_path.": 2,
+ "parse_tree.prog_data.": 2,
+ "parse_tree.set_of_var.": 2,
+ "assoc_list.": 3,
+ "bool.": 4,
+ "counter.": 1,
+ "io.": 8,
+ "list.": 4,
+ "map.": 3,
+ "maybe.": 3,
+ "set.": 4,
+ "set_tree234.": 1,
+ "term.": 3,
+ "implementation.": 12,
+ "backend_libs.builtin_ops.": 1,
+ "backend_libs.proc_label.": 1,
+ "hlds.arg_info.": 1,
+ "hlds.hlds_desc.": 1,
+ "hlds.hlds_rtti.": 2,
+ "libs.options.": 3,
+ "libs.trace_params.": 1,
+ "ll_backend.code_util.": 1,
+ "ll_backend.opt_debug.": 1,
+ "ll_backend.var_locn.": 1,
+ "parse_tree.builtin_lib_types.": 2,
+ "parse_tree.prog_type.": 2,
+ "parse_tree.mercury_to_mercury.": 1,
+ "cord.": 1,
+ "int.": 4,
+ "pair.": 3,
+ "require.": 6,
+ "stack.": 1,
+ "string.": 7,
+ "varset.": 2,
+ "type": 57,
+ "code_info.": 1,
+ "pred": 255,
+ "code_info_init": 2,
+ "(": 3351,
+ "bool": 406,
+ "in": 510,
+ "globals": 5,
+ "pred_id": 15,
+ "proc_id": 12,
+ "pred_info": 20,
+ "proc_info": 11,
+ "abs_follow_vars": 3,
+ "module_info": 26,
+ "static_cell_info": 4,
+ "const_struct_map": 3,
+ "resume_point_info": 11,
+ "out": 337,
+ "trace_slot_info": 3,
+ "maybe": 20,
+ "containing_goal_map": 4,
+ ")": 3351,
+ "list": 82,
+ "string": 115,
+ "int": 129,
+ "code_info": 208,
+ "is": 246,
+ "det.": 184,
+ "get_globals": 5,
+ "get_exprn_opts": 2,
+ "exprn_opts": 3,
+ "get_module_info": 7,
+ "get_pred_id": 6,
+ "get_proc_id": 5,
+ "get_pred_info": 2,
+ "get_proc_info": 4,
+ "get_varset": 3,
+ "prog_varset": 14,
+ "func": 24,
+ "get_var_types": 3,
+ "vartypes.": 1,
+ "get_maybe_trace_info": 2,
+ "trace_info": 3,
+ "get_emit_trail_ops": 2,
+ "add_trail_ops": 5,
+ "get_emit_region_ops": 2,
+ "add_region_ops": 6,
+ "get_forward_live_vars": 2,
+ "set_of_progvar": 10,
+ "set_forward_live_vars": 2,
+ "get_instmap": 4,
+ "instmap": 3,
+ "set_instmap": 3,
+ "get_par_conj_depth": 2,
+ "set_par_conj_depth": 2,
+ "get_label_counter": 3,
+ "counter": 6,
+ "get_succip_used": 2,
+ "get_layout_info": 4,
+ "proc_label_layout_info": 3,
+ "get_proc_trace_events": 2,
+ "set_proc_trace_events": 2,
+ "get_closure_layouts": 3,
+ "closure_proc_id_data": 4,
+ "get_max_reg_in_use_at_trace": 2,
+ "set_max_reg_in_use_at_trace": 2,
+ "get_created_temp_frame": 2,
+ "get_static_cell_info": 5,
+ "set_static_cell_info": 5,
+ "get_alloc_sites": 3,
+ "set_tree234": 3,
+ "alloc_site_info": 4,
+ "set_alloc_sites": 3,
+ "get_used_env_vars": 2,
+ "set": 16,
+ "set_used_env_vars": 2,
+ "get_opt_trail_ops": 2,
+ "get_opt_region_ops": 2,
+ "get_auto_comments": 2,
+ "get_lcmc_null": 2,
+ "get_containing_goal_map": 3,
+ "get_containing_goal_map_det": 2,
+ "get_const_struct_map": 2,
+ "add_out_of_line_code": 2,
+ "llds_code": 21,
+ "get_out_of_line_code": 2,
+ "get_var_slot_count": 2,
+ "set_maybe_trace_info": 3,
+ "get_opt_no_return_calls": 2,
+ "get_zombies": 2,
+ "set_zombies": 2,
+ "get_var_locn_info": 7,
+ "var_locn_info": 3,
+ "set_var_locn_info": 4,
+ "get_temps_in_use": 6,
+ "lval": 114,
+ "set_temps_in_use": 4,
+ "get_fail_info": 13,
+ "fail_info": 24,
+ "set_fail_info": 9,
+ "set_label_counter": 3,
+ "set_succip_used": 3,
+ "set_layout_info": 4,
+ "get_max_temp_slot_count": 2,
+ "set_max_temp_slot_count": 2,
+ "get_temp_content_map": 3,
+ "map": 7,
+ "slot_contents": 4,
+ "set_temp_content_map": 2,
+ "get_persistent_temps": 3,
+ "set_persistent_temps": 2,
+ "set_closure_layouts": 3,
+ "get_closure_seq_counter": 3,
+ "set_closure_seq_counter": 3,
+ "set_created_temp_frame": 2,
+ "code_info_static": 26,
+ "code_info_loc_dep": 22,
+ "code_info_persistent": 44,
+ ".": 610,
+ "cis_globals": 2,
+ "cis_exprn_opts": 2,
+ "cis_module_info": 2,
+ "cis_pred_id": 2,
+ "cis_proc_id": 2,
+ "cis_pred_info": 2,
+ "cis_proc_info": 2,
+ "cis_proc_label": 1,
+ "proc_label": 2,
+ "cis_varset": 2,
+ "cis_var_slot_count": 2,
+ "cis_maybe_trace_info": 3,
+ "cis_opt_no_resume_calls": 2,
+ "cis_emit_trail_ops": 2,
+ "cis_opt_trail_ops": 2,
+ "cis_emit_region_ops": 2,
+ "cis_opt_region_ops": 2,
+ "cis_auto_comments": 2,
+ "cis_lcmc_null": 2,
+ "cis_containing_goal_map": 2,
+ "cis_const_struct_map": 2,
+ "cild_forward_live_vars": 3,
+ "cild_instmap": 3,
+ "cild_zombies": 3,
+ "cild_var_locn_info": 3,
+ "cild_temps_in_use": 3,
+ "cild_fail_info": 3,
+ "cild_par_conj_depth": 3,
+ "cip_label_num_src": 3,
+ "cip_store_succip": 3,
+ "cip_label_info": 3,
+ "cip_proc_trace_events": 3,
+ "cip_stackslot_max": 3,
+ "cip_temp_contents": 3,
+ "cip_persistent_temps": 3,
+ "cip_closure_layout_seq": 3,
+ "cip_closure_layouts": 3,
+ "cip_max_reg_r_used": 3,
+ "cip_max_reg_f_used": 2,
+ "cip_created_temp_frame": 3,
+ "cip_static_cell_info": 3,
+ "cip_alloc_sites": 3,
+ "cip_used_env_vars": 3,
+ "cip_ts_string_table_size": 3,
+ "cip_ts_rev_string_table": 4,
+ "cip_out_of_line_code": 4,
+ "SaveSuccip": 2,
+ "Globals": 32,
+ "PredId": 50,
+ "ProcId": 31,
+ "PredInfo": 64,
+ "ProcInfo": 43,
+ "FollowVars": 6,
+ "ModuleInfo": 49,
+ "StaticCellInfo": 8,
+ "ConstStructMap": 2,
+ "ResumePoint": 13,
+ "TraceSlotInfo": 5,
+ "MaybeContainingGoalMap": 5,
+ "TSRevStringTable": 2,
+ "TSStringTableSize": 2,
+ "CodeInfo": 2,
+ "ProcLabel": 8,
+ "make_proc_label": 1,
+ "proc_info_get_initial_instmap": 1,
+ "InstMap": 6,
+ "proc_info_get_liveness_info": 1,
+ "Liveness": 4,
+ "CodeModel": 8,
+ "proc_info_interface_code_model": 2,
+ "build_input_arg_list": 1,
+ "ArgList": 2,
+ "proc_info_get_varset": 1,
+ "VarSet": 15,
+ "proc_info_get_vartypes": 2,
+ "VarTypes": 22,
+ "proc_info_get_stack_slots": 1,
+ "StackSlots": 5,
+ "ExprnOpts": 4,
+ "init_exprn_opts": 3,
+ "globals.lookup_bool_option": 18,
+ "use_float_registers": 5,
+ "UseFloatRegs": 6,
+ "yes": 144,
+ "FloatRegType": 3,
+ "reg_f": 1,
+ ";": 913,
+ "no": 365,
+ "reg_r": 2,
+ "globals.get_trace_level": 1,
+ "TraceLevel": 5,
+ "eff_trace_level_is_none": 2,
+ "trace_fail_vars": 1,
+ "FailVars": 3,
+ "MaybeFailVars": 3,
+ "set_of_var.union": 3,
+ "EffLiveness": 3,
+ "init_var_locn_state": 1,
+ "VarLocnInfo": 12,
+ "stack.init": 1,
+ "ResumePoints": 14,
+ "allow_hijacks": 3,
+ "AllowHijack": 3,
+ "Hijack": 6,
+ "allowed": 6,
+ "not_allowed": 5,
+ "DummyFailInfo": 2,
+ "resume_point_unknown": 9,
+ "may_be_different": 7,
+ "not_inside_non_condition": 2,
+ "map.init": 7,
+ "TempContentMap": 4,
+ "set.init": 7,
+ "PersistentTemps": 4,
+ "TempsInUse": 8,
+ "Zombies": 2,
+ "set_of_var.init": 1,
+ "LayoutMap": 2,
+ "max_var_slot": 1,
+ "VarSlotMax": 2,
+ "trace_reserved_slots": 1,
+ "FixedSlots": 2,
+ "_": 149,
+ "int.max": 1,
+ "SlotMax": 2,
+ "opt_no_return_calls": 3,
+ "OptNoReturnCalls": 2,
+ "use_trail": 3,
+ "UseTrail": 2,
+ "disable_trail_ops": 3,
+ "DisableTrailOps": 2,
+ "EmitTrailOps": 3,
+ "do_not_add_trail_ops": 1,
+ "optimize_trail_usage": 3,
+ "OptTrailOps": 2,
+ "optimize_region_ops": 3,
+ "OptRegionOps": 2,
+ "region_analysis": 3,
+ "UseRegions": 3,
+ "EmitRegionOps": 3,
+ "do_not_add_region_ops": 1,
+ "auto_comments": 4,
+ "AutoComments": 2,
+ "optimize_constructor_last_call_null": 3,
+ "LCMCNull": 2,
+ "CodeInfo0": 2,
+ "init_fail_info": 2,
+ "will": 1,
+ "override": 1,
+ "this": 4,
+ "dummy": 2,
+ "value": 16,
+ "nested": 1,
+ "parallel": 3,
+ "conjunction": 1,
+ "depth": 1,
+ "counter.init": 2,
+ "[": 203,
+ "]": 203,
+ "set_tree234.init": 1,
+ "cord.empty": 1,
+ "init_maybe_trace_info": 3,
+ "CodeInfo1": 2,
+ "exprn_opts.": 1,
+ "gcc_non_local_gotos": 3,
+ "OptNLG": 3,
+ "NLG": 3,
+ "have_non_local_gotos": 1,
+ "do_not_have_non_local_gotos": 1,
+ "asm_labels": 3,
+ "OptASM": 3,
+ "ASM": 3,
+ "have_asm_labels": 1,
+ "do_not_have_asm_labels": 1,
+ "static_ground_cells": 3,
+ "OptSGCell": 3,
+ "SGCell": 3,
+ "have_static_ground_cells": 1,
+ "do_not_have_static_ground_cells": 1,
+ "unboxed_float": 3,
+ "OptUBF": 3,
+ "UBF": 3,
+ "have_unboxed_floats": 1,
+ "do_not_have_unboxed_floats": 1,
+ "OptFloatRegs": 3,
+ "do_not_use_float_registers": 1,
+ "static_ground_floats": 3,
+ "OptSGFloat": 3,
+ "SGFloat": 3,
+ "have_static_ground_floats": 1,
+ "do_not_have_static_ground_floats": 1,
+ "static_code_addresses": 3,
+ "OptStaticCodeAddr": 3,
+ "StaticCodeAddrs": 3,
+ "have_static_code_addresses": 1,
+ "do_not_have_static_code_addresses": 1,
+ "trace_level": 4,
+ "CI": 294,
+ "proc_info_get_has_tail_call_events": 1,
+ "HasTailCallEvents": 3,
+ "tail_call_events": 1,
+ "get_next_label": 5,
+ "TailRecLabel": 2,
+ "MaybeTailRecLabel": 3,
+ "no_tail_call_events": 1,
+ "trace_setup": 1,
+ "TraceInfo": 2,
+ "MaxRegR": 4,
+ "MaxRegF": 4,
+ "cip_max_reg_f_used.": 1,
+ "TI": 4,
+ "LV": 2,
+ "IM": 2,
+ "Zs": 2,
+ "EI": 2,
+ "FI": 2,
+ "N": 6,
+ "LC": 2,
+ "SU": 2,
+ "LI": 2,
+ "PTE": 2,
+ "TM": 2,
+ "CM": 2,
+ "PT": 2,
+ "CLS": 2,
+ "CG": 2,
+ "MR": 4,
+ "MF": 1,
+ "MF.": 1,
+ "SCI": 2,
+ "ASI": 2,
+ "UEV": 2,
+ "ContainingGoalMap": 2,
+ "unexpected": 21,
+ "NewCode": 2,
+ "Code0": 2,
+ ".CI": 29,
+ "Code": 36,
+ "+": 127,
+ "Code.": 1,
+ "get_stack_slots": 2,
+ "stack_slots": 1,
+ "get_follow_var_map": 2,
+ "abs_follow_vars_map": 1,
+ "get_next_non_reserved": 2,
+ "reg_type": 1,
+ "set_follow_vars": 4,
+ "pre_goal_update": 3,
+ "hlds_goal_info": 22,
+ "has_subgoals": 2,
+ "post_goal_update": 3,
+ "body_typeinfo_liveness": 4,
+ "variable_type": 3,
+ "prog_var": 58,
+ "mer_type.": 1,
+ "variable_is_of_dummy_type": 2,
+ "is_dummy_type.": 1,
+ "search_type_defn": 4,
+ "mer_type": 21,
+ "hlds_type_defn": 1,
+ "semidet.": 10,
+ "lookup_type_defn": 2,
+ "hlds_type_defn.": 1,
+ "lookup_cheaper_tag_test": 2,
+ "maybe_cheaper_tag_test.": 1,
+ "filter_region_vars": 2,
+ "set_of_progvar.": 2,
+ "get_proc_model": 2,
+ "code_model.": 1,
+ "get_headvars": 2,
+ "get_arginfo": 2,
+ "arg_info": 2,
+ "get_pred_proc_arginfo": 3,
+ "current_resume_point_vars": 2,
+ "variable_name": 2,
+ "make_proc_entry_label": 2,
+ "code_addr.": 1,
+ "label": 5,
+ "succip_is_used": 2,
+ "add_trace_layout_for_label": 2,
+ "term.context": 3,
+ "trace_port": 1,
+ "forward_goal_path": 1,
+ "user_event_info": 1,
+ "layout_label_info": 2,
+ "get_cur_proc_label": 4,
+ "get_next_closure_seq_no": 2,
+ "add_closure_layout": 2,
+ "add_threadscope_string": 2,
+ "get_threadscope_rev_string_table": 2,
+ "add_scalar_static_cell": 2,
+ "typed_rval": 1,
+ "data_id": 3,
+ "add_scalar_static_cell_natural_types": 2,
+ "rval": 3,
+ "add_vector_static_cell": 2,
+ "llds_type": 1,
+ "add_alloc_site_info": 2,
+ "prog_context": 1,
+ "alloc_site_id": 2,
+ "add_resume_layout_for_label": 2,
+ "var_locn_get_stack_slots": 1,
+ "FollowVarMap": 2,
+ "var_locn_get_follow_var_map": 1,
+ "RegType": 2,
+ "NextNonReserved": 2,
+ "var_locn_get_next_non_reserved": 1,
+ "VarLocnInfo0": 4,
+ "var_locn_set_follow_vars": 1,
+ "GoalInfo": 44,
+ "HasSubGoals": 3,
+ "goal_info_get_resume_point": 1,
+ "no_resume_point": 1,
+ "resume_point": 1,
+ "goal_info_get_follow_vars": 1,
+ "MaybeFollowVars": 3,
+ "goal_info_get_pre_deaths": 1,
+ "PreDeaths": 3,
+ "rem_forward_live_vars": 3,
+ "maybe_make_vars_forward_dead": 2,
+ "goal_info_get_pre_births": 1,
+ "PreBirths": 2,
+ "add_forward_live_vars": 2,
+ "does_not_have_subgoals": 2,
+ "goal_info_get_post_deaths": 2,
+ "PostDeaths": 5,
+ "goal_info_get_post_births": 1,
+ "PostBirths": 3,
+ "make_vars_forward_live": 1,
+ "InstMapDelta": 2,
+ "goal_info_get_instmap_delta": 1,
+ "InstMap0": 2,
+ "instmap.apply_instmap_delta": 1,
+ "TypeInfoLiveness": 2,
+ "module_info_pred_info": 6,
+ "body_should_use_typeinfo_liveness": 1,
+ "Var": 13,
+ "Type": 18,
+ "lookup_var_type": 3,
+ "IsDummy": 2,
+ "VarType": 2,
+ "check_dummy_type": 1,
+ "TypeDefn": 6,
+ "type_to_ctor_det": 1,
+ "TypeCtor": 2,
+ "module_info_get_type_table": 1,
+ "TypeTable": 2,
+ "search_type_ctor_defn": 1,
+ "TypeDefnPrime": 2,
+ "CheaperTagTest": 3,
+ "get_type_defn_body": 1,
+ "TypeBody": 2,
+ "hlds_du_type": 1,
+ "CheaperTagTestPrime": 2,
+ "no_cheaper_tag_test": 1,
+ "ForwardLiveVarsBeforeGoal": 6,
+ "RegionVars": 2,
+ "code_info.get_var_types": 1,
+ "set_of_var.filter": 1,
+ "is_region_var": 1,
+ "HeadVars": 20,
+ "module_info_pred_proc_info": 4,
+ "proc_info_get_headvars": 2,
+ "ArgInfo": 4,
+ "proc_info_arg_info": 1,
+ "ResumeVars": 4,
+ "FailInfo": 19,
+ "ResumePointStack": 2,
+ "stack.det_top": 5,
+ "ResumePointInfo": 2,
+ "pick_first_resume_point": 1,
+ "ResumeMap": 8,
+ "map.keys": 3,
+ "ResumeMapVarList": 2,
+ "set_of_var.list_to_set": 3,
+ "Name": 4,
+ "Varset": 2,
+ "varset.lookup_name": 2,
+ "Immed0": 3,
+ "CodeAddr": 2,
+ "Immed": 3,
+ "globals.lookup_int_option": 1,
+ "procs_per_c_function": 3,
+ "ProcsPerFunc": 2,
+ "CurPredId": 2,
+ "CurProcId": 2,
+ "proc": 2,
+ "make_entry_label": 1,
+ "Label": 8,
+ "C0": 4,
+ "counter.allocate": 2,
+ "C": 34,
+ "internal_label": 3,
+ "Context": 20,
+ "Port": 2,
+ "IsHidden": 2,
+ "GoalPath": 2,
+ "MaybeSolverEventInfo": 2,
+ "Layout": 2,
+ "Internals0": 8,
+ "Exec": 5,
+ "trace_port_layout_info": 1,
+ "LabelNum": 8,
+ "entry_label": 2,
+ "map.search": 2,
+ "Internal0": 4,
+ "internal_layout_info": 6,
+ "Exec0": 3,
+ "Resume": 5,
+ "Return": 6,
+ "Internal": 8,
+ "map.det_update": 4,
+ "Internals": 6,
+ "map.det_insert": 3,
+ "LayoutInfo": 2,
+ "Resume0": 3,
+ "get_active_temps_data": 2,
+ "assoc_list": 1,
+ "Temps": 2,
+ "map.select": 1,
+ "TempsInUseContentMap": 2,
+ "map.to_assoc_list": 3,
+ "cis_proc_label.": 1,
+ "SeqNo": 2,
+ "ClosureLayout": 2,
+ "ClosureLayouts": 2,
+ "|": 38,
+ "String": 2,
+ "SlotNum": 2,
+ "Size0": 3,
+ "RevTable0": 2,
+ "Size": 4,
+ "RevTable": 3,
+ "RevTable.": 1,
+ "TableSize": 2,
+ "cip_ts_string_table_size.": 1,
+ "RvalsTypes": 2,
+ "DataAddr": 6,
+ "StaticCellInfo0": 6,
+ "global_data.add_scalar_static_cell": 1,
+ "Rvals": 2,
+ "global_data.add_scalar_static_cell_natural_types": 1,
+ "Types": 6,
+ "Vector": 2,
+ "global_data.add_vector_static_cell": 1,
+ "AllocId": 2,
+ "AllocSite": 3,
+ "AllocSites0": 2,
+ "set_tree234.insert": 1,
+ "AllocSites": 2,
+ "position_info.": 1,
+ "branch_end_info.": 1,
+ "branch_end": 4,
+ "branch_end_info": 7,
+ "remember_position": 3,
+ "position_info": 14,
+ "reset_to_position": 4,
+ "reset_resume_known": 2,
+ "generate_branch_end": 2,
+ "abs_store_map": 3,
+ "after_all_branches": 2,
+ "save_hp_in_branch": 2,
+ "pos_get_fail_info": 3,
+ "fail_info.": 2,
+ "LocDep": 6,
+ "cild_fail_info.": 1,
+ "CurCI": 2,
+ "NextCI": 2,
+ "Static": 2,
+ "Persistent": 2,
+ "NextCI0": 4,
+ "TempsInUse0": 4,
+ "set.union": 2,
+ "BranchStart": 2,
+ "BranchStartFailInfo": 2,
+ "BSResumeKnown": 2,
+ "CurFailInfo": 2,
+ "CurFailStack": 2,
+ "CurCurfMaxfr": 2,
+ "CurCondEnv": 2,
+ "CurHijack": 2,
+ "NewFailInfo": 2,
+ "StoreMap": 8,
+ "MaybeEnd0": 3,
+ "MaybeEnd": 6,
+ "AbsVarLocs": 3,
+ "assoc_list.values": 1,
+ "AbsLocs": 2,
+ "code_util.max_mentioned_abs_regs": 1,
+ "instmap_is_reachable": 1,
+ "VarLocs": 2,
+ "assoc_list.map_values_only": 2,
+ "abs_locn_to_lval": 2,
+ "place_vars": 1,
+ "remake_with_store_map": 4,
+ "empty": 9,
+ "EndCodeInfo1": 5,
+ "EndCodeInfo0": 3,
+ "FailInfo0": 13,
+ "FailInfo1": 2,
+ "ResumeKnown0": 5,
+ "CurfrMaxfr0": 2,
+ "CondEnv0": 3,
+ "Hijack0": 2,
+ "R": 2,
+ "ResumeKnown1": 2,
+ "CurfrMaxfr1": 2,
+ "CondEnv1": 2,
+ "Hijack1": 2,
+ "resume_point_known": 15,
+ "Redoip0": 3,
+ "Redoip1": 2,
+ "ResumeKnown": 21,
+ "expect": 15,
+ "unify": 21,
+ "must_be_equal": 11,
+ "CurfrMaxfr": 24,
+ "EndCodeInfoA": 2,
+ "TempsInUse1": 2,
+ "EndCodeInfo": 2,
+ "BranchEnd": 2,
+ "BranchEndCodeInfo": 2,
+ "BranchEndLocDep": 2,
+ "VarLocns": 2,
+ "VarLvals": 2,
+ "reinit_var_locn_state": 1,
+ "Slot": 2,
+ "Pos0": 2,
+ "Pos": 2,
+ "CI0": 2,
+ "CIStatic0": 2,
+ "CILocDep0": 2,
+ "CIPersistent0": 2,
+ "LocDep0": 2,
+ "CI1": 2,
+ "save_hp": 1,
+ "CI2": 2,
+ "CIStatic": 2,
+ "CIPersistent": 2,
+ "resume_map.": 1,
+ "resume_point_info.": 1,
+ "disj_hijack_info.": 1,
+ "prepare_for_disj_hijack": 2,
+ "code_model": 3,
+ "disj_hijack_info": 3,
+ "undo_disj_hijack": 2,
+ "ite_hijack_info.": 1,
+ "prepare_for_ite_hijack": 2,
+ "embedded_stack_frame_id": 3,
+ "ite_hijack_info": 3,
+ "ite_enter_then": 2,
+ "simple_neg_info.": 1,
+ "enter_simple_neg": 2,
+ "simple_neg_info": 3,
+ "leave_simple_neg": 2,
+ "det_commit_info.": 1,
+ "prepare_for_det_commit": 2,
+ "det_commit_info": 6,
+ "generate_det_commit": 2,
+ "semi_commit_info.": 1,
+ "prepare_for_semi_commit": 2,
+ "semi_commit_info": 6,
+ "generate_semi_commit": 2,
+ "effect_resume_point": 2,
+ "pop_resume_point": 1,
+ "top_resume_point": 1,
+ "set_resume_point_to_unknown": 1,
+ "set_resume_point_and_frame_to_unknown": 1,
+ "generate_failure": 2,
+ "fail_if_rval_is_false": 1,
+ "failure_is_direct_branch": 1,
+ "code_addr": 8,
+ "may_use_nondet_tailcall": 1,
+ "nondet_tail_call": 1,
+ "produce_vars": 1,
+ "resume_map": 9,
+ "flush_resume_vars_to_stack": 1,
+ "make_resume_point": 1,
+ "resume_locs": 1,
+ "generate_resume_point": 2,
+ "resume_point_vars": 1,
+ "resume_point_stack_addr": 2,
+ "stack": 1,
+ "curfr_vs_maxfr": 2,
+ "condition_env": 3,
+ "hijack_allowed": 2,
+ "orig_only": 2,
+ "stack_only": 2,
+ "orig_and_stack": 1,
+ "stack_and_orig": 1,
+ "redoip_update": 2,
+ "has_been_done": 5,
+ "wont_be_done.": 1,
+ "resume_point_unknown.": 1,
+ "may_be_different.": 1,
+ "inside_non_condition": 6,
+ "not_inside_non_condition.": 1,
+ "not_allowed.": 1,
+ "disj_no_hijack": 4,
+ "disj_temp_frame": 4,
+ "disj_quarter_hijack": 4,
+ "disj_half_hijack": 3,
+ "disj_full_hijack": 3,
+ "HijackInfo": 29,
+ "CondEnv": 12,
+ "Allow": 12,
+ "model_det": 2,
+ "model_semi": 3,
+ "singleton": 28,
+ "llds_instr": 64,
+ "comment": 5,
+ "model_non": 2,
+ "create_temp_frame": 4,
+ "do_fail": 6,
+ "stack.pop": 1,
+ "TopResumePoint": 6,
+ "RestResumePoints": 2,
+ "stack.is_empty": 1,
+ "wont_be_done": 2,
+ "acquire_temp_slot": 15,
+ "slot_lval": 14,
+ "redoip_slot": 30,
+ "curfr": 18,
+ "non_persistent_temp_slot": 15,
+ "RedoipSlot": 33,
+ "assign": 46,
+ "maxfr": 42,
+ "redofr_slot": 14,
+ "RedofrSlot": 17,
+ "from_list": 13,
+ "prevfr_slot": 3,
+ "pick_stack_resume_point": 3,
+ "StackLabel": 9,
+ "LabelConst": 4,
+ "const": 10,
+ "llconst_code_addr": 6,
+ "true": 3,
+ "ite_region_info": 5,
+ "ite_info": 3,
+ "ite_hijack_type": 2,
+ "ite_no_hijack": 3,
+ "ite_temp_frame": 3,
+ "ite_quarter_hijack": 3,
+ "ite_half_hijack": 3,
+ "ite_full_hijack": 3,
+ "CondCodeModel": 4,
+ "MaybeEmbeddedFrameId": 5,
+ "HijackType": 12,
+ "MaybeRegionInfo": 12,
+ "MaxfrSlot": 30,
+ "TempFrameCode": 4,
+ "MaxfrCode": 7,
+ "EmbeddedFrameId": 2,
+ "slot_success_record": 1,
+ "persistent_temp_slot": 1,
+ "SuccessRecordSlot": 6,
+ "InitSuccessCode": 3,
+ "llconst_false": 1,
+ "ITEResumePoint": 2,
+ "ThenCode": 10,
+ "ElseCode": 7,
+ "ResumePoints0": 5,
+ "stack.det_pop": 1,
+ "HijackResumeKnown": 2,
+ "OldCondEnv": 2,
+ "RegionInfo": 2,
+ "EmbeddedStackFrameId": 2,
+ "ITEStackResumeCodeAddr": 2,
+ "llconst_true": 1,
+ "AfterRegionOp": 3,
+ "if_val": 1,
+ "unop": 1,
+ "logical_not": 1,
+ "code_label": 2,
+ "use_and_maybe_pop_region_frame": 1,
+ "region_ite_nondet_cond_fail": 1,
+ "goto": 2,
+ "maybe_pick_stack_resume_point": 1,
+ "ResumeMap0": 2,
+ "make_fake_resume_map": 5,
+ "do_redo": 1,
+ "is_empty": 1,
+ "Vars": 10,
+ "Locns": 2,
+ "set.make_singleton_set": 1,
+ "reg": 1,
+ "pair": 7,
+ "region_commit_stack_frame": 5,
+ "AddTrailOps": 4,
+ "AddRegionOps": 5,
+ "CommitGoalInfo": 4,
+ "DetCommitInfo": 4,
+ "SaveMaxfrCode": 3,
+ "save_maxfr": 3,
+ "MaybeMaxfrSlot": 6,
+ "maybe_save_trail_info": 2,
+ "MaybeTrailSlots": 8,
+ "SaveTrailCode": 4,
+ "maybe_save_region_commit_frame": 4,
+ "MaybeRegionCommitFrameInfo": 8,
+ "SaveRegionCommitFrameCode": 2,
+ "SaveRegionCommitFrameCode.": 2,
+ "RestoreMaxfrCode": 3,
+ "restore_maxfr": 3,
+ "release_temp_slot": 1,
+ "maybe_restore_trail_info": 2,
+ "CommitTrailCode": 4,
+ "maybe_restore_region_commit_frame": 2,
+ "SuccessRegionCode": 3,
+ "_FailureRegionCode": 1,
+ "SuccessRegionCode.": 1,
+ "commit_hijack_info": 2,
+ "commit_temp_frame": 3,
+ "commit_quarter_hijack": 3,
+ "commit_half_hijack": 3,
+ "commit_full_hijack": 3,
+ "SemiCommitInfo": 4,
+ "clone_resume_point": 1,
+ "NewResumePoint": 4,
+ "stack.push": 1,
+ "StackLabelConst": 7,
+ "use_minimal_model_stack_copy_cut": 3,
+ "UseMinimalModelStackCopyCut": 4,
+ "Components": 4,
+ "foreign_proc_raw_code": 4,
+ "cannot_branch_away": 4,
+ "proc_affects_liveness": 2,
+ "live_lvals_info": 4,
+ "proc_does_not_affect_liveness": 2,
+ "MD": 4,
+ "proc_may_duplicate": 2,
+ "MarkCode": 3,
+ "foreign_proc_code": 2,
+ "proc_will_not_call_mercury": 2,
+ "HijackCode": 5,
+ "UseMinimalModel": 3,
+ "CutCode": 4,
+ "SuccessUndoCode": 5,
+ "FailureUndoCode": 5,
+ "AfterCommit": 2,
+ "ResumePointCode": 2,
+ "FailCode": 2,
+ "RestoreTrailCode": 2,
+ "FailureRegionCode": 2,
+ "SuccLabel": 3,
+ "GotoSuccLabel": 2,
+ "SuccLabelCode": 1,
+ "SuccessCode": 2,
+ "FailureCode": 2,
+ "SuccLabelCode.": 1,
+ "_ForwardLiveVarsBeforeGoal": 1,
+ "expr.": 1,
+ "char": 10,
+ "token": 5,
+ "num": 11,
+ "eof": 6,
+ "parse": 1,
+ "exprn/1": 1,
+ "xx": 1,
+ "scan": 16,
+ "mode": 8,
+ "rule": 3,
+ "exprn": 7,
+ "Num": 18,
+ "A": 14,
+ "term": 10,
+ "B": 8,
+ "{": 27,
+ "}": 28,
+ "*": 20,
+ "factor": 6,
+ "/": 1,
+ "//": 2,
+ "Chars": 2,
+ "Toks": 13,
+ "Toks0": 11,
+ "list__reverse": 1,
+ "Cs": 9,
+ "char__is_whitespace": 1,
+ "char__is_digit": 2,
+ "takewhile": 1,
+ "Digits": 2,
+ "Rest": 2,
+ "string__from_char_list": 1,
+ "NumStr": 2,
+ "string__det_to_int": 1,
+ "error": 7,
+ "hello.": 1,
+ "main": 15,
+ "io": 6,
+ "di": 54,
+ "uo": 58,
+ "IO": 4,
+ "io.write_string": 1,
+ "char.": 1,
+ "getopt_io.": 1,
+ "short_option": 36,
+ "option": 9,
+ "long_option": 241,
+ "option_defaults": 2,
+ "option_data": 2,
+ "nondet.": 1,
+ "special_handler": 1,
+ "special_data": 1,
+ "option_table": 5,
+ "maybe_option_table": 3,
+ "inconsequential_options": 1,
+ "options_help": 1,
+ "option_table_add_mercury_library_directory": 1,
+ "option_table.": 2,
+ "option_table_add_search_library_files_directory": 1,
+ "quote_arg": 1,
+ "inhibit_warnings": 4,
+ "inhibit_accumulator_warnings": 3,
+ "halt_at_warn": 3,
+ "halt_at_syntax_errors": 3,
+ "halt_at_auto_parallel_failure": 3,
+ "warn_singleton_vars": 3,
+ "warn_overlapping_scopes": 3,
+ "warn_det_decls_too_lax": 3,
+ "warn_inferred_erroneous": 3,
+ "warn_nothing_exported": 3,
+ "warn_unused_args": 3,
+ "warn_interface_imports": 3,
+ "warn_missing_opt_files": 3,
+ "warn_missing_trans_opt_files": 3,
+ "warn_missing_trans_opt_deps": 3,
+ "warn_non_contiguous_clauses": 3,
+ "warn_non_contiguous_foreign_procs": 3,
+ "warn_non_stratification": 3,
+ "warn_unification_cannot_succeed": 3,
+ "warn_simple_code": 3,
+ "warn_duplicate_calls": 3,
+ "warn_missing_module_name": 3,
+ "warn_wrong_module_name": 3,
+ "warn_smart_recompilation": 3,
+ "warn_undefined_options_variables": 3,
+ "warn_non_tail_recursion": 3,
+ "warn_target_code": 3,
+ "warn_up_to_date": 3,
+ "warn_stubs": 3,
+ "warn_dead_procs": 3,
+ "warn_table_with_inline": 3,
+ "warn_non_term_special_preds": 3,
+ "warn_known_bad_format_calls": 3,
+ "warn_unknown_format_calls": 3,
+ "warn_obsolete": 3,
+ "warn_insts_without_matching_type": 3,
+ "warn_unused_imports": 3,
+ "inform_ite_instead_of_switch": 3,
+ "warn_unresolved_polymorphism": 3,
+ "warn_suspicious_foreign_procs": 3,
+ "warn_state_var_shadowing": 3,
+ "inform_inferred": 3,
+ "inform_inferred_types": 3,
+ "inform_inferred_modes": 3,
+ "verbose": 4,
+ "very_verbose": 4,
+ "verbose_errors": 4,
+ "verbose_recompilation": 3,
+ "find_all_recompilation_reasons": 3,
+ "verbose_make": 3,
+ "verbose_commands": 3,
+ "output_compile_error_lines": 3,
+ "report_cmd_line_args": 3,
+ "report_cmd_line_args_in_doterr": 3,
+ "statistics": 4,
+ "detailed_statistics": 3,
+ "proc_size_statistics": 3,
+ "debug_types": 4,
+ "debug_modes": 4,
+ "debug_modes_statistics": 3,
+ "debug_modes_minimal": 3,
+ "debug_modes_verbose": 3,
+ "debug_modes_pred_id": 3,
+ "debug_dep_par_conj": 3,
+ "debug_det": 4,
+ "debug_code_gen_pred_id": 3,
+ "debug_opt": 3,
+ "debug_term": 4,
+ "constraint": 2,
+ "termination": 3,
+ "analysis": 1,
+ "debug_opt_pred_id": 3,
+ "debug_opt_pred_name": 3,
+ "debug_pd": 3,
+ "pd": 1,
+ "partial": 1,
+ "deduction/deforestation": 1,
+ "debug_il_asm": 3,
+ "il_asm": 1,
+ "IL": 2,
+ "generation": 1,
+ "via": 1,
+ "asm": 1,
+ "debug_liveness": 3,
+ "debug_stack_opt": 3,
+ "debug_make": 3,
+ "debug_closure": 3,
+ "debug_trail_usage": 3,
+ "debug_mode_constraints": 3,
+ "debug_intermodule_analysis": 3,
+ "debug_mm_tabling_analysis": 3,
+ "debug_indirect_reuse": 3,
+ "debug_type_rep": 3,
+ "make_short_interface": 4,
+ "make_interface": 5,
+ "make_private_interface": 4,
+ "make_optimization_interface": 5,
+ "make_transitive_opt_interface": 5,
+ "make_analysis_registry": 3,
+ "make_xml_documentation": 5,
+ "generate_source_file_mapping": 4,
+ "generate_dependency_file": 3,
+ "generate_dependencies": 4,
+ "generate_module_order": 3,
+ "generate_standalone_interface": 3,
+ "convert_to_mercury": 6,
+ "typecheck_only": 4,
+ "errorcheck_only": 4,
+ "target_code_only": 10,
+ "compile_only": 4,
+ "compile_to_shared_lib": 3,
+ "output_grade_string": 3,
+ "output_link_command": 3,
+ "output_shared_lib_link_command": 3,
+ "output_libgrades": 3,
+ "output_cc": 3,
+ "output_c_compiler_type": 4,
+ "output_csharp_compiler_type": 3,
+ "output_cflags": 3,
+ "output_library_link_flags": 3,
+ "output_grade_defines": 3,
+ "output_c_include_directory_flags": 4,
+ "smart_recompilation": 3,
+ "generate_item_version_numbers": 2,
+ "generate_mmc_make_module_dependencies": 4,
+ "assume_gmake": 3,
+ "trace_optimized": 4,
+ "trace_prof": 3,
+ "trace_table_io": 3,
+ "trace_table_io_only_retry": 3,
+ "trace_table_io_states": 3,
+ "trace_table_io_require": 3,
+ "trace_table_io_all": 3,
+ "trace_goal_flags": 3,
+ "prof_optimized": 4,
+ "exec_trace_tail_rec": 3,
+ "suppress_trace": 3,
+ "force_disable_tracing": 3,
+ "delay_death": 3,
+ "delay_death_max_vars": 3,
+ "stack_trace_higher_order": 3,
+ "force_disable_ssdebug": 3,
+ "generate_bytecode": 3,
+ "line_numbers": 4,
+ "frameopt_comments": 3,
+ "max_error_line_width": 3,
+ "show_dependency_graph": 3,
+ "imports_graph": 3,
+ "dump_trace_counts": 3,
+ "dump_hlds": 5,
+ "dump_hlds_pred_id": 3,
+ "dump_hlds_pred_name": 3,
+ "dump_hlds_alias": 4,
+ "dump_hlds_options": 3,
+ "dump_hlds_inst_limit": 3,
+ "dump_hlds_file_suffix": 3,
+ "dump_same_hlds": 3,
+ "dump_mlds": 4,
+ "verbose_dump_mlds": 4,
+ "mode_constraints": 3,
+ "simple_mode_constraints": 3,
+ "prop_mode_constraints": 4,
+ "benchmark_modes": 3,
+ "benchmark_modes_repeat": 3,
+ "sign_assembly": 3,
+ "separate_assemblies": 3,
+ "reorder_conj": 3,
+ "reorder_disj": 3,
+ "fully_strict": 3,
+ "strict_sequential": 3,
+ "allow_stubs": 3,
+ "infer_types": 3,
+ "infer_modes": 3,
+ "infer_det": 4,
+ "infer_all": 3,
+ "type_inference_iteration_limit": 3,
+ "mode_inference_iteration_limit": 3,
+ "event_set_file_name": 3,
+ "grade": 4,
+ "target": 14,
+ "il": 5,
+ "il_only": 4,
+ "compile_to_c": 4,
+ "c": 1,
+ "java": 35,
+ "java_only": 4,
+ "csharp": 6,
+ "csharp_only": 4,
+ "x86_64": 6,
+ "x86_64_only": 4,
+ "erlang": 6,
+ "erlang_only": 4,
+ "exec_trace": 3,
+ "decl_debug": 3,
+ "profiling": 5,
+ "profile_time": 5,
+ "profile_calls": 6,
+ "time_profiling": 3,
+ "memory_profiling": 3,
+ "profile_mem": 1,
+ "deep_profiling": 3,
+ "profile_deep": 4,
+ "profile_memory": 3,
+ "use_activation_counts": 3,
+ "pre_prof_transforms_simplify": 3,
+ "pre_implicit_parallelism_simplify": 3,
+ "coverage_profiling": 3,
+ "coverage_profiling_via_calls": 3,
+ "coverage_profiling_static": 3,
+ "profile_deep_coverage_after_goal": 3,
+ "profile_deep_coverage_branch_ite": 3,
+ "profile_deep_coverage_branch_switch": 3,
+ "profile_deep_coverage_branch_disj": 3,
+ "profile_deep_coverage_use_portcounts": 3,
+ "profile_deep_coverage_use_trivial": 2,
+ "profile_for_feedback": 2,
+ "use_zeroing_for_ho_cycles": 2,
+ "use_lots_of_ho_specialization": 2,
+ "deep_profile_tail_recursion": 2,
+ "record_term_sizes_as_words": 2,
+ "record_term_sizes_as_cells": 2,
+ "experimental_complexity": 2,
+ "gc": 2,
+ "threadscope": 2,
+ "trail_segments": 2,
+ "use_minimal_model_stack_copy": 2,
+ "use_minimal_model_own_stacks": 2,
+ "minimal_model_debug": 2,
+ "single_prec_float": 2,
+ "type_layout": 2,
+ "maybe_thread_safe_opt": 2,
+ "extend_stacks_when_needed": 2,
+ "stack_segments": 2,
+ "use_regions": 2,
+ "use_alloc_regions": 2,
+ "use_regions_debug": 2,
+ "use_regions_profiling": 2,
+ "source_to_source_debug": 5,
+ "ssdb_trace_level": 3,
+ "link_ssdb_libs": 4,
+ "tags": 2,
+ "num_tag_bits": 2,
+ "num_reserved_addresses": 2,
+ "num_reserved_objects": 2,
+ "bits_per_word": 2,
+ "bytes_per_word": 2,
+ "conf_low_tag_bits": 2,
+ "unboxed_enums": 2,
+ "unboxed_no_tag_types": 2,
+ "sync_term_size": 2,
+ "words": 1,
+ "gcc_global_registers": 2,
+ "pic_reg": 2,
+ "highlevel_code": 3,
+ "highlevel_data": 2,
+ "gcc_nested_functions": 2,
+ "det_copy_out": 2,
+ "nondet_copy_out": 2,
+ "put_commit_in_own_func": 2,
+ "put_nondet_env_on_heap": 2,
+ "verifiable_code": 2,
+ "il_refany_fields": 2,
+ "il_funcptr_types": 2,
+ "il_byref_tailcalls": 2,
+ "backend_foreign_languages": 2,
+ "stack_trace": 2,
+ "basic_stack_layout": 2,
+ "agc_stack_layout": 2,
+ "procid_stack_layout": 2,
+ "trace_stack_layout": 2,
+ "can_compare_constants_as_ints": 2,
+ "pretest_equality_cast_pointers": 2,
+ "can_compare_compound_values": 2,
+ "lexically_order_constructors": 2,
+ "mutable_always_boxed": 2,
+ "delay_partial_instantiations": 2,
+ "allow_defn_of_builtins": 2,
+ "special_preds": 2,
+ "type_ctor_info": 2,
+ "type_ctor_layout": 2,
+ "type_ctor_functors": 2,
+ "new_type_class_rtti": 2,
+ "rtti_line_numbers": 2,
+ "disable_minimal_model_stack_copy_pneg": 2,
+ "disable_minimal_model_stack_copy_cut": 2,
+ "use_minimal_model_stack_copy_pneg": 2,
+ "size_region_ite_fixed": 2,
+ "size_region_disj_fixed": 2,
+ "size_region_semi_disj_fixed": 1,
+ "size_region_commit_fixed": 2,
+ "size_region_ite_protect": 2,
+ "size_region_ite_snapshot": 2,
+ "size_region_semi_disj_protect": 2,
+ "size_region_disj_snapshot": 2,
+ "size_region_commit_entry": 2,
+ "solver_type_auto_init": 2,
+ "allow_multi_arm_switches": 2,
+ "type_check_constraints": 2,
+ "allow_argument_packing": 2,
+ "low_level_debug": 2,
+ "table_debug": 2,
+ "trad_passes": 2,
+ "parallel_liveness": 2,
+ "parallel_code_gen": 2,
+ "polymorphism": 2,
+ "reclaim_heap_on_failure": 2,
+ "reclaim_heap_on_semidet_failure": 2,
+ "reclaim_heap_on_nondet_failure": 2,
+ "have_delay_slot": 2,
+ "num_real_r_regs": 2,
+ "num_real_f_regs": 2,
+ "num_real_r_temps": 2,
+ "num_real_f_temps": 2,
+ "max_jump_table_size": 2,
+ "max_specialized_do_call_closure": 2,
+ "max_specialized_do_call_class_method": 2,
+ "compare_specialization": 2,
+ "should_pretest_equality": 2,
+ "fact_table_max_array_size": 2,
+ "fact_table_hash_percent_full": 2,
+ "gcc_local_labels": 2,
+ "prefer_switch": 2,
+ "opt_level": 3,
+ "opt_level_number": 2,
+ "opt_space": 2,
+ "Default": 3,
+ "to": 16,
+ "optimize": 3,
+ "time.": 1,
+ "intermodule_optimization": 2,
+ "read_opt_files_transitively": 2,
+ "use_opt_files": 2,
+ "use_trans_opt_files": 2,
+ "transitive_optimization": 2,
+ "intermodule_analysis": 2,
+ "analysis_repeat": 2,
+ "analysis_file_cache": 2,
+ "allow_inlining": 2,
+ "inlining": 2,
+ "inline_simple": 2,
+ "inline_builtins": 2,
+ "inline_single_use": 2,
+ "inline_call_cost": 2,
+ "inline_compound_threshold": 2,
+ "inline_simple_threshold": 2,
+ "inline_vars_threshold": 2,
+ "intermod_inline_simple_threshold": 2,
+ "from_ground_term_threshold": 2,
+ "enable_const_struct": 2,
+ "common_struct": 2,
+ "common_struct_preds": 2,
+ "common_goal": 2,
+ "constraint_propagation": 2,
+ "local_constraint_propagation": 2,
+ "optimize_unused_args": 2,
+ "intermod_unused_args": 2,
+ "optimize_higher_order": 2,
+ "higher_order_size_limit": 2,
+ "higher_order_arg_limit": 2,
+ "unneeded_code": 2,
+ "unneeded_code_copy_limit": 2,
+ "unneeded_code_debug": 2,
+ "unneeded_code_debug_pred_name": 2,
+ "type_specialization": 2,
+ "user_guided_type_specialization": 2,
+ "introduce_accumulators": 2,
+ "optimize_constructor_last_call_accumulator": 2,
+ "optimize_constructor_last_call": 2,
+ "optimize_duplicate_calls": 2,
+ "constant_propagation": 2,
+ "excess_assign": 2,
+ "optimize_format_calls": 2,
+ "optimize_saved_vars_const": 2,
+ "optimize_saved_vars_cell": 2,
+ "optimize_saved_vars_cell_loop": 2,
+ "optimize_saved_vars_cell_full_path": 2,
+ "optimize_saved_vars_cell_on_stack": 2,
+ "optimize_saved_vars_cell_candidate_headvars": 2,
+ "optimize_saved_vars_cell_cv_store_cost": 2,
+ "optimize_saved_vars_cell_cv_load_cost": 2,
+ "optimize_saved_vars_cell_fv_store_cost": 2,
+ "optimize_saved_vars_cell_fv_load_cost": 2,
+ "optimize_saved_vars_cell_op_ratio": 2,
+ "optimize_saved_vars_cell_node_ratio": 2,
+ "optimize_saved_vars_cell_all_path_node_ratio": 2,
+ "optimize_saved_vars_cell_include_all_candidates": 2,
+ "optimize_saved_vars": 2,
+ "loop_invariants": 2,
+ "delay_construct": 2,
+ "follow_code": 2,
+ "optimize_dead_procs": 2,
+ "deforestation": 2,
+ "deforestation_depth_limit": 2,
+ "deforestation_cost_factor": 2,
+ "deforestation_vars_threshold": 2,
+ "deforestation_size_threshold": 2,
+ "analyse_trail_usage": 2,
+ "analyse_mm_tabling": 2,
+ "untuple": 2,
+ "tuple": 2,
+ "tuple_trace_counts_file": 2,
+ "tuple_costs_ratio": 2,
+ "tuple_min_args": 2,
+ "inline_par_builtins": 2,
+ "always_specialize_in_dep_par_conjs": 2,
+ "allow_some_paths_only_waits": 2,
+ "structure_sharing_analysis": 2,
+ "structure_sharing_widening": 2,
+ "structure_reuse_analysis": 2,
+ "structure_reuse_constraint": 2,
+ "structure_reuse_constraint_arg": 2,
+ "structure_reuse_max_conditions": 2,
+ "structure_reuse_repeat": 2,
+ "structure_reuse_free_cells": 2,
+ "termination_check": 2,
+ "verbose_check_termination": 2,
+ "termination_single_args": 2,
+ "termination_norm": 2,
+ "termination_error_limit": 2,
+ "termination_path_limit": 2,
+ "termination2": 2,
+ "check_termination2": 2,
+ "verbose_check_termination2": 2,
+ "termination2_norm": 2,
+ "widening_limit": 2,
+ "arg_size_analysis_only": 2,
+ "propagate_failure_constrs": 2,
+ "term2_maximum_matrix_size": 2,
+ "analyse_exceptions": 2,
+ "analyse_closures": 2,
+ "smart_indexing": 2,
+ "dense_switch_req_density": 2,
+ "lookup_switch_req_density": 2,
+ "dense_switch_size": 2,
+ "lookup_switch_size": 2,
+ "string_hash_switch_size": 2,
+ "string_binary_switch_size": 2,
+ "tag_switch_size": 2,
+ "try_switch_size": 2,
+ "binary_switch_size": 2,
+ "switch_single_rec_base_first": 2,
+ "switch_multi_rec_base_first": 2,
+ "use_atomic_cells": 2,
+ "middle_rec": 2,
+ "simple_neg": 2,
+ "optimize_tailcalls": 2,
+ "optimize_initializations": 2,
+ "eliminate_local_vars": 2,
+ "generate_trail_ops_inline": 2,
+ "common_data": 2,
+ "common_layout_data": 2,
+ "Also": 1,
+ "used": 2,
+ "for": 8,
+ "MLDS": 2,
+ "optimizations.": 1,
+ "optimize_peep": 2,
+ "optimize_peep_mkword": 2,
+ "optimize_jumps": 2,
+ "optimize_fulljumps": 2,
+ "pessimize_tailcalls": 2,
+ "checked_nondet_tailcalls": 2,
+ "use_local_vars": 2,
+ "local_var_access_threshold": 2,
+ "standardize_labels": 2,
+ "optimize_labels": 2,
+ "optimize_dups": 2,
+ "optimize_proc_dups": 2,
+ "optimize_frames": 2,
+ "optimize_delay_slot": 2,
+ "optimize_reassign": 2,
+ "optimize_repeat": 2,
+ "layout_compression_limit": 2,
+ "use_macro_for_redo_fail": 2,
+ "emit_c_loops": 2,
+ "everything_in_one_c_function": 2,
+ "local_thread_engine_base": 2,
+ "erlang_switch_on_strings_as_atoms": 2,
+ "target_debug": 2,
+ "cc": 2,
+ "cflags": 2,
+ "quoted_cflag": 2,
+ "c_include_directory": 2,
+ "c_optimize": 2,
+ "ansi_c": 2,
+ "inline_alloc": 2,
+ "gcc_flags": 2,
+ "quoted_gcc_flag": 2,
+ "clang_flags": 2,
+ "quoted_clang_flag": 2,
+ "msvc_flags": 2,
+ "quoted_msvc_flag": 2,
+ "cflags_for_warnings": 2,
+ "cflags_for_optimization": 2,
+ "cflags_for_ansi": 2,
+ "cflags_for_regs": 2,
+ "cflags_for_gotos": 2,
+ "cflags_for_threads": 2,
+ "cflags_for_debug": 2,
+ "cflags_for_pic": 2,
+ "c_flag_to_name_object_file": 2,
+ "object_file_extension": 2,
+ "pic_object_file_extension": 2,
+ "link_with_pic_object_file_extension": 2,
+ "c_compiler_type": 2,
+ "csharp_compiler_type": 2,
+ "java_compiler": 2,
+ "java_interpreter": 2,
+ "java_flags": 2,
+ "quoted_java_flag": 2,
+ "java_classpath": 2,
+ "java_object_file_extension": 2,
+ "il_assembler": 2,
+ "ilasm_flags": 2,
+ "quoted_ilasm_flag": 2,
+ "dotnet_library_version": 2,
+ "support_ms_clr": 2,
+ "support_rotor_clr": 2,
+ "csharp_compiler": 2,
+ "csharp_flags": 2,
+ "quoted_csharp_flag": 2,
+ "cli_interpreter": 2,
+ "erlang_compiler": 2,
+ "erlang_interpreter": 2,
+ "erlang_flags": 2,
+ "quoted_erlang_flag": 2,
+ "erlang_include_directory": 2,
+ "erlang_object_file_extension": 2,
+ "erlang_native_code": 2,
+ "erlang_inhibit_trivial_warnings": 2,
+ "output_file_name": 3,
+ "ld_flags": 2,
+ "quoted_ld_flag": 2,
+ "ld_libflags": 2,
+ "quoted_ld_libflag": 2,
+ "link_library_directories": 3,
+ "runtime_link_library_directories": 3,
+ "link_libraries": 3,
+ "link_objects": 2,
+ "mercury_library_directories": 2,
+ "mercury_library_directory_special": 2,
+ "search_library_files_directories": 2,
+ "search_library_files_directory_special": 2,
+ "mercury_libraries": 2,
+ "mercury_library_special": 2,
+ "mercury_standard_library_directory": 2,
+ "mercury_standard_library_directory_special": 2,
+ "init_file_directories": 2,
+ "init_files": 2,
+ "trace_init_files": 2,
+ "linkage": 2,
+ "linkage_special": 2,
+ "mercury_linkage": 2,
+ "mercury_linkage_special": 2,
+ "strip": 2,
+ "demangle": 2,
+ "allow_undefined": 2,
+ "use_readline": 2,
+ "runtime_flags": 2,
+ "extra_initialization_functions": 2,
+ "frameworks": 2,
+ "framework_directories": 3,
+ "shared_library_extension": 2,
+ "library_extension": 2,
+ "executable_file_extension": 2,
+ "link_executable_command": 2,
+ "link_shared_lib_command": 2,
+ "create_archive_command": 2,
+ "create_archive_command_output_flag": 2,
+ "create_archive_command_flags": 2,
+ "ranlib_command": 2,
+ "ranlib_flags": 2,
+ "mkinit_command": 2,
+ "mkinit_erl_command": 2,
+ "demangle_command": 2,
+ "filtercc_command": 2,
+ "trace_libs": 2,
+ "thread_libs": 2,
+ "hwloc_libs": 2,
+ "hwloc_static_libs": 2,
+ "shared_libs": 2,
+ "math_lib": 2,
+ "readline_libs": 2,
+ "linker_opt_separator": 2,
+ "linker_thread_flags": 2,
+ "shlib_linker_thread_flags": 2,
+ "linker_static_flags": 2,
+ "linker_strip_flag": 2,
+ "linker_link_lib_flag": 2,
+ "linker_link_lib_suffix": 2,
+ "shlib_linker_link_lib_flag": 2,
+ "shlib_linker_link_lib_suffix": 2,
+ "linker_debug_flags": 2,
+ "shlib_linker_debug_flags": 2,
+ "linker_trace_flags": 2,
+ "shlib_linker_trace_flags": 2,
+ "linker_path_flag": 2,
+ "linker_rpath_flag": 2,
+ "linker_rpath_separator": 2,
+ "shlib_linker_rpath_flag": 2,
+ "shlib_linker_rpath_separator": 2,
+ "linker_allow_undefined_flag": 2,
+ "linker_error_undefined_flag": 2,
+ "shlib_linker_use_install_name": 2,
+ "shlib_linker_install_name_flag": 2,
+ "shlib_linker_install_name_path": 2,
+ "java_archive_command": 2,
+ "make": 3,
+ "keep_going": 3,
+ "rebuild": 3,
+ "jobs": 3,
+ "track_flags": 2,
+ "invoked_by_mmc_make": 2,
+ "extra_init_command": 2,
+ "pre_link_command": 2,
+ "install_prefix": 2,
+ "use_symlinks": 2,
+ "mercury_configuration_directory": 2,
+ "mercury_configuration_directory_special": 2,
+ "install_command": 2,
+ "install_command_dir_option": 2,
+ "libgrades": 2,
+ "libgrades_include_components": 2,
+ "libgrades_exclude_components": 2,
+ "lib_linkages": 2,
+ "flags_file": 2,
+ "options_files": 2,
+ "config_file": 2,
+ "options_search_directories": 2,
+ "use_subdirs": 2,
+ "use_grade_subdirs": 2,
+ "search_directories": 3,
+ "intermod_directories": 2,
+ "use_search_directories_for_intermod": 2,
+ "libgrade_install_check": 2,
+ "order_make_by_timestamp": 2,
+ "show_make_times": 2,
+ "extra_library_header": 2,
+ "restricted_command_line": 2,
+ "env_type": 2,
+ "host_env_type": 2,
+ "target_env_type": 2,
+ "filenames_from_stdin": 2,
+ "typecheck_ambiguity_warn_limit": 2,
+ "typecheck_ambiguity_error_limit": 2,
+ "help": 4,
+ "version": 3,
+ "fullarch": 2,
+ "cross_compiling": 2,
+ "local_module_id": 2,
+ "analysis_file_cache_dir": 2,
+ "compiler_sufficiently_recent": 2,
+ "experiment": 2,
+ "ignore_par_conjunctions": 2,
+ "control_granularity": 2,
+ "distance_granularity": 2,
+ "implicit_parallelism": 2,
+ "feedback_file": 2,
+ "par_loop_control": 2,
+ "par_loop_control_preserve_tail_recursion.": 1,
+ "libs.handle_options.": 1,
+ "dir.": 1,
+ "option_category": 2,
+ "warning_option": 2,
+ "verbosity_option": 2,
+ "output_option": 2,
+ "aux_output_option": 2,
+ "language_semantics_option": 2,
+ "compilation_model_option": 2,
+ "internal_use_option": 2,
+ "code_gen_option": 2,
+ "special_optimization_option": 2,
+ "optimization_option": 2,
+ "target_code_compilation_option": 2,
+ "link_option": 2,
+ "build_system_option": 2,
+ "miscellaneous_option.": 1,
+ "Option": 2,
+ "option_defaults_2": 18,
+ "_Category": 1,
+ "OptionsList": 2,
+ "list.member": 2,
+ "multi.": 1,
+ "bool_special": 7,
+ "XXX": 3,
+ "should": 1,
+ "be": 1,
+ "accumulating": 49,
+ "maybe_string": 6,
+ "special": 17,
+ "string_special": 18,
+ "int_special": 1,
+ "maybe_string_special": 1,
+ "file_special": 1,
+ "miscellaneous_option": 1,
+ "par_loop_control_preserve_tail_recursion": 1,
+ "check_hlds.polymorphism.": 1,
+ "hlds.": 1,
+ "mdbcomp.": 1,
+ "parse_tree.": 1,
+ "polymorphism_process_module": 2,
+ "polymorphism_process_generated_pred": 2,
+ "unification_typeinfos_rtti_varmaps": 2,
+ "rtti_varmaps": 9,
+ "unification": 8,
+ "polymorphism_process_new_call": 2,
+ "builtin_state": 1,
+ "call_unify_context": 2,
+ "sym_name": 3,
+ "hlds_goal": 45,
+ "poly_info": 45,
+ "polymorphism_make_type_info_vars": 1,
+ "polymorphism_make_type_info_var": 1,
+ "int_or_var": 2,
+ "iov_int": 1,
+ "iov_var": 1,
+ "gen_extract_type_info": 1,
+ "tvar": 10,
+ "kind": 1,
+ "vartypes": 12,
+ "poly_info.": 1,
+ "create_poly_info": 1,
+ "poly_info_extract": 1,
+ "build_typeclass_info_type": 3,
+ "prog_constraint": 4,
+ "type_is_typeclass_info": 1,
+ "type_is_type_info_or_ctor_type": 1,
+ "build_type_info_type": 1,
+ "get_special_proc": 1,
+ "special_pred_id": 2,
+ "get_special_proc_det": 1,
+ "convert_pred_to_lambda_goal": 3,
+ "purity": 1,
+ "lambda_eval_method": 1,
+ "unify_context": 3,
+ "context": 1,
+ "unify_rhs": 4,
+ "fix_undetermined_mode_lambda_goal": 2,
+ "rhs_lambda_goal": 7,
+ "init_type_info_var": 1,
+ "init_const_type_ctor_info_var": 1,
+ "type_ctor": 1,
+ "cons_id": 2,
+ "type_info_kind": 2,
+ "type_info": 8,
+ "type_ctor_info.": 1,
+ "new_type_info_var_raw": 1,
+ "check_hlds.clause_to_proc.": 1,
+ "check_hlds.mode_util.": 1,
+ "hlds.from_ground_term_util.": 1,
+ "hlds.const_struct.": 1,
+ "hlds.goal_util.": 1,
+ "hlds.hlds_args.": 1,
+ "hlds.hlds_clauses.": 1,
+ "hlds.hlds_code_util.": 1,
+ "hlds.passes_aux.": 1,
+ "hlds.pred_table.": 1,
+ "hlds.quantification.": 1,
+ "hlds.special_pred.": 1,
+ "libs.": 1,
+ "mdbcomp.program_representation.": 1,
+ "parse_tree.prog_mode.": 1,
+ "parse_tree.prog_type_subst.": 1,
+ "solutions.": 1,
+ "module_info_get_preds": 3,
+ ".ModuleInfo": 8,
+ "Preds0": 2,
+ "PredIds0": 2,
+ "list.foldl": 6,
+ "maybe_polymorphism_process_pred": 3,
+ "Preds1": 2,
+ "PredIds1": 2,
+ "fixup_pred_polymorphism": 4,
+ "expand_class_method_bodies": 1,
+ "PredModule": 8,
+ "pred_info_module": 4,
+ "PredName": 8,
+ "pred_info_name": 4,
+ "PredArity": 6,
+ "pred_info_orig_arity": 3,
+ "no_type_info_builtin": 3,
+ "copy_module_clauses_to_procs": 1,
+ "polymorphism_process_pred_msg": 3,
+ "PredTable0": 3,
+ "map.lookup": 2,
+ "PredInfo0": 16,
+ "pred_info_get_clauses_info": 2,
+ "ClausesInfo0": 5,
+ "clauses_info_get_vartypes": 2,
+ "VarTypes0": 12,
+ "clauses_info_get_headvars": 2,
+ "pred_info_get_arg_types": 7,
+ "TypeVarSet": 15,
+ "ExistQVars": 13,
+ "ArgTypes0": 3,
+ "proc_arg_vector_partition_poly_args": 1,
+ "ExtraHeadVarList": 2,
+ "OldHeadVarList": 2,
+ "lookup_var_types": 6,
+ "ExtraArgTypes": 2,
+ "ArgTypes": 6,
+ "pred_info_set_arg_types": 1,
+ "PredInfo1": 5,
+ "OldHeadVarTypes": 2,
+ "type_list_subsumes": 2,
+ "Subn": 3,
+ "map.is_empty": 1,
+ "pred_info_set_existq_tvar_binding": 1,
+ "PredInfo2": 7,
+ "polymorphism_introduce_exists_casts_pred": 3,
+ "PredTable": 2,
+ "module_info_set_preds": 1,
+ "pred_info_get_procedures": 2,
+ ".PredInfo": 2,
+ "Procs0": 4,
+ "map.map_values_only": 1,
+ ".ProcInfo": 2,
+ "det": 21,
+ "introduce_exists_casts_proc": 1,
+ "Procs": 4,
+ "pred_info_set_procedures": 2,
+ "trace": 4,
+ "compiletime": 4,
+ "flag": 4,
+ "write_pred_progress_message": 1,
+ "polymorphism_process_pred": 4,
+ "mutable": 3,
+ "selected_pred": 1,
+ "ground": 9,
+ "untrailed": 2,
+ "level": 1,
+ "promise_pure": 30,
+ "pred_id_to_int": 1,
+ "impure": 2,
+ "set_selected_pred": 2,
+ "polymorphism_process_clause_info": 3,
+ "ClausesInfo": 13,
+ "Info": 134,
+ "ExtraArgModes": 20,
+ "poly_info_get_module_info": 4,
+ "poly_info_get_const_struct_db": 1,
+ "ConstStructDb": 2,
+ "module_info_set_const_struct_db": 1,
+ "poly_info_get_typevarset": 4,
+ "pred_info_set_typevarset": 1,
+ "pred_info_set_clauses_info": 1,
+ "ProcIds": 5,
+ "pred_info_procids": 2,
+ "polymorphism_process_proc_in_table": 3,
+ "module_info_set_pred_info": 1,
+ "clauses_info": 6,
+ "poly_arg_vector": 9,
+ "mer_mode": 14,
+ "ModuleInfo0": 8,
+ "init_poly_info": 1,
+ ".ClausesInfo": 2,
+ "_VarSet": 1,
+ "ExplicitVarTypes": 2,
+ "_TVarNameMap": 1,
+ "_VarTypes": 1,
+ "HeadVars0": 5,
+ "ClausesRep0": 2,
+ "ItemNumbers": 2,
+ "_RttiVarMaps": 1,
+ "HaveForeignClauses": 2,
+ "setup_headvars": 3,
+ "UnconstrainedTVars": 15,
+ "ExtraTypeInfoHeadVars": 4,
+ "ExistTypeClassInfoHeadVars": 6,
+ "get_clause_list": 1,
+ "Clauses0": 2,
+ "list.map_foldl": 2,
+ "polymorphism_process_clause": 3,
+ "Clauses": 2,
+ "poly_info_get_varset": 4,
+ ".Info": 25,
+ "poly_info_get_var_types": 6,
+ "poly_info_get_rtti_varmaps": 4,
+ "RttiVarMaps": 16,
+ "set_clause_list": 1,
+ "ClausesRep": 2,
+ "TVarNameMap": 2,
+ "This": 2,
+ "only": 4,
+ "while": 1,
+ "adding": 1,
+ "the": 27,
+ "clauses.": 1,
+ "proc_arg_vector": 9,
+ "clause": 2,
+ "OldHeadVars": 2,
+ "NewHeadVars": 2,
+ "Clause": 2,
+ "pred_info_is_imported": 2,
+ "Goal0": 21,
+ ".Clause": 1,
+ "clause_body": 2,
+ "empty_cache_maps": 4,
+ "poly_info_set_num_reuses": 1,
+ "polymorphism_process_goal": 20,
+ "Goal1": 2,
+ "produce_existq_tvars": 3,
+ "Goal2": 2,
+ "pred_info_get_exist_quant_tvars": 1,
+ "fixup_quantification": 1,
+ "Goal": 40,
+ "proc_table": 2,
+ "ProcTable": 2,
+ ".ProcTable": 1,
+ "ProcInfo0": 2,
+ "polymorphism_process_proc": 3,
+ "pred_info_is_pseudo_imported": 1,
+ "hlds_pred.in_in_unification_proc_id": 1,
+ "HeadVarList": 4,
+ "proc_arg_vector_to_list": 2,
+ "clauses_info_get_rtti_varmaps": 1,
+ "clauses_info_get_varset": 1,
+ "proc_info_set_headvars": 1,
+ "proc_info_set_rtti_varmaps": 1,
+ "proc_info_set_varset": 1,
+ "proc_info_set_vartypes": 1,
+ "copy_clauses_to_proc": 1,
+ "proc_info_get_argmodes": 2,
+ "ArgModes1": 2,
+ "ExtraArgModesList": 2,
+ "poly_arg_vector_to_list": 1,
+ "ArgModes": 5,
+ "proc_info_set_argmodes": 1,
+ "ExtraHeadTypeInfoVars": 7,
+ "ExistHeadTypeClassInfoVars": 9,
+ "pred_info_get_origin": 1,
+ "Origin": 8,
+ "ExtraArgModes0": 3,
+ "poly_arg_vector_init": 1,
+ "origin_instance_method": 1,
+ "InstanceMethodConstraints": 4,
+ "setup_headvars_instance_method": 3,
+ "origin_special_pred": 1,
+ "origin_transformed": 1,
+ "origin_created": 1,
+ "origin_assertion": 1,
+ "origin_lambda": 1,
+ "origin_user": 1,
+ "pred_info_get_class_context": 4,
+ "ClassContext": 6,
+ "InstanceTVars": 7,
+ "InstanceUnconstrainedTVars": 2,
+ "InstanceUnconstrainedTypeInfoVars": 2,
+ "setup_headvars_2": 4,
+ "instance_method_constraints": 2,
+ "InstanceTypes": 2,
+ "InstanceConstraints": 3,
+ "type_vars_list": 5,
+ "get_unconstrained_tvars": 1,
+ "UnconstrainedInstanceTVars": 6,
+ "ArgTypeVarSet": 5,
+ "make_head_vars": 3,
+ "UnconstrainedInstanceTypeInfoVars": 7,
+ "make_typeclass_info_head_vars": 3,
+ "do_record_type_info_locns": 3,
+ "InstanceHeadTypeClassInfoVars": 4,
+ "proc_arg_vector_set_instance_type_infos": 1,
+ "proc_arg_vector_set_instance_typeclass_infos": 1,
+ "RttiVarMaps0": 4,
+ "rtti_reuse_typeclass_info_var": 3,
+ "poly_info_set_rtti_varmaps": 3,
+ "in_mode": 3,
+ "InMode": 3,
+ "list.duplicate": 6,
+ "list.length": 16,
+ "UnconstrainedInstanceTypeInfoModes": 2,
+ "InstanceHeadTypeClassInfoModes": 2,
+ "poly_arg_vector_set_instance_type_infos": 1,
+ "poly_arg_vector_set_instance_typeclass_infos": 1,
+ "prog_constraints": 1,
+ "AllUnconstrainedTVars": 2,
+ "AllExtraHeadTypeInfoVars": 2,
+ "constraints": 4,
+ "UnivConstraints": 3,
+ "ExistConstraints": 6,
+ "prog_type.constraint_list_get_tvars": 2,
+ "UnivConstrainedTVars": 2,
+ "ExistConstrainedTVars": 2,
+ "poly_info_get_constraint_map": 4,
+ "ConstraintMap": 12,
+ "get_improved_exists_head_constraints": 4,
+ "ActualExistConstraints": 9,
+ "pred_info_get_markers": 1,
+ "PredMarkers": 2,
+ "check_marker": 1,
+ "marker_class_method": 1,
+ "RecordExistQLocns": 3,
+ "do_not_record_type_info_locns": 1,
+ "UnivHeadTypeClassInfoVars": 4,
+ "HeadTypeVars": 2,
+ "list.delete_elems": 12,
+ "UnconstrainedTVars0": 2,
+ "UnconstrainedTVars1": 2,
+ "UnconstrainedTVars2": 2,
+ "list.remove_dups": 4,
+ "UnconstrainedUnivTVars": 7,
+ "UnconstrainedExistTVars": 6,
+ "ExistHeadTypeInfoVars": 5,
+ "UnivHeadTypeInfoVars": 4,
+ "list.condense": 4,
+ "proc_arg_vector_set_univ_type_infos": 1,
+ "HeadVars1": 2,
+ "proc_arg_vector_set_exist_type_infos": 1,
+ "HeadVars2": 2,
+ "proc_arg_vector_set_univ_typeclass_infos": 1,
+ "HeadVars3": 2,
+ "proc_arg_vector_set_exist_typeclass_infos": 1,
+ "In": 6,
+ "out_mode": 2,
+ "Out": 6,
+ "NumUnconstrainedUnivTVars": 2,
+ "NumUnconstrainedExistTVars": 2,
+ "NumUnivClassInfoVars": 2,
+ "NumExistClassInfoVars": 2,
+ "UnivTypeInfoModes": 2,
+ "ExistTypeInfoModes": 2,
+ "UnivTypeClassInfoModes": 2,
+ "ExistTypeClassInfoModes": 2,
+ "poly_arg_vector_set_univ_type_infos": 1,
+ "poly_arg_vector_set_exist_type_infos": 1,
+ "poly_arg_vector_set_univ_typeclass_infos": 1,
+ "poly_arg_vector_set_exist_typeclass_infos": 1,
+ "some": 4,
+ "ToLocn": 4,
+ "TheVar": 2,
+ "TheLocn": 2,
+ "list.map": 17,
+ "UnivTypeLocns": 2,
+ "list.foldl_corresponding": 3,
+ "rtti_det_insert_type_info_locn": 3,
+ "ExistTypeLocns": 2,
+ "UnconstrainedInstanceTypeLocns": 2,
+ ".RttiVarMaps": 1,
+ "TypeInfoHeadVars": 2,
+ "pred_info_get_tvar_kinds": 2,
+ "KindMap": 2,
+ "PredClassContext": 5,
+ "PredExistConstraints": 2,
+ "exist_constraints": 1,
+ "ExistQVarsForCall": 2,
+ "goal_info_get_context": 4,
+ "make_typeclass_info_vars": 3,
+ "ExistTypeClassVarsMCAs": 2,
+ "ExtraTypeClassGoals": 5,
+ "assoc_list.keys": 8,
+ "ExistTypeClassVars": 3,
+ "assign_var_list": 8,
+ "ExtraTypeClassUnifyGoals": 2,
+ "vartypes_is_empty": 1,
+ "PredToActualTypeSubst": 4,
+ "ActualArgTypes": 8,
+ "ArgTypeSubst": 2,
+ "apply_subst_to_tvar_list": 1,
+ "ActualTypes": 2,
+ "polymorphism_do_make_type_info_vars": 5,
+ "TypeInfoVarsMCAs": 2,
+ "ExtraTypeInfoGoals": 4,
+ "TypeInfoVars": 5,
+ "ExtraTypeInfoUnifyGoals": 2,
+ "GoalList": 8,
+ "conj_list_to_goal": 6,
+ "Var1": 5,
+ "Vars1": 2,
+ "Var2": 5,
+ "Vars2": 2,
+ "Goals": 13,
+ "assign_var": 3,
+ "true_goal": 1,
+ "term.context_init": 2,
+ "create_pure_atomic_complicated_unification": 1,
+ "rhs_var": 2,
+ "umc_explicit": 1,
+ "constraint_map": 1,
+ "NumExistConstraints": 4,
+ "search_hlds_constraint_list": 1,
+ "unproven": 3,
+ "goal_id": 1,
+ "ActualExistConstraints0": 2,
+ "GoalExpr0": 18,
+ "GoalInfo0": 41,
+ "generic_call": 1,
+ "plain_call": 5,
+ "ArgVars0": 23,
+ "polymorphism_process_call": 4,
+ "ExtraVars": 13,
+ "ExtraGoals": 13,
+ "ArgVars": 6,
+ "CallExpr": 4,
+ "call_args": 1,
+ "Call": 4,
+ "call_foreign_proc": 4,
+ "polymorphism_process_foreign_proc": 3,
+ "XVar": 11,
+ "Y": 9,
+ "Mode": 12,
+ "Unification": 16,
+ "UnifyContext": 15,
+ "polymorphism_process_unify": 4,
+ "conj": 5,
+ "ConjType": 4,
+ "Goals0": 13,
+ "plain_conj": 4,
+ "polymorphism_process_plain_conj": 5,
+ "parallel_conj": 1,
+ "get_cache_maps_snapshot": 11,
+ "InitialSnapshot": 36,
+ "polymorphism_process_par_conj": 5,
+ "GoalExpr": 19,
+ "disj": 2,
+ "polymorphism_process_disj": 6,
+ "set_cache_maps_snapshot": 15,
+ "if_then_else": 2,
+ "Cond0": 2,
+ "Then0": 2,
+ "Else0": 2,
+ "Cond": 2,
+ "Then": 2,
+ "Else": 2,
+ "negation": 2,
+ "SubGoal0": 14,
+ "SubGoal": 16,
+ "switch": 2,
+ "CanFail": 4,
+ "Cases0": 4,
+ "polymorphism_process_cases": 5,
+ "Cases": 4,
+ "scope": 7,
+ "Reason0": 16,
+ "from_ground_term": 2,
+ "TermVar": 4,
+ "Kind": 5,
+ "from_ground_term_initial": 2,
+ "polymorphism_process_from_ground_term_initial": 3,
+ "from_ground_term_construct": 1,
+ "from_ground_term_deconstruct": 1,
+ "from_ground_term_other": 1,
+ "promise_solutions": 1,
+ "promise_purity": 1,
+ "require_detism": 1,
+ "require_complete_switch": 1,
+ "commit": 1,
+ "barrier": 1,
+ "loop_control": 1,
+ "exist_quant": 1,
+ "trace_goal": 1,
+ "shorthand": 2,
+ "ShortHand0": 4,
+ "atomic_goal": 2,
+ "GoalType": 2,
+ "Outer": 2,
+ "Inner": 2,
+ "MainGoal0": 2,
+ "OrElseGoals0": 2,
+ "OrElseInners": 2,
+ "MainGoal": 2,
+ "OrElseGoals": 2,
+ "ShortHand": 3,
+ "try_goal": 2,
+ "MaybeIO": 2,
+ "ResultVar": 2,
+ "SubGoalExpr0": 4,
+ "SubGoalInfo": 2,
+ "Conjuncts0": 2,
+ "ConjunctA0": 2,
+ "ConjunctB0": 2,
+ "ConjunctA": 2,
+ "ConjunctB": 2,
+ "Conjuncts": 2,
+ "SubGoalExpr": 2,
+ "bi_implication": 1,
+ "hlds_goal_expr": 2,
+ "SubGoalInfo0": 2,
+ "SubGoals0Prime": 2,
+ "SubGoals0": 2,
+ "polymorphism_process_fgti_goals": 5,
+ "RevMarkedSubGoals": 2,
+ "fgt_invariants_kept": 2,
+ "InvariantsStatus": 7,
+ "Reason": 2,
+ "fgt_invariants_broken": 2,
+ "introduce_partial_fgt_scopes": 1,
+ "deconstruct_top_down": 1,
+ "fgt_marked_goal": 2,
+ "fgt_invariants_status": 2,
+ "RevMarkedGoals": 4,
+ "OldInfo": 3,
+ "XVarPrime": 2,
+ "ModePrime": 2,
+ "UnificationPrime": 2,
+ "UnifyContextPrime": 2,
+ "rhs_functor": 5,
+ "ConsIdPrime": 2,
+ "YVarsPrime": 2,
+ "ConsId": 10,
+ "YVars": 4,
+ "polymorphism_process_unify_functor": 4,
+ "Changed": 10,
+ "VarSetBefore": 2,
+ "MaxVarBefore": 2,
+ "varset.max_var": 2,
+ "poly_info_get_num_reuses": 2,
+ "NumReusesBefore": 2,
+ "VarSetAfter": 2,
+ "MaxVarAfter": 2,
+ "NumReusesAfter": 2,
+ "MarkedGoal": 3,
+ "fgt_kept_goal": 1,
+ "fgt_broken_goal": 1,
+ ".RevMarkedGoals": 1,
+ "unify_mode": 2,
+ "Unification0": 8,
+ "_YVar": 1,
+ "unification_typeinfos": 5,
+ "_Changed": 3,
+ "Args": 11,
+ "Purity": 9,
+ "Groundness": 6,
+ "PredOrFunc": 6,
+ "EvalMethod": 8,
+ "LambdaVars": 13,
+ "Modes": 4,
+ "Det": 4,
+ "LambdaGoal0": 5,
+ "LambdaGoal1": 2,
+ "fixup_lambda_quantification": 1,
+ "LambdaGoal": 6,
+ "NonLocalTypeInfos": 3,
+ "set_of_var.to_sorted_list": 1,
+ "NonLocalTypeInfosList": 2,
+ "Y1": 2,
+ "NonLocals0": 10,
+ "goal_info_get_nonlocals": 6,
+ "NonLocals": 12,
+ "goal_info_set_nonlocals": 6,
+ "type_vars": 2,
+ "TypeVars": 8,
+ "get_type_info_locn": 1,
+ "TypeInfoLocns": 6,
+ "add_unification_typeinfos": 4,
+ "rtti_lookup_type_info_locn": 1,
+ "type_info_locn": 1,
+ "type_info_locn_var": 1,
+ "TypeInfoVars0": 2,
+ ".GoalInfo": 1,
+ "set_of_var.insert_list": 4,
+ ".Unification": 5,
+ "complicated_unify": 2,
+ "construct": 1,
+ "deconstruct": 2,
+ "simple_test": 1,
+ "X0": 8,
+ "ConsId0": 5,
+ "Mode0": 4,
+ "TypeOfX": 6,
+ "Arity": 5,
+ "closure_cons": 1,
+ "ShroudedPredProcId": 2,
+ "ProcId0": 3,
+ "unshroud_pred_proc_id": 1,
+ "type_is_higher_order_details": 1,
+ "_PredOrFunc": 1,
+ "CalleeArgTypes": 2,
+ "invalid_proc_id": 1,
+ "goal_info_add_feature": 1,
+ "feature_lambda_undetermined_mode": 1,
+ "GoalInfo1": 6,
+ "VarSet0": 2,
+ "Functor0": 6,
+ "poly_info_set_varset_and_types": 1,
+ "cons": 3,
+ "ConsTypeCtor": 2,
+ "remove_new_prefix": 1,
+ "OrigFunctor": 2,
+ "IsConstruction": 7,
+ "type_util.get_existq_cons_defn": 1,
+ "ConsDefn": 2,
+ "polymorphism_process_existq_unify_functor": 3,
+ "UnifyExpr": 2,
+ "Unify": 2,
+ "PredArgTypes": 10,
+ "Functor": 6,
+ "create_fresh_vars": 5,
+ "QualifiedPName": 5,
+ "qualified": 1,
+ "cons_id_dummy_type_ctor": 1,
+ "RHS": 2,
+ "CallUnifyContext": 2,
+ "LambdaGoalExpr": 2,
+ "not_builtin": 3,
+ "OutsideVars": 2,
+ "InsideVars": 2,
+ "set_of_var.intersect": 1,
+ "LambdaNonLocals": 2,
+ "GoalId": 8,
+ "goal_info_get_goal_id": 3,
+ "goal_info_init": 1,
+ "LambdaGoalInfo0": 2,
+ "goal_info_set_context": 1,
+ "LambdaGoalInfo1": 2,
+ "LambdaGoalInfo2": 2,
+ "goal_info_set_purity": 1,
+ "LambdaGoalInfo3": 2,
+ "goal_info_set_goal_id": 1,
+ "LambdaGoalInfo": 4,
+ "lambda_modes_and_det": 4,
+ "LambdaModes": 6,
+ "LambdaDet": 6,
+ "pred_info_is_pred_or_func": 1,
+ "ho_ground": 1,
+ "_LambdaModes0": 1,
+ "_LambdaDet0": 1,
+ "goal_to_conj_list": 1,
+ "LambdaGoalList0": 2,
+ "list.split_last": 1,
+ "LambdaGoalButLast0": 2,
+ "LastGoal0": 2,
+ "LastGoalExpr0": 2,
+ "LastGoalInfo0": 2,
+ "PredId0": 2,
+ "_DummyProcId": 1,
+ "Args0": 5,
+ "MaybeCallUnifyContext0": 2,
+ "QualifiedPName0": 2,
+ "LambdaGoalButLast": 2,
+ "LastGoalInfo": 2,
+ "MaybeCallUnifyContext": 4,
+ "LastGoalExpr": 2,
+ "LastGoal": 2,
+ "prog_vars": 1,
+ "determinism": 1,
+ "NumArgModes": 2,
+ "NumLambdaVars": 2,
+ "list.drop": 2,
+ "LambdaModesPrime": 2,
+ "proc_info_get_declared_determinism": 1,
+ "MaybeDet": 3,
+ "sorry": 1,
+ "varset.new_var": 1,
+ "add_var_type": 1,
+ "ctor_defn": 2,
+ "CtorDefn": 2,
+ "ActualRetType": 2,
+ "CtorTypeVarSet": 2,
+ "CtorExistQVars": 2,
+ "CtorKindMap": 2,
+ "CtorExistentialConstraints": 2,
+ "CtorArgTypes": 2,
+ "CtorRetType": 2,
+ "TypeVarSet0": 5,
+ "tvarset_merge_renaming": 3,
+ "CtorToParentRenaming": 6,
+ "apply_variable_renaming_to_tvar_list": 2,
+ "ParentExistQVars": 6,
+ "apply_variable_renaming_to_tvar_kind_map": 2,
+ "ParentKindMap": 7,
+ "apply_variable_renaming_to_prog_constraint_list": 1,
+ "ParentExistentialConstraints": 3,
+ "apply_variable_renaming_to_type_list": 4,
+ "ParentArgTypes": 6,
+ "apply_variable_renaming_to_type": 1,
+ "ParentRetType": 2,
+ "poly_info_set_typevarset": 3,
+ "type_list_subsumes_det": 3,
+ "ParentToActualTypeSubst": 6,
+ "NumExistentialConstraints": 3,
+ "lookup_hlds_constraint_list": 4,
+ "ActualExistentialConstraints": 4,
+ "ExtraTypeClassVarsMCAs": 2,
+ "ExtraTypeClassVars": 2,
+ "assumed": 2,
+ "make_existq_typeclass_info_vars": 2,
+ "constraint_list_get_tvars": 3,
+ "ParentExistConstrainedTVars": 4,
+ "ParentUnconstrainedExistQVars": 2,
+ "apply_rec_subst_to_tvar_list": 4,
+ "ActualExistentialTypes": 2,
+ "ExtraTypeInfoVarsMCAs": 2,
+ "ExtraTypeInfoVars": 2,
+ "ExtraTypeClassVars.": 1,
+ "bound": 1,
+ "Attributes": 2,
+ "ProcExtraArgs": 2,
+ "MaybeTraceRuntimeCond": 2,
+ "Impl": 14,
+ "foreign_arg_var": 1,
+ "CanOptAwayUnnamed": 11,
+ "polymorphism_process_foreign_proc_args": 3,
+ "ExtraArgs": 5,
+ "pragma_foreign_code_impl": 4,
+ "foreign_arg": 1,
+ "PredTypeVarSet": 8,
+ "UnivCs": 4,
+ "ExistCs": 4,
+ "UnivVars0": 2,
+ "get_constrained_vars": 2,
+ "UnivConstrainedVars": 2,
+ "ExistVars0": 2,
+ "ExistConstrainedVars": 2,
+ "PredTypeVars0": 2,
+ "PredTypeVars1": 2,
+ "PredTypeVars2": 2,
+ "PredTypeVars": 3,
+ "foreign_proc_add_typeclass_info": 4,
+ "ExistTypeClassArgInfos": 2,
+ "UnivTypeClassArgInfos": 2,
+ "TypeClassArgInfos": 2,
+ "list.filter": 1,
+ "X": 9,
+ "semidet": 2,
+ "ExistUnconstrainedVars": 2,
+ "UnivUnconstrainedVars": 2,
+ "foreign_proc_add_typeinfo": 4,
+ "ExistTypeArgInfos": 2,
+ "UnivTypeArgInfos": 2,
+ "TypeInfoArgInfos": 2,
+ "ArgInfos": 2,
+ "TypeInfoTypes": 2,
+ "type_info_type": 1,
+ "UnivTypes": 2,
+ "ExistTypes": 2,
+ "OrigArgTypes": 2,
+ "make_foreign_args": 1,
+ "tvarset": 3,
+ "box_policy": 2,
+ "Constraint": 2,
+ "MaybeArgName": 7,
+ "native_if_possible": 2,
+ "SymName": 4,
+ "sym_name_to_string_sep": 1,
+ "TypeVarNames": 2,
+ "underscore_and_tvar_name": 3,
+ "string.append_list": 1,
+ "ConstraintVarName": 3,
+ "foreign_code_does_not_use_variable": 4,
+ "TVar": 4,
+ "varset.search_name": 1,
+ "TypeVarName": 2,
+ "C_VarName": 3,
+ "VarName": 2,
+ "foreign_code_uses_variable": 1,
+ "TVarName": 2,
+ "TVarName0": 1,
+ "TVarName0.": 1,
+ "cache_maps": 3,
+ "case": 4,
+ "Case0": 2,
+ "Case": 2,
+ "MainConsId": 2,
+ "OtherConsIds": 2,
+ "PredExistQVars": 2,
+ "PredKindMap": 3,
+ "varset.is_empty": 1,
+ "PredToParentTypeRenaming": 6,
+ "ParentTVars": 4,
+ "apply_variable_renaming_to_prog_constraints": 1,
+ "ParentClassContext": 2,
+ "ParentUnivConstraints": 3,
+ "ParentExistConstraints": 3,
+ "ParentUnivConstrainedTVars": 2,
+ "ParentUnconstrainedTVars0": 2,
+ "ParentUnconstrainedTVars1": 2,
+ "ParentUnconstrainedTVars": 3,
+ "ParentUnconstrainedUnivTVars": 3,
+ "ParentUnconstrainedExistTVars": 2,
+ "NumUnivConstraints": 2,
+ "ActualUnivConstraints": 2,
+ "ActualExistQVarTypes": 2,
+ "prog_type.type_list_to_var_list": 1,
+ "ActualExistQVars0": 2,
+ "ActualExistQVars": 2,
+ "ExtraUnivClassVarsMCAs": 2,
+ "ExtraUnivClassGoals": 2,
+ "ExtraUnivClassVars": 2,
+ "ExtraExistClassVars": 2,
+ "ExtraExistClassGoals": 2,
+ "ActualUnconstrainedUnivTypes": 2,
+ "ExtraUnivTypeInfoVarsMCAs": 2,
+ "ExtraUnivTypeInfoGoals": 2,
+ "ExtraUnivTypeInfoVars": 2,
+ "ActualUnconstrainedExistTypes": 2,
+ "ExtraExistTypeInfoVarsMCAs": 2,
+ "ExtraExistTypeInfoGoals": 2,
+ "ExtraExistTypeInfoVars": 2,
+ "CalleePredInfo": 2,
+ "CalleeProcInfo": 3,
+ "CallArgs0": 3,
+ "BuiltinState": 2,
+ "TVarSet0": 2,
+ "ActualArgTypes0": 3,
+ "PredTVarSet": 2,
+ "_PredExistQVars": 1,
+ "CalleeHeadVars": 2,
+ "proc_info_get_rtti_varmaps": 1,
+ "CalleeRttiVarMaps": 2,
+ "NCallArgs0": 2,
+ "NPredArgs": 2,
+ "NExtraArgs": 3,
+ "OrigPredArgTypes0": 2,
+ "list.take": 1,
+ "CalleeExtraHeadVars0": 2,
+ "OrigPredArgTypes": 2,
+ "CalleeExtraHeadVars": 2,
+ "TVarSet": 2,
+ "PredToParentRenaming": 3,
+ "OrigParentArgTypes": 2,
+ "ParentToActualTSubst": 2,
+ "GetTypeInfoTypes": 2,
+ "ProgVar": 2,
+ "TypeInfoType": 2,
+ "rtti_varmaps_var_info": 1,
+ "VarInfo": 4,
+ "type_info_var": 1,
+ "typeclass_info_var": 1,
+ "non_rtti_var": 1,
+ "PredTypeInfoTypes": 2,
+ "ParentTypeInfoTypes": 2,
+ "apply_rec_subst_to_type_list": 1,
+ "ActualTypeInfoTypes": 2,
+ "Ctxt": 2,
+ "ExtraArgsConstArgs": 2,
+ "CallArgs": 2,
+ "NonLocals1": 2,
+ "CallGoalExpr": 2,
+ "CallGoal": 2,
+ "rot13_concise.": 1,
+ "state": 3,
+ "alphabet": 3,
+ "cycle": 4,
+ "rot_n": 2,
+ "Char": 12,
+ "RotChar": 8,
+ "char_to_string": 1,
+ "CharString": 2,
+ "if": 15,
+ "sub_string_search": 1,
+ "Index": 3,
+ "then": 3,
+ "NewIndex": 2,
+ "mod": 1,
+ "index_det": 1,
+ "else": 8,
+ "rot13": 11,
+ "read_char": 1,
+ "Res": 8,
+ "ok": 3,
+ "print": 3,
+ "ErrorCode": 4,
+ "error_message": 1,
+ "ErrorMessage": 4,
+ "stderr_stream": 1,
+ "StdErr": 8,
+ "nl": 1,
+ "rot13_ralph.": 1,
+ "io__state": 4,
+ "io__read_byte": 1,
+ "Result": 4,
+ "io__write_byte": 1,
+ "ErrNo": 2,
+ "io__error_message": 2,
+ "z": 1,
+ "Rot13": 2,
+ "<": 14,
+ "rem": 1,
+ "rot13_verbose.": 1,
+ "rot13a/2": 1,
+ "table": 1,
+ "alphabetic": 2,
+ "characters": 1,
+ "their": 1,
+ "equivalents": 1,
+ "fails": 1,
+ "input": 1,
+ "not": 7,
+ "rot13a": 55,
+ "rot13/2": 1,
+ "Applies": 1,
+ "algorithm": 1,
+ "a": 10,
+ "character.": 1,
+ "TmpChar": 2,
+ "io__read_char": 1,
+ "io__write_char": 1,
+ "io__stderr_stream": 1,
+ "io__write_string": 2,
+ "io__nl": 1,
+ "store.": 1,
+ "typeclass": 1,
+ "store": 52,
+ "T": 52,
+ "where": 8,
+ "S": 133,
+ "instance": 4,
+ "io.state": 3,
+ "store.init": 2,
+ "generic_mutvar": 15,
+ "io_mutvar": 1,
+ "store_mutvar": 1,
+ "store.new_mutvar": 1,
+ "store.copy_mutvar": 1,
+ "store.get_mutvar": 1,
+ "store.set_mutvar": 1,
+ "<=>": 5,
+ "new_cyclic_mutvar": 2,
+ "Func": 4,
+ "Mutvar": 23,
+ "Create": 1,
+ "new": 25,
+ "variable": 1,
+ "whose": 2,
+ "initialized": 2,
+ "with": 5,
+ "returned": 1,
+ "from": 1,
+ "specified": 1,
+ "function": 3,
+ "The": 2,
+ "argument": 6,
+ "passed": 2,
+ "mutvar": 6,
+ "itself": 4,
+ "has": 4,
+ "yet": 1,
+ "been": 1,
+ "safe": 2,
+ "because": 1,
+ "does": 3,
+ "get": 2,
+ "so": 3,
+ "it": 1,
+ "can": 1,
+ "t": 5,
+ "examine": 1,
+ "uninitialized": 1,
+ "predicate": 1,
+ "useful": 1,
+ "creating": 1,
+ "self": 1,
+ "referential": 1,
+ "values": 1,
+ "such": 2,
+ "as": 5,
+ "circular": 1,
+ "linked": 1,
+ "lists": 1,
+ "For": 1,
+ "example": 1,
+ "clist": 2,
+ "node": 1,
+ "store.new_cyclic_mutvar": 1,
+ "generic_ref": 20,
+ "io_ref": 1,
+ "store_ref": 1,
+ "store.new_ref": 1,
+ "store.ref_functor": 1,
+ "store.arg_ref": 1,
+ "ArgT": 4,
+ "store.new_arg_ref": 3,
+ "store.set_ref": 1,
+ "store.set_ref_value": 1,
+ "store.copy_ref_value": 1,
+ "store.extract_ref_value": 1,
+ "Nasty": 1,
+ "performance": 2,
+ "hacks": 1,
+ "WARNING": 1,
+ "use": 1,
+ "of": 10,
+ "these": 1,
+ "procedures": 2,
+ "dangerous": 1,
+ "Use": 1,
+ "them": 1,
+ "last": 1,
+ "resort": 1,
+ "critical": 1,
+ "and": 6,
+ "shows": 1,
+ "that": 2,
+ "using": 1,
+ "versions": 1,
+ "bottleneck": 1,
+ "These": 1,
+ "may": 1,
+ "vanish": 1,
+ "future": 1,
+ "Mercury": 1,
+ "unsafe_arg_ref": 1,
+ "same": 2,
+ "arg_ref": 12,
+ "unsafe_new_arg_ref": 1,
+ "new_arg_ref": 1,
+ "except": 1,
+ "they": 4,
+ "doesn": 1,
+ "check": 1,
+ "errors": 1,
+ "don": 3,
+ "work": 3,
+ "no_tag": 1,
+ "types": 3,
+ "exactly": 2,
+ "one": 2,
+ "functor": 2,
+ "which": 2,
+ "arguments": 2,
+ "occupy": 1,
+ "word": 2,
+ "other": 1,
+ "functors.": 1,
+ "store.unsafe_arg_ref": 1,
+ "store.unsafe_new_arg_ref": 1,
+ "implementation": 1,
+ "require": 1,
+ "just": 1,
+ "real": 1,
+ "representation": 1,
+ "pragma": 41,
+ "foreign_type": 10,
+ "MR_Word": 24,
+ "can_pass_as_mercury_type": 5,
+ "equality": 5,
+ "store_equal": 7,
+ "comparison": 5,
+ "store_compare": 7,
+ "int32": 1,
+ "Java": 12,
+ "Erlang": 3,
+ "attempt": 2,
+ "two": 2,
+ "stores": 2,
+ "comparison_result": 1,
+ "compare": 1,
+ "Mutvars": 1,
+ "references": 1,
+ "are": 1,
+ "each": 1,
+ "represented": 1,
+ "pointer": 1,
+ "single": 1,
+ "on": 1,
+ "heap": 1,
+ "private_builtin.ref": 2,
+ "ref": 2,
+ "store.do_init": 6,
+ "foreign_proc": 28,
+ "_S0": 16,
+ "will_not_call_mercury": 28,
+ "will_not_modify_trail": 7,
+ "new_mutvar": 5,
+ "Val": 45,
+ "S0": 23,
+ "get_mutvar": 5,
+ "set_mutvar": 5,
+ "_S": 12,
+ "copy_mutvar": 1,
+ "Copy": 2,
+ "Value": 4,
+ "store.unsafe_new_uninitialized_mutvar": 1,
+ "unsafe_new_uninitialized_mutvar": 4,
+ "MR_offset_incr_hp_msg": 5,
+ "MR_SIZE_SLOT_SIZE": 10,
+ "1": 5,
+ "MR_ALLOC_ID": 5,
+ "2": 2,
+ "MR_define_size_slot": 5,
+ "0": 2,
+ "object": 21,
+ "MutVar": 4,
+ "Store": 5,
+ "apply": 1,
+ "Ref": 41,
+ "foreign_code": 2,
+ "public": 17,
+ "class": 4,
+ "Object": 9,
+ "referenced": 4,
+ "obj": 7,
+ "Specific": 2,
+ "field": 20,
+ "or": 2,
+ "null": 8,
+ "specify": 2,
+ "GetFields": 2,
+ "return": 6,
+ "fields": 3,
+ "any": 2,
+ "particular": 2,
+ "order": 2,
+ "really": 2,
+ "usable": 2,
+ "System": 1,
+ "Reflection": 1,
+ "FieldInfo": 1,
+ "Constructors": 2,
+ "init": 8,
+ "setField": 4,
+ "Set": 2,
+ "according": 2,
+ "given": 2,
+ "index": 2,
+ "void": 4,
+ "GetType": 1,
+ "reference": 4,
+ "getValue": 4,
+ "GetValue": 1,
+ "Update": 2,
+ "setValue": 2,
+ "SetValue": 1,
+ "static": 1,
+ "lang": 28,
+ "getDeclaredFields": 2,
+ "reflect": 1,
+ "Field": 5,
+ "try": 3,
+ "getClass": 1,
+ "catch": 11,
+ "SecurityException": 1,
+ "se": 1,
+ "throw": 11,
+ "RuntimeException": 11,
+ "Security": 1,
+ "manager": 1,
+ "denied": 1,
+ "access": 3,
+ "ArrayIndexOutOfBoundsException": 1,
+ "e": 13,
+ "No": 1,
+ "Exception": 3,
+ "Unable": 3,
+ "getMessage": 3,
+ "IllegalAccessException": 2,
+ "inaccessible": 2,
+ "IllegalArgumentException": 2,
+ "mismatch": 2,
+ "NullPointerException": 2,
+ "new_ref": 4,
+ "ets": 3,
+ "insert": 1,
+ "copy_ref_value": 1,
+ "unsafe_ref_value": 6,
+ "store.unsafe_ref_value": 1,
+ "lookup": 1,
+ "ref_functor": 1,
+ "canonicalize": 1,
+ "foreign_decl": 1,
+ "include": 4,
+ "mercury_type_info": 1,
+ "h": 4,
+ "mercury_heap": 1,
+ "mercury_misc": 1,
+ "MR_fatal_error": 5,
+ "mercury_deconstruct": 1,
+ "MR_arg": 3,
+ "ArgNum": 7,
+ "ArgRef": 22,
+ "may_not_duplicate": 1,
+ "MR_TypeInfo": 10,
+ "arg_type_info": 6,
+ "exp_arg_type_info": 6,
+ "MR_DuArgLocn": 2,
+ "arg_locn": 9,
+ "TypeInfo_for_T": 2,
+ "TypeInfo_for_ArgT": 2,
+ "MR_save_transient_registers": 2,
+ "MR_NONCANON_ABORT": 2,
+ "number": 2,
+ "range": 2,
+ "MR_compare_type_info": 2,
+ "MR_COMPARE_EQUAL": 2,
+ "wrong": 2,
+ "MR_restore_transient_registers": 2,
+ "NULL": 2,
+ "MR_arg_bits": 2,
+ "store.ref/2": 3,
+ "MR_arg_value": 2,
+ "C#": 6,
+ "store.Ref": 8,
+ "Ref.getValue": 6,
+ "*arg_ref": 1,
+ "*arg_locn": 1,
+ "&": 7,
+ "&&": 1,
+ "ValRef": 1,
+ "Ref.setValue": 3,
+ "ValRef.getValue": 2,
+ "*Ptr": 2,
+ "Ptr": 4,
+ "MR_strip_tag": 2,
+ "Arg": 6
+ },
"Monkey": {
"Strict": 1,
"sample": 1,
@@ -31854,6 +41826,509 @@
"&": 1,
"c": 1
},
+ "Moocode": {
+ "@program": 29,
+ "toy": 3,
+ "wind": 1,
+ "this.wound": 8,
+ "+": 39,
+ ";": 505,
+ "player": 2,
+ "tell": 1,
+ "(": 600,
+ "this.name": 4,
+ ")": 593,
+ "player.location": 1,
+ "announce": 1,
+ "player.name": 1,
+ ".": 30,
+ "while": 15,
+ "read": 1,
+ "endwhile": 14,
+ "I": 1,
+ "M": 1,
+ "P": 1,
+ "O": 1,
+ "R": 1,
+ "T": 2,
+ "A": 1,
+ "N": 1,
+ "The": 2,
+ "following": 2,
+ "code": 43,
+ "cannot": 1,
+ "be": 1,
+ "used": 1,
+ "as": 28,
+ "is.": 1,
+ "You": 1,
+ "will": 1,
+ "need": 1,
+ "to": 1,
+ "rewrite": 1,
+ "functionality": 1,
+ "that": 3,
+ "is": 6,
+ "not": 2,
+ "present": 1,
+ "in": 43,
+ "your": 1,
+ "server/core.": 1,
+ "most": 1,
+ "straight": 1,
+ "-": 98,
+ "forward": 1,
+ "target": 7,
+ "other": 1,
+ "than": 1,
+ "Stunt/Improvise": 1,
+ "a": 12,
+ "server/core": 1,
+ "provides": 1,
+ "map": 5,
+ "datatype": 1,
+ "and": 1,
+ "anonymous": 1,
+ "objects.": 1,
+ "Installation": 1,
+ "my": 1,
+ "server": 1,
+ "uses": 1,
+ "the": 4,
+ "object": 1,
+ "numbers": 1,
+ "#36819": 1,
+ "MOOcode": 4,
+ "Experimental": 2,
+ "Language": 2,
+ "Package": 2,
+ "#36820": 1,
+ "Changelog": 1,
+ "#36821": 1,
+ "Dictionary": 1,
+ "#36822": 1,
+ "Compiler": 2,
+ "#38128": 1,
+ "Syntax": 4,
+ "Tree": 1,
+ "Pretty": 1,
+ "Printer": 1,
+ "#37644": 1,
+ "Tokenizer": 2,
+ "Prototype": 25,
+ "#37645": 1,
+ "Parser": 2,
+ "#37648": 1,
+ "Symbol": 2,
+ "#37649": 1,
+ "Literal": 1,
+ "#37650": 1,
+ "Statement": 8,
+ "#37651": 1,
+ "Operator": 11,
+ "#37652": 1,
+ "Control": 1,
+ "Flow": 1,
+ "#37653": 1,
+ "Assignment": 2,
+ "#38140": 1,
+ "Compound": 1,
+ "#38123": 1,
+ "Prefix": 1,
+ "#37654": 1,
+ "Infix": 1,
+ "#37655": 1,
+ "Name": 1,
+ "#37656": 1,
+ "Bracket": 1,
+ "#37657": 1,
+ "Brace": 1,
+ "#37658": 1,
+ "If": 1,
+ "#38119": 1,
+ "For": 1,
+ "#38120": 1,
+ "Loop": 1,
+ "#38126": 1,
+ "Fork": 1,
+ "#38127": 1,
+ "Try": 1,
+ "#37659": 1,
+ "Invocation": 1,
+ "#37660": 1,
+ "Verb": 1,
+ "Selector": 2,
+ "#37661": 1,
+ "Property": 1,
+ "#38124": 1,
+ "Error": 1,
+ "Catching": 1,
+ "#38122": 1,
+ "Positional": 1,
+ "#38141": 1,
+ "From": 1,
+ "#37662": 1,
+ "Utilities": 1,
+ "#36823": 1,
+ "Tests": 4,
+ "#36824": 1,
+ "#37646": 1,
+ "#37647": 1,
+ "parent": 1,
+ "plastic.tokenizer_proto": 4,
+ "_": 4,
+ "_ensure_prototype": 4,
+ "application/x": 27,
+ "moocode": 27,
+ "typeof": 11,
+ "this": 114,
+ "OBJ": 3,
+ "||": 19,
+ "raise": 23,
+ "E_INVARG": 3,
+ "_ensure_instance": 7,
+ "ANON": 2,
+ "plastic.compiler": 3,
+ "_lookup": 2,
+ "private": 1,
+ "{": 112,
+ "name": 9,
+ "}": 112,
+ "args": 26,
+ "if": 90,
+ "value": 73,
+ "this.variable_map": 3,
+ "[": 99,
+ "]": 102,
+ "E_RANGE": 17,
+ "return": 61,
+ "else": 45,
+ "tostr": 51,
+ "random": 3,
+ "this.reserved_names": 1,
+ "endif": 93,
+ "compile": 1,
+ "source": 32,
+ "options": 3,
+ "tokenizer": 6,
+ "this.plastic.tokenizer_proto": 2,
+ "create": 16,
+ "parser": 89,
+ "this.plastic.parser_proto": 2,
+ "compiler": 2,
+ "try": 2,
+ "statements": 13,
+ "except": 2,
+ "ex": 4,
+ "ANY": 3,
+ ".tokenizer.row": 1,
+ "endtry": 2,
+ "for": 31,
+ "statement": 29,
+ "statement.type": 10,
+ "@source": 3,
+ "p": 82,
+ "@compiler": 1,
+ "endfor": 31,
+ "ticks_left": 4,
+ "<": 13,
+ "seconds_left": 4,
+ "&&": 39,
+ "suspend": 4,
+ "statement.value": 20,
+ "elseif": 41,
+ "_generate": 1,
+ "isa": 21,
+ "this.plastic.sign_operator_proto": 1,
+ "|": 9,
+ "statement.first": 18,
+ "statement.second": 13,
+ "this.plastic.control_flow_statement_proto": 1,
+ "first": 22,
+ "statement.id": 3,
+ "this.plastic.if_statement_proto": 1,
+ "s": 47,
+ "respond_to": 9,
+ "@code": 28,
+ "@this": 13,
+ "i": 29,
+ "length": 11,
+ "LIST": 6,
+ "this.plastic.for_statement_proto": 1,
+ "statement.subtype": 2,
+ "this.plastic.loop_statement_proto": 1,
+ "prefix": 4,
+ "this.plastic.fork_statement_proto": 1,
+ "this.plastic.try_statement_proto": 1,
+ "x": 9,
+ "@x": 3,
+ "join": 6,
+ "this.plastic.assignment_operator_proto": 1,
+ "statement.first.type": 1,
+ "res": 19,
+ "rest": 3,
+ "v": 17,
+ "statement.first.value": 1,
+ "v.type": 2,
+ "v.first": 2,
+ "v.second": 1,
+ "this.plastic.bracket_operator_proto": 1,
+ "statement.third": 4,
+ "this.plastic.brace_operator_proto": 1,
+ "this.plastic.invocation_operator_proto": 1,
+ "@a": 2,
+ "statement.second.type": 2,
+ "this.plastic.property_selector_operator_proto": 1,
+ "this.plastic.error_catching_operator_proto": 1,
+ "second": 18,
+ "this.plastic.literal_proto": 1,
+ "toliteral": 1,
+ "this.plastic.positional_symbol_proto": 1,
+ "this.plastic.prefix_operator_proto": 3,
+ "this.plastic.infix_operator_proto": 1,
+ "this.plastic.traditional_ternary_operator_proto": 1,
+ "this.plastic.name_proto": 1,
+ "plastic.printer": 2,
+ "_print": 4,
+ "indent": 4,
+ "result": 7,
+ "item": 2,
+ "@result": 2,
+ "E_PROPNF": 1,
+ "print": 1,
+ "instance": 59,
+ "instance.row": 1,
+ "instance.column": 1,
+ "instance.source": 1,
+ "advance": 16,
+ "this.token": 21,
+ "this.source": 3,
+ "row": 23,
+ "this.row": 2,
+ "column": 63,
+ "this.column": 2,
+ "eol": 5,
+ "block_comment": 6,
+ "inline_comment": 4,
+ "loop": 14,
+ "len": 3,
+ "continue": 16,
+ "next_two": 4,
+ "column..column": 1,
+ "c": 44,
+ "break": 6,
+ "re": 1,
+ "not.": 1,
+ "Worse": 1,
+ "*": 4,
+ "valid": 2,
+ "error": 6,
+ "like": 4,
+ "E_PERM": 4,
+ "treated": 2,
+ "literal": 2,
+ "an": 2,
+ "invalid": 2,
+ "E_FOO": 1,
+ "variable.": 1,
+ "Any": 1,
+ "starts": 1,
+ "with": 1,
+ "characters": 1,
+ "*now*": 1,
+ "but": 1,
+ "errors": 1,
+ "are": 1,
+ "errors.": 1,
+ "*/": 1,
+ "<=>": 8,
+ "z": 4,
+ "col1": 6,
+ "mark": 2,
+ "start": 2,
+ "1": 13,
+ "9": 4,
+ "col2": 4,
+ "chars": 21,
+ "index": 2,
+ "E_": 1,
+ "token": 24,
+ "type": 9,
+ "this.errors": 1,
+ "col1..col2": 2,
+ "toobj": 1,
+ "float": 4,
+ "0": 1,
+ "cc": 1,
+ "e": 1,
+ "tofloat": 1,
+ "toint": 1,
+ "esc": 1,
+ "q": 1,
+ "col1..column": 1,
+ "plastic.parser_proto": 3,
+ "@options": 1,
+ "instance.tokenizer": 1,
+ "instance.symbols": 1,
+ "plastic": 1,
+ "this.plastic": 1,
+ "symbol": 65,
+ "plastic.name_proto": 1,
+ "plastic.literal_proto": 1,
+ "plastic.operator_proto": 10,
+ "plastic.prefix_operator_proto": 1,
+ "plastic.error_catching_operator_proto": 3,
+ "plastic.assignment_operator_proto": 1,
+ "plastic.compound_assignment_operator_proto": 5,
+ "plastic.traditional_ternary_operator_proto": 2,
+ "plastic.infix_operator_proto": 13,
+ "plastic.sign_operator_proto": 2,
+ "plastic.bracket_operator_proto": 1,
+ "plastic.brace_operator_proto": 1,
+ "plastic.control_flow_statement_proto": 3,
+ "plastic.if_statement_proto": 1,
+ "plastic.for_statement_proto": 1,
+ "plastic.loop_statement_proto": 2,
+ "plastic.fork_statement_proto": 1,
+ "plastic.try_statement_proto": 1,
+ "plastic.from_statement_proto": 2,
+ "plastic.verb_selector_operator_proto": 2,
+ "plastic.property_selector_operator_proto": 2,
+ "plastic.invocation_operator_proto": 1,
+ "id": 14,
+ "bp": 3,
+ "proto": 4,
+ "nothing": 1,
+ "this.plastic.symbol_proto": 2,
+ "this.symbols": 4,
+ "clone": 2,
+ "this.token.type": 1,
+ "this.token.value": 1,
+ "this.token.eol": 1,
+ "operator": 1,
+ "variable": 1,
+ "identifier": 1,
+ "keyword": 1,
+ "Unexpected": 1,
+ "end": 2,
+ "Expected": 1,
+ "t": 1,
+ "call": 1,
+ "nud": 2,
+ "on": 1,
+ "@definition": 1,
+ "new": 4,
+ "pop": 4,
+ "delete": 1,
+ "plastic.utilities": 6,
+ "suspend_if_necessary": 4,
+ "parse_map_sequence": 1,
+ "separator": 6,
+ "infix": 3,
+ "terminator": 6,
+ "symbols": 7,
+ "ids": 6,
+ "@ids": 2,
+ "push": 3,
+ "@symbol": 2,
+ ".id": 13,
+ "key": 7,
+ "expression": 19,
+ "@map": 1,
+ "parse_list_sequence": 2,
+ "list": 3,
+ "@list": 1,
+ "validate_scattering_pattern": 1,
+ "pattern": 5,
+ "state": 8,
+ "element": 1,
+ "element.type": 3,
+ "element.id": 2,
+ "element.first.type": 2,
+ "children": 4,
+ "node": 3,
+ "node.value": 1,
+ "@children": 1,
+ "match": 1,
+ "root": 2,
+ "keys": 3,
+ "matches": 3,
+ "stack": 4,
+ "next": 2,
+ "top": 5,
+ "@stack": 2,
+ "top.": 1,
+ "@matches": 1,
+ "plastic.symbol_proto": 2,
+ "opts": 2,
+ "instance.id": 1,
+ "instance.value": 1,
+ "instance.bp": 1,
+ "k": 3,
+ "instance.": 1,
+ "parents": 3,
+ "ancestor": 2,
+ "ancestors": 1,
+ "property": 1,
+ "properties": 1,
+ "this.type": 8,
+ "this.first": 8,
+ "import": 8,
+ "this.second": 7,
+ "left": 2,
+ "this.third": 3,
+ "sequence": 2,
+ "led": 4,
+ "this.bp": 2,
+ "second.type": 2,
+ "make_identifier": 4,
+ "first.id": 1,
+ "parser.symbols": 2,
+ "reserve_keyword": 2,
+ "this.plastic.utilities": 1,
+ "third": 4,
+ "third.id": 2,
+ "second.id": 1,
+ "std": 1,
+ "reserve_statement": 1,
+ "types": 7,
+ ".type": 1,
+ "target.type": 3,
+ "target.value": 3,
+ "target.id": 4,
+ "temp": 4,
+ "temp.id": 1,
+ "temp.first.id": 1,
+ "temp.first.type": 2,
+ "temp.second.type": 1,
+ "temp.first": 2,
+ "imports": 5,
+ "import.type": 2,
+ "@imports": 2,
+ "parser.plastic.invocation_operator_proto": 1,
+ "temp.type": 1,
+ "parser.plastic.name_proto": 2,
+ "temp.first.value": 1,
+ "temp.second": 1,
+ "first.type": 1,
+ "parser.imports": 2,
+ "import.id": 2,
+ "parser.plastic.assignment_operator_proto": 1,
+ "result.type": 1,
+ "result.first": 1,
+ "result.second": 1,
+ "@verb": 1,
+ "do_the_work": 3,
+ "none": 1,
+ "object_utils": 1,
+ "this.location": 3,
+ "room": 1,
+ "announce_all": 2,
+ "continue_msg": 1,
+ "fork": 1,
+ "endfork": 1,
+ "wind_down_msg": 1
+ },
"MoonScript": {
"types": 2,
"require": 5,
@@ -32128,6 +42603,40 @@
"arg_list": 1,
"Value": 1
},
+ "MTML": {
+ "<$mt:Var>": 15,
+ "name=": 19,
+ "value=": 9,
+ "": 1,
+ "op=": 8,
+ "setvar=": 9,
+ "": 1,
+ "<": 2,
+ "a": 1,
+ "href": 1,
+ "<$mt:CategoryLabel>": 1,
+ "remove_html=": 1,
+ "": 1,
+ "": 1,
+ "": 1,
+ "function=": 1,
+ "": 1,
+ "gt=": 2,
+ "": 1,
+ "": 1,
+ "": 1,
+ "": 1,
+ "": 1,
+ "": 1,
+ "": 2,
+ "from=": 2,
+ "to=": 2,
+ "div": 1,
+ "class": 1,
+ "col_num": 1,
+ "": 2,
+ "": 1
+ },
"Nemerle": {
"using": 1,
"System.Console": 1,
@@ -35469,6 +45978,756 @@
"indexPathWithIndexes": 1,
"indexAtPosition": 2
},
+ "Objective-C++": {
+ "#include": 26,
+ "": 1,
+ "": 1,
+ "#if": 10,
+ "(": 612,
+ "defined": 1,
+ "OBJC_API_VERSION": 2,
+ ")": 610,
+ "&&": 12,
+ "static": 16,
+ "inline": 3,
+ "IMP": 4,
+ "method_setImplementation": 2,
+ "Method": 2,
+ "m": 3,
+ "i": 29,
+ "{": 151,
+ "oi": 2,
+ "-": 175,
+ "method_imp": 2,
+ ";": 494,
+ "return": 149,
+ "}": 148,
+ "#endif": 19,
+ "namespace": 1,
+ "WebCore": 1,
+ "ENABLE": 10,
+ "DRAG_SUPPORT": 7,
+ "const": 16,
+ "double": 1,
+ "EventHandler": 30,
+ "TextDragDelay": 1,
+ "RetainPtr": 4,
+ "": 4,
+ "&": 21,
+ "currentNSEventSlot": 6,
+ "DEFINE_STATIC_LOCAL": 1,
+ "event": 30,
+ "NSEvent": 21,
+ "*EventHandler": 2,
+ "currentNSEvent": 13,
+ ".get": 1,
+ "class": 14,
+ "CurrentEventScope": 14,
+ "WTF_MAKE_NONCOPYABLE": 1,
+ "public": 1,
+ "*": 34,
+ "private": 1,
+ "m_savedCurrentEvent": 3,
+ "#ifndef": 3,
+ "NDEBUG": 2,
+ "m_event": 3,
+ "*event": 11,
+ "ASSERT": 13,
+ "bool": 26,
+ "wheelEvent": 5,
+ "Page*": 7,
+ "page": 33,
+ "m_frame": 24,
+ "if": 104,
+ "false": 40,
+ "scope": 6,
+ "PlatformWheelEvent": 2,
+ "chrome": 8,
+ "platformPageClient": 4,
+ "handleWheelEvent": 2,
+ "wheelEvent.isAccepted": 1,
+ "PassRefPtr": 2,
+ "": 1,
+ "currentKeyboardEvent": 1,
+ "[": 268,
+ "NSApp": 5,
+ "currentEvent": 2,
+ "]": 266,
+ "switch": 4,
+ "type": 10,
+ "case": 25,
+ "NSKeyDown": 4,
+ "PlatformKeyboardEvent": 6,
+ "platformEvent": 2,
+ "platformEvent.disambiguateKeyDownEvent": 1,
+ "RawKeyDown": 1,
+ "KeyboardEvent": 2,
+ "create": 3,
+ "document": 6,
+ "defaultView": 2,
+ "NSKeyUp": 3,
+ "default": 3,
+ "keyEvent": 2,
+ "BEGIN_BLOCK_OBJC_EXCEPTIONS": 13,
+ "||": 18,
+ "END_BLOCK_OBJC_EXCEPTIONS": 13,
+ "void": 18,
+ "focusDocumentView": 1,
+ "FrameView*": 7,
+ "frameView": 4,
+ "view": 28,
+ "NSView": 14,
+ "*documentView": 1,
+ "documentView": 2,
+ "focusNSView": 1,
+ "focusController": 1,
+ "setFocusedFrame": 1,
+ "passWidgetMouseDownEventToWidget": 3,
+ "MouseEventWithHitTestResults": 7,
+ "RenderObject*": 2,
+ "target": 6,
+ "targetNode": 3,
+ "renderer": 7,
+ "isWidget": 2,
+ "passMouseDownEventToWidget": 3,
+ "toRenderWidget": 3,
+ "widget": 18,
+ "RenderWidget*": 1,
+ "renderWidget": 2,
+ "lastEventIsMouseUp": 2,
+ "*currentEventAfterHandlingMouseDown": 1,
+ "currentEventAfterHandlingMouseDown": 3,
+ "NSLeftMouseUp": 3,
+ "timestamp": 8,
+ "Widget*": 3,
+ "pWidget": 2,
+ "RefPtr": 1,
+ "": 1,
+ "LOG_ERROR": 1,
+ "true": 29,
+ "platformWidget": 6,
+ "*nodeView": 1,
+ "nodeView": 9,
+ "superview": 5,
+ "*view": 4,
+ "hitTest": 2,
+ "convertPoint": 2,
+ "locationInWindow": 4,
+ "fromView": 3,
+ "nil": 25,
+ "client": 3,
+ "firstResponder": 1,
+ "clickCount": 8,
+ "<=>": 1,
+ "1": 1,
+ "acceptsFirstResponder": 1,
+ "needsPanelToBecomeKey": 1,
+ "makeFirstResponder": 1,
+ "wasDeferringLoading": 3,
+ "defersLoading": 1,
+ "setDefersLoading": 2,
+ "m_sendingEventToSubview": 24,
+ "*outerView": 1,
+ "getOuterView": 1,
+ "beforeMouseDown": 1,
+ "outerView": 2,
+ "widget.get": 2,
+ "mouseDown": 2,
+ "afterMouseDown": 1,
+ "m_mouseDownView": 5,
+ "m_mouseDownWasInSubframe": 7,
+ "m_mousePressed": 2,
+ "findViewInSubviews": 3,
+ "*superview": 1,
+ "*target": 1,
+ "NSEnumerator": 1,
+ "*e": 1,
+ "subviews": 1,
+ "objectEnumerator": 1,
+ "*subview": 1,
+ "while": 4,
+ "subview": 3,
+ "e": 1,
+ "nextObject": 1,
+ "mouseDownViewIfStillGood": 3,
+ "*mouseDownView": 1,
+ "mouseDownView": 3,
+ "topFrameView": 3,
+ "*topView": 1,
+ "topView": 2,
+ "eventLoopHandleMouseDragged": 1,
+ "mouseDragged": 2,
+ "//": 7,
+ "eventLoopHandleMouseUp": 1,
+ "mouseUp": 2,
+ "passSubframeEventToSubframe": 4,
+ "Frame*": 5,
+ "subframe": 13,
+ "HitTestResult*": 2,
+ "hoveredNode": 5,
+ "NSLeftMouseDragged": 1,
+ "NSOtherMouseDragged": 1,
+ "NSRightMouseDragged": 1,
+ "dragController": 1,
+ "didInitiateDrag": 1,
+ "NSMouseMoved": 2,
+ "eventHandler": 6,
+ "handleMouseMoveEvent": 3,
+ "currentPlatformMouseEvent": 8,
+ "NSLeftMouseDown": 3,
+ "Node*": 1,
+ "node": 3,
+ "isFrameView": 2,
+ "handleMouseReleaseEvent": 3,
+ "originalNSScrollViewScrollWheel": 4,
+ "_nsScrollViewScrollWheelShouldRetainSelf": 3,
+ "selfRetainingNSScrollViewScrollWheel": 3,
+ "NSScrollView": 2,
+ "SEL": 2,
+ "nsScrollViewScrollWheelShouldRetainSelf": 2,
+ "isMainThread": 3,
+ "setNSScrollViewScrollWheelShouldRetainSelf": 3,
+ "shouldRetain": 2,
+ "method": 2,
+ "class_getInstanceMethod": 1,
+ "objc_getRequiredClass": 1,
+ "@selector": 4,
+ "scrollWheel": 2,
+ "reinterpret_cast": 1,
+ "": 1,
+ "*self": 1,
+ "selector": 2,
+ "shouldRetainSelf": 3,
+ "self": 70,
+ "retain": 1,
+ "release": 1,
+ "passWheelEventToWidget": 1,
+ "NSView*": 1,
+ "static_cast": 1,
+ "": 1,
+ "frame": 3,
+ "NSScrollWheel": 1,
+ "v": 6,
+ "loader": 1,
+ "resetMultipleFormSubmissionProtection": 1,
+ "handleMousePressEvent": 2,
+ "int": 36,
+ "%": 2,
+ "handleMouseDoubleClickEvent": 1,
+ "else": 11,
+ "sendFakeEventsAfterWidgetTracking": 1,
+ "*initiatingEvent": 1,
+ "eventType": 5,
+ "initiatingEvent": 22,
+ "*fakeEvent": 1,
+ "fakeEvent": 6,
+ "mouseEventWithType": 2,
+ "location": 3,
+ "modifierFlags": 6,
+ "windowNumber": 6,
+ "context": 6,
+ "eventNumber": 3,
+ "pressure": 3,
+ "postEvent": 3,
+ "atStart": 3,
+ "YES": 6,
+ "keyEventWithType": 1,
+ "characters": 3,
+ "charactersIgnoringModifiers": 2,
+ "isARepeat": 2,
+ "keyCode": 2,
+ "window": 1,
+ "convertScreenToBase": 1,
+ "mouseLocation": 1,
+ "mouseMoved": 2,
+ "frameHasPlatformWidget": 4,
+ "passMousePressEventToSubframe": 1,
+ "mev": 6,
+ "mev.event": 3,
+ "passMouseMoveEventToSubframe": 1,
+ "m_mouseDownMayStartDrag": 1,
+ "passMouseReleaseEventToSubframe": 1,
+ "PlatformMouseEvent": 5,
+ "*windowView": 1,
+ "windowView": 2,
+ "CONTEXT_MENUS": 2,
+ "sendContextMenuEvent": 2,
+ "eventMayStartDrag": 2,
+ "eventActivatedView": 1,
+ "m_activationEventNumber": 1,
+ "event.eventNumber": 1,
+ "": 1,
+ "createDraggingClipboard": 1,
+ "NSPasteboard": 2,
+ "*pasteboard": 1,
+ "pasteboardWithName": 1,
+ "NSDragPboard": 1,
+ "pasteboard": 2,
+ "declareTypes": 1,
+ "NSArray": 3,
+ "array": 2,
+ "owner": 15,
+ "ClipboardMac": 1,
+ "Clipboard": 1,
+ "DragAndDrop": 1,
+ "ClipboardWritable": 1,
+ "tabsToAllFormControls": 1,
+ "KeyboardEvent*": 1,
+ "KeyboardUIMode": 1,
+ "keyboardUIMode": 5,
+ "handlingOptionTab": 4,
+ "isKeyboardOptionTab": 1,
+ "KeyboardAccessTabsToLinks": 2,
+ "KeyboardAccessFull": 1,
+ "needsKeyboardEventDisambiguationQuirks": 2,
+ "Document*": 1,
+ "applicationIsSafari": 1,
+ "url": 2,
+ ".protocolIs": 2,
+ "Settings*": 1,
+ "settings": 5,
+ "DASHBOARD_SUPPORT": 1,
+ "usesDashboardBackwardCompatibilityMode": 1,
+ "unsigned": 2,
+ "accessKeyModifiers": 1,
+ "AXObjectCache": 1,
+ "accessibilityEnhancedUserInterfaceEnabled": 1,
+ "CtrlKey": 2,
+ "|": 3,
+ "AltKey": 1,
+ "#import": 3,
+ "": 1,
+ "": 1,
+ "#ifdef": 6,
+ "OODEBUG": 1,
+ "#define": 1,
+ "OODEBUG_SQL": 4,
+ "OOOODatabase": 1,
+ "OODB": 1,
+ "NSString": 25,
+ "*kOOObject": 1,
+ "@": 28,
+ "*kOOInsert": 1,
+ "*kOOUpdate": 1,
+ "*kOOExecSQL": 1,
+ "#pragma": 5,
+ "mark": 5,
+ "OORecord": 3,
+ "abstract": 1,
+ "superclass": 1,
+ "for": 14,
+ "records": 1,
+ "@implementation": 7,
+ "+": 55,
+ "id": 19,
+ "record": 18,
+ "OO_AUTORETURNS": 2,
+ "OO_AUTORELEASE": 3,
+ "alloc": 11,
+ "init": 4,
+ "insert": 7,
+ "*record": 4,
+ "insertWithParent": 1,
+ "parent": 10,
+ "OODatabase": 26,
+ "sharedInstance": 37,
+ "copyJoinKeysFrom": 1,
+ "to": 6,
+ "delete": 4,
+ "update": 4,
+ "indate": 4,
+ "upsert": 4,
+ "commit": 6,
+ "rollback": 5,
+ "setNilValueForKey": 1,
+ "key": 2,
+ "OOReference": 2,
+ "": 1,
+ "zeroForNull": 4,
+ "NSNumber": 4,
+ "numberWithInt": 1,
+ "setValue": 1,
+ "forKey": 1,
+ "OOArray": 16,
+ "": 14,
+ "select": 21,
+ "intoClass": 11,
+ "joinFrom": 10,
+ "cOOString": 15,
+ "sql": 21,
+ "selectRecordsRelatedTo": 1,
+ "importFrom": 1,
+ "OOFile": 4,
+ "file": 2,
+ "delimiter": 4,
+ "delim": 4,
+ "rows": 2,
+ "OOMetaData": 21,
+ "import": 1,
+ "file.string": 1,
+ "insertArray": 3,
+ "BOOL": 11,
+ "exportTo": 1,
+ "file.save": 1,
+ "export": 1,
+ "bindToView": 1,
+ "OOView": 2,
+ "delegate": 4,
+ "bindRecord": 1,
+ "toView": 1,
+ "updateFromView": 1,
+ "updateRecord": 1,
+ "description": 6,
+ "*metaData": 14,
+ "metaDataForClass": 3,
+ "hack": 1,
+ "required": 2,
+ "where": 1,
+ "contains": 1,
+ "a": 9,
+ "field": 1,
+ "avoid": 1,
+ "recursion": 1,
+ "OOStringArray": 6,
+ "ivars": 5,
+ "<<": 2,
+ "metaData": 26,
+ "encode": 3,
+ "dictionaryWithValuesForKeys": 3,
+ "@end": 14,
+ "OOAdaptor": 6,
+ "all": 3,
+ "methods": 1,
+ "by": 1,
+ "objsql": 1,
+ "access": 2,
+ "database": 12,
+ "@interface": 6,
+ "NSObject": 1,
+ "sqlite3": 1,
+ "*db": 1,
+ "sqlite3_stmt": 1,
+ "*stmt": 1,
+ "struct": 5,
+ "_str_link": 5,
+ "*next": 2,
+ "char": 9,
+ "str": 7,
+ "*strs": 1,
+ "OO_UNSAFE": 1,
+ "*owner": 3,
+ "initPath": 5,
+ "path": 9,
+ "prepare": 4,
+ "bindCols": 5,
+ "cOOStringArray": 3,
+ "columns": 7,
+ "values": 29,
+ "cOOValueDictionary": 2,
+ "startingAt": 5,
+ "pno": 13,
+ "bindNulls": 8,
+ "bindResultsIntoInstancesOfClass": 4,
+ "Class": 9,
+ "recordClass": 16,
+ "sqlite_int64": 2,
+ "lastInsertRowID": 2,
+ "NSData": 3,
+ "OOExtras": 9,
+ "initWithDescription": 1,
+ "is": 2,
+ "the": 5,
+ "low": 1,
+ "level": 1,
+ "interface": 1,
+ "particular": 2,
+ "": 1,
+ "sharedInstanceForPath": 2,
+ "OODocument": 1,
+ ".path": 1,
+ "OONil": 1,
+ "OO_RELEASE": 6,
+ "exec": 10,
+ "fmt": 9,
+ "...": 3,
+ "va_list": 3,
+ "argp": 12,
+ "va_start": 3,
+ "*sql": 5,
+ "initWithFormat": 3,
+ "arguments": 3,
+ "va_end": 3,
+ "objects": 4,
+ "deleteArray": 2,
+ "object": 13,
+ "commitTransaction": 3,
+ "super": 3,
+ "adaptor": 1,
+ "registerSubclassesOf": 1,
+ "recordSuperClass": 2,
+ "numClasses": 5,
+ "objc_getClassList": 2,
+ "NULL": 4,
+ "*classes": 2,
+ "malloc": 2,
+ "sizeof": 2,
+ "": 1,
+ "viewClasses": 4,
+ "classNames": 4,
+ "scan": 1,
+ "registered": 2,
+ "classes": 12,
+ "relevant": 1,
+ "subclasses": 1,
+ "c": 14,
+ "<": 5,
+ "superClass": 5,
+ "class_getName": 4,
+ "class_getSuperclass": 1,
+ "respondsToSelector": 2,
+ "ooTableSql": 1,
+ "tableMetaDataForClass": 8,
+ "break": 6,
+ "delay": 1,
+ "creation": 1,
+ "views": 1,
+ "until": 1,
+ "after": 1,
+ "tables": 1,
+ "": 1,
+ "in": 9,
+ "order": 1,
+ "free": 3,
+ "Register": 1,
+ "list": 1,
+ "of": 2,
+ "before": 1,
+ "using": 2,
+ "them": 2,
+ "so": 2,
+ "can": 1,
+ "determine": 1,
+ "relationships": 1,
+ "between": 1,
+ "registerTableClassesNamed": 1,
+ "tableClass": 2,
+ "NSBundle": 1,
+ "mainBundle": 1,
+ "classNamed": 1,
+ "Send": 1,
+ "any": 2,
+ "SQL": 1,
+ "Sql": 1,
+ "format": 1,
+ "string": 1,
+ "escape": 1,
+ "Any": 1,
+ "results": 3,
+ "returned": 1,
+ "are": 1,
+ "placed": 1,
+ "as": 1,
+ "an": 1,
+ "dictionary": 1,
+ "results.": 1,
+ "*/": 1,
+ "errcode": 12,
+ "OOString": 6,
+ "stringForSql": 2,
+ "*aColumnName": 1,
+ "**results": 1,
+ "allKeys": 1,
+ "objectAtIndex": 1,
+ "OOValueDictionary": 5,
+ "joinValues": 4,
+ "sharedColumns": 5,
+ "*parentMetaData": 1,
+ "parentMetaData": 2,
+ "naturalJoinTo": 1,
+ "joinableColumns": 1,
+ "whereClauseFor": 2,
+ "qualifyNulls": 2,
+ "NO": 3,
+ "ooOrderBy": 2,
+ "OOFormat": 5,
+ "NSLog": 4,
+ "*joinValues": 1,
+ "*adaptor": 7,
+ "": 1,
+ "tablesRelatedByNaturalJoinFrom": 1,
+ "tablesWithNaturalJoin": 5,
+ "**tablesWithNaturalJoin": 1,
+ "*childMetaData": 1,
+ "tableMetaDataByClassName": 3,
+ "prepareSql": 1,
+ "toTable": 1,
+ "childMetaData": 1,
+ "OODictionary": 2,
+ "": 1,
+ "tmpResults": 1,
+ "kOOExecSQL": 1,
+ "*exec": 2,
+ "OOWarn": 9,
+ "errmsg": 5,
+ "continue": 3,
+ "OORef": 2,
+ "": 1,
+ "*values": 3,
+ "kOOObject": 3,
+ "isInsert": 4,
+ "kOOInsert": 1,
+ "isUpdate": 5,
+ "kOOUpdate": 2,
+ "newValues": 3,
+ "changedCols": 4,
+ "*name": 4,
+ "*newValues": 1,
+ "name": 9,
+ "isEqual": 1,
+ "tableName": 4,
+ "columns/": 1,
+ "nchanged": 4,
+ "*object": 1,
+ "lastSQL": 4,
+ "**changedCols": 1,
+ "quote": 2,
+ "commaQuote": 2,
+ "": 1,
+ "commited": 2,
+ "updateCount": 2,
+ "transaction": 2,
+ "updated": 2,
+ "NSMutableDictionary": 1,
+ "*d": 1,
+ "*transaction": 1,
+ "d": 2,
+ "": 1,
+ "OO_ARC": 1,
+ "boxed": 1,
+ "valueForKey": 1,
+ "pointerValue": 1,
+ "setValuesForKeysWithDictionary": 2,
+ "decode": 2,
+ "count": 1,
+ "className": 3,
+ "createTableSQL": 2,
+ "*idx": 1,
+ "indexes": 1,
+ "idx": 2,
+ "implements": 1,
+ ".directory": 1,
+ ".mkdir": 1,
+ "sqlite3_open": 1,
+ "db": 8,
+ "SQLITE_OK": 6,
+ "*path": 1,
+ "sqlite3_prepare_v2": 1,
+ "stmt": 20,
+ "sqlite3_errmsg": 3,
+ "bindValue": 2,
+ "value": 26,
+ "asParameter": 2,
+ "OODEBUG_BIND": 1,
+ "OONull": 3,
+ "sqlite3_bind_null": 1,
+ "OOSQL_THREAD_SAFE_BUT_USES_MORE_MEMORY": 1,
+ "isKindOfClass": 3,
+ "sqlite3_bind_text": 2,
+ "UTF8String": 1,
+ "SQLITE_STATIC": 3,
+ "#else": 1,
+ "len": 4,
+ "lengthOfBytesUsingEncoding": 1,
+ "NSUTF8StringEncoding": 3,
+ "*str": 2,
+ "next": 3,
+ "strs": 6,
+ "getCString": 1,
+ "maxLength": 1,
+ "encoding": 2,
+ "sqlite3_bind_blob": 1,
+ "bytes": 5,
+ "length": 4,
+ "*type": 1,
+ "objCType": 1,
+ "sqlite3_bind_int": 1,
+ "intValue": 3,
+ "sqlite3_bind_int64": 1,
+ "longLongValue": 1,
+ "sqlite3_bind_double": 1,
+ "doubleValue": 1,
+ "*columns": 1,
+ "valuesForNextRow": 2,
+ "ncols": 2,
+ "sqlite3_column_count": 1,
+ "sqlite3_column_name": 1,
+ "sqlite3_column_type": 2,
+ "SQLITE_NULL": 1,
+ "SQLITE_INTEGER": 1,
+ "initWithLongLong": 1,
+ "sqlite3_column_int64": 1,
+ "SQLITE_FLOAT": 1,
+ "initWithDouble": 1,
+ "sqlite3_column_double": 1,
+ "SQLITE_TEXT": 1,
+ "*bytes": 2,
+ "sqlite3_column_text": 1,
+ "NSMutableString": 1,
+ "initWithBytes": 2,
+ "sqlite3_column_bytes": 2,
+ "SQLITE_BLOB": 1,
+ "sqlite3_column_blob": 1,
+ "out": 4,
+ "awakeFromDB": 4,
+ "instancesRespondToSelector": 1,
+ "sqlite3_step": 1,
+ "SQLITE_ROW": 1,
+ "SQLITE_DONE": 1,
+ "out.alloc": 1,
+ "sqlite3_changes": 1,
+ "sqlite3_finalize": 1,
+ "sqlite3_last_insert_rowid": 1,
+ "dealloc": 1,
+ "sqlite3_close": 1,
+ "OO_DEALLOC": 1,
+ "instances": 1,
+ "represent": 1,
+ "table": 1,
+ "and": 2,
+ "it": 2,
+ "s": 2,
+ "l": 1,
+ "C": 1,
+ "S": 1,
+ "I": 1,
+ "L": 1,
+ "q": 1,
+ "Q": 1,
+ "f": 1,
+ "_": 2,
+ "tag": 1,
+ "A": 2,
+ "<'>": 1,
+ "iptr": 4,
+ "*optr": 1,
+ "unhex": 2,
+ "*iptr": 1,
+ "*16": 1,
+ "hex": 1,
+ "initWithBytesNoCopy": 1,
+ "optr": 1,
+ "freeWhenDone": 1,
+ "stringValue": 4,
+ "charValue": 1,
+ "shortValue": 1,
+ "OOReplace": 2,
+ "reformat": 4,
+ "NSDictionary": 2,
+ "__IPHONE_OS_VERSION_MIN_REQUIRED": 1,
+ "UISwitch": 2,
+ "text": 1,
+ "self.on": 1
+ },
"OCaml": {
"{": 11,
"shared": 1,
@@ -36353,29 +47612,29 @@
"package": 14,
"App": 131,
"Ack": 136,
- ";": 1185,
- "use": 76,
- "warnings": 16,
- "strict": 16,
+ ";": 1193,
+ "use": 83,
+ "warnings": 18,
+ "strict": 18,
"File": 54,
"Next": 27,
"Plugin": 2,
"Basic": 10,
- "head1": 31,
- "NAME": 5,
- "-": 860,
+ "head1": 36,
+ "NAME": 6,
+ "-": 868,
"A": 2,
"container": 1,
- "for": 78,
+ "for": 83,
"functions": 2,
- "the": 131,
+ "the": 143,
"ack": 38,
"program": 6,
"VERSION": 15,
"Version": 1,
- "cut": 27,
+ "cut": 28,
"our": 34,
- "COPYRIGHT": 6,
+ "COPYRIGHT": 7,
"BEGIN": 7,
"{": 1121,
"}": 1134,
@@ -36392,8 +47651,8 @@
"is_cygwin": 6,
"is_windows": 12,
"Spec": 13,
- "(": 919,
- ")": 917,
+ "(": 925,
+ ")": 923,
"Glob": 4,
"Getopt": 6,
"Long": 6,
@@ -36408,27 +47667,27 @@
"actionscript": 2,
"[": 159,
"qw": 35,
- "as": 33,
+ "as": 37,
"mxml": 2,
"]": 155,
"ada": 4,
"adb": 2,
"ads": 2,
"asm": 4,
- "s": 34,
+ "s": 35,
"batch": 2,
"bat": 2,
"cmd": 2,
"binary": 3,
"q": 5,
"Binary": 2,
- "files": 41,
+ "files": 42,
"defined": 54,
- "by": 11,
- "Perl": 6,
+ "by": 16,
+ "Perl": 9,
"T": 2,
"op": 2,
- "default": 16,
+ "default": 19,
"off": 4,
"tt": 4,
"tt2": 2,
@@ -36454,11 +47713,11 @@
"xslt": 2,
"ent": 2,
"while": 31,
- "my": 401,
+ "my": 404,
"type": 69,
"exts": 6,
"each": 14,
- "if": 272,
+ "if": 276,
"ref": 33,
"ext": 14,
"@": 38,
@@ -36466,7 +47725,7 @@
"_": 101,
"mk": 2,
"mak": 2,
- "not": 53,
+ "not": 54,
"t": 18,
"p": 9,
"STDIN": 2,
@@ -36475,36 +47734,36 @@
"/MSWin32/": 2,
"quotemeta": 5,
"catfile": 4,
- "SYNOPSIS": 5,
- "If": 14,
- "you": 33,
- "want": 5,
- "to": 86,
+ "SYNOPSIS": 6,
+ "If": 15,
+ "you": 44,
+ "want": 7,
+ "to": 95,
"know": 4,
- "about": 3,
+ "about": 4,
"F": 24,
"": 13,
- "see": 4,
- "file": 40,
- "itself.": 2,
+ "see": 5,
+ "file": 49,
+ "itself.": 3,
"No": 4,
"user": 4,
"serviceable": 1,
"parts": 1,
"inside.": 1,
- "is": 62,
- "all": 22,
- "that": 27,
+ "is": 69,
+ "all": 23,
+ "that": 33,
"should": 6,
"this.": 1,
"FUNCTIONS": 1,
- "head2": 32,
+ "head2": 34,
"read_ackrc": 4,
"Reads": 1,
"contents": 2,
- "of": 55,
+ "of": 64,
".ackrc": 1,
- "and": 76,
+ "and": 85,
"returns": 4,
"arguments.": 1,
"sub": 225,
@@ -36522,7 +47781,7 @@
"&&": 83,
"e": 20,
"open": 7,
- "or": 47,
+ "or": 49,
"die": 38,
"@lines": 21,
"/./": 2,
@@ -36537,11 +47796,11 @@
"return": 157,
"get_command_line_options": 4,
"Gets": 3,
- "command": 13,
+ "command": 14,
"line": 20,
"arguments": 2,
"does": 10,
- "specific": 1,
+ "specific": 2,
"tweaking.": 1,
"opt": 291,
"pager": 19,
@@ -36564,9 +47823,9 @@
"column": 4,
"#": 99,
"ignore": 7,
- "this": 18,
+ "this": 22,
"option": 7,
- "it": 25,
+ "it": 28,
"handled": 2,
"beforehand": 2,
"f": 25,
@@ -36598,7 +47857,7 @@
"print_version_statement": 2,
"exit": 16,
"show_help": 3,
- "@_": 41,
+ "@_": 43,
"show_help_types": 2,
"require": 12,
"Pod": 4,
@@ -36610,7 +47869,7 @@
"wanted": 4,
"no//": 2,
"must": 5,
- "be": 30,
+ "be": 36,
"later": 2,
"exists": 19,
"else": 53,
@@ -36645,7 +47904,7 @@
"uniq": 4,
"@uniq": 2,
"sort": 8,
- "a": 81,
+ "a": 85,
"<=>": 2,
"b": 6,
"keys": 15,
@@ -36656,24 +47915,24 @@
"Go": 1,
"through": 6,
"look": 2,
- "I": 67,
+ "I": 68,
"<--type-set>": 1,
"foo=": 1,
"bar": 3,
"<--type-add>": 1,
"xml=": 1,
- ".": 121,
+ ".": 125,
"Remove": 1,
"them": 5,
- "add": 8,
+ "add": 9,
"supported": 1,
"filetypes": 8,
"i.e.": 2,
"into": 6,
- "etc.": 1,
+ "etc.": 3,
"@typedef": 8,
"td": 6,
- "set": 11,
+ "set": 12,
"Builtin": 4,
"cannot": 4,
"changed.": 4,
@@ -36681,7 +47940,7 @@
"delete_type": 5,
"Type": 2,
"exist": 4,
- "creating": 2,
+ "creating": 3,
"with": 26,
"...": 2,
"unless": 39,
@@ -36693,7 +47952,7 @@
"internal": 1,
"structures": 1,
"containing": 5,
- "information": 1,
+ "information": 2,
"type_wanted.": 1,
"Internal": 2,
"error": 4,
@@ -36702,18 +47961,18 @@
"Standard": 1,
"filter": 12,
"pass": 1,
- "L": 18,
+ "L": 34,
"": 1,
"descend_filter.": 1,
- "It": 2,
+ "It": 3,
"true": 3,
"directory": 8,
- "any": 3,
+ "any": 4,
"ones": 1,
"we": 7,
"ignore.": 1,
"path": 28,
- "This": 24,
+ "This": 27,
"removes": 1,
"trailing": 1,
"separator": 4,
@@ -36729,18 +47988,18 @@
"For": 5,
"example": 5,
"": 1,
- "The": 20,
+ "The": 22,
"filetype": 1,
- "will": 7,
- "C": 48,
+ "will": 9,
+ "C": 56,
"": 1,
- "can": 26,
+ "can": 30,
"skipped": 2,
- "something": 2,
+ "something": 3,
"avoid": 1,
"searching": 6,
"even": 4,
- "under": 4,
+ "under": 5,
"a.": 1,
"constant": 2,
"TEXT": 16,
@@ -36750,7 +48009,7 @@
"lc_basename": 8,
"lc": 5,
"r": 14,
- "B": 75,
+ "B": 76,
"header": 17,
"SHEBANG#!#!": 2,
"ruby": 3,
@@ -36784,7 +48043,7 @@
"_get_thpppt": 3,
"print": 35,
"_bar": 3,
- "<<": 6,
+ "<<": 10,
"&": 22,
"*I": 2,
"g": 7,
@@ -36794,13 +48053,13 @@
"#I": 6,
"#7": 4,
"results.": 2,
- "on": 24,
- "when": 17,
- "used": 11,
+ "on": 25,
+ "when": 18,
+ "used": 12,
"interactively": 6,
- "no": 21,
+ "no": 22,
"Print": 6,
- "between": 3,
+ "between": 4,
"results": 8,
"different": 2,
"files.": 6,
@@ -36829,7 +48088,7 @@
"pipe": 4,
"finding": 2,
"Only": 7,
- "found": 9,
+ "found": 11,
"without": 3,
"searching.": 2,
"PATTERN": 8,
@@ -36841,13 +48100,13 @@
"lexically.": 3,
"invert": 2,
"Print/search": 2,
- "handle": 2,
- "do": 11,
+ "handle": 3,
+ "do": 12,
"g/": 2,
"G.": 2,
"show": 3,
"Show": 2,
- "which": 6,
+ "which": 7,
"has.": 2,
"inclusion/exclusion": 2,
"All": 4,
@@ -36883,7 +48142,7 @@
"@before": 16,
"before_starts_at_line": 10,
"after": 18,
- "number": 3,
+ "number": 4,
"still": 4,
"res": 59,
"next_text": 8,
@@ -36948,10 +48207,10 @@
"print_count0": 2,
"filetypes_supported_set": 9,
"True/False": 1,
- "are": 24,
+ "are": 25,
"print_files": 4,
"iter": 23,
- "returned": 2,
+ "returned": 3,
"iterator": 3,
"<$regex>": 1,
"<$one>": 1,
@@ -36959,7 +48218,7 @@
"first.": 1,
"<$ors>": 1,
"<\"\\n\">": 1,
- "defines": 1,
+ "defines": 2,
"what": 14,
"filename.": 1,
"print_files_with_matches": 4,
@@ -37029,24 +48288,24 @@
"pipe.": 1,
"exit_from_ack": 5,
"Exit": 1,
- "application": 10,
+ "application": 15,
"correct": 1,
"code.": 2,
"otherwise": 2,
"handed": 1,
- "in": 29,
+ "in": 36,
"argument.": 1,
"rc": 11,
"LICENSE": 3,
"Copyright": 2,
"Andy": 2,
"Lester.": 2,
- "free": 3,
+ "free": 4,
"software": 3,
- "redistribute": 3,
- "and/or": 3,
- "modify": 3,
- "terms": 3,
+ "redistribute": 4,
+ "and/or": 4,
+ "modify": 4,
+ "terms": 4,
"Artistic": 2,
"License": 2,
"v2.0.": 2,
@@ -37062,8 +48321,8 @@
"unspecified": 1,
"fib": 4,
"N": 2,
- "SEE": 3,
- "ALSO": 3,
+ "SEE": 4,
+ "ALSO": 4,
"": 1,
"SHEBANG#!perl": 5,
"MAIN": 1,
@@ -37084,7 +48343,7 @@
"Resource": 5,
"file_matching": 2,
"check_regex": 2,
- "like": 12,
+ "like": 13,
"finder": 1,
"options": 7,
"FILE...": 1,
@@ -37103,7 +48362,7 @@
"By": 2,
"prints": 2,
"also": 7,
- "would": 3,
+ "would": 5,
"actually": 1,
"let": 1,
"take": 5,
@@ -37121,12 +48380,12 @@
"specified": 3,
"line.": 4,
"default.": 2,
- "item": 42,
+ "item": 44,
"": 11,
"paths": 3,
"included": 1,
"search.": 1,
- "entire": 2,
+ "entire": 3,
"matched": 1,
"against": 1,
"shell": 4,
@@ -37135,7 +48394,7 @@
"<-w>": 2,
"<-v>": 3,
"<-Q>": 4,
- "apply": 2,
+ "apply": 3,
"relative": 1,
"convenience": 1,
"shortcut": 2,
@@ -37181,7 +48440,7 @@
"include": 1,
"<--ignore-dir=data>": 1,
"<--noignore-dir>": 1,
- "allows": 2,
+ "allows": 4,
"normally": 1,
"perhaps": 1,
"research": 1,
@@ -37193,17 +48452,17 @@
"": 1,
"NOT": 1,
"supported.": 1,
- "You": 3,
- "need": 3,
+ "You": 4,
+ "need": 5,
"specify": 1,
"<--ignore-dir=foo>": 1,
- "then": 3,
+ "then": 4,
"foo": 6,
"taken": 1,
"account": 1,
"explicitly": 1,
"": 2,
- "file.": 2,
+ "file.": 3,
"Multiple": 1,
"<--line>": 1,
"comma": 1,
@@ -37244,9 +48503,9 @@
"they": 1,
"expression.": 1,
"Highlighting": 1,
- "work": 1,
+ "work": 3,
"though": 1,
- "so": 3,
+ "so": 4,
"highlight": 1,
"seeing": 1,
"tail": 1,
@@ -37259,9 +48518,9 @@
"usual": 1,
"newline.": 1,
"dealing": 1,
- "contain": 2,
+ "contain": 3,
"whitespace": 1,
- "e.g.": 1,
+ "e.g.": 2,
"html": 1,
"xargs": 2,
"rm": 1,
@@ -37282,7 +48541,7 @@
"<--smart-case>": 1,
"<--no-smart-case>": 1,
"strings": 1,
- "contains": 1,
+ "contains": 2,
"uppercase": 1,
"characters.": 1,
"similar": 1,
@@ -37293,7 +48552,7 @@
"<--sort-files>": 1,
"Sorts": 1,
"Use": 6,
- "your": 13,
+ "your": 20,
"listings": 1,
"deterministic": 1,
"runs": 1,
@@ -37307,7 +48566,7 @@
"Bill": 1,
"Cat": 1,
"logo.": 1,
- "Note": 4,
+ "Note": 5,
"exact": 1,
"spelling": 1,
"<--thpppppt>": 1,
@@ -37316,7 +48575,7 @@
"perl": 8,
"php": 2,
"python": 1,
- "looks": 1,
+ "looks": 2,
"location.": 1,
"variable": 1,
"specifies": 1,
@@ -37360,7 +48619,7 @@
"See": 1,
"": 1,
"specifications.": 1,
- "such": 5,
+ "such": 6,
"": 1,
"": 1,
"": 1,
@@ -37373,7 +48632,7 @@
"understands": 1,
"sequences.": 1,
"never": 1,
- "back": 3,
+ "back": 4,
"ACK": 2,
"OTHER": 1,
"TOOLS": 1,
@@ -37396,8 +48655,8 @@
"Phil": 1,
"Jackson": 1,
"put": 1,
- "together": 1,
- "an": 11,
+ "together": 2,
+ "an": 16,
"": 1,
"extension": 1,
"": 1,
@@ -37410,13 +48669,13 @@
"Code": 1,
"greater": 1,
"normal": 1,
- "code": 7,
+ "code": 8,
"<$?=256>": 1,
"": 1,
"backticks.": 1,
"errors": 1,
"used.": 1,
- "at": 3,
+ "at": 4,
"least": 1,
"returned.": 1,
"DEBUGGING": 1,
@@ -37438,7 +48697,7 @@
"big": 1,
"codesets": 1,
"more": 2,
- "create": 2,
+ "create": 3,
"tree": 2,
"ideal": 1,
"sending": 1,
@@ -37485,7 +48744,7 @@
"tips": 1,
"here.": 1,
"FAQ": 1,
- "Why": 2,
+ "Why": 3,
"isn": 1,
"doesn": 8,
"behavior": 3,
@@ -37507,17 +48766,17 @@
"those": 2,
"well": 2,
"returning": 1,
- "things": 1,
+ "things": 2,
"great": 1,
"did": 1,
"replace": 3,
"read": 6,
"only.": 1,
- "has": 2,
+ "has": 3,
"perfectly": 1,
"good": 2,
"way": 2,
- "using": 2,
+ "using": 5,
"<-p>": 1,
"<-n>": 1,
"switches.": 1,
@@ -37532,7 +48791,7 @@
"<.xyz>": 1,
"already": 2,
"program/package": 1,
- "called": 3,
+ "called": 4,
"ack.": 2,
"Yes": 1,
"know.": 1,
@@ -37587,7 +48846,7 @@
"hash": 11,
"badkey": 1,
"caller": 2,
- "start": 6,
+ "start": 7,
"dh": 4,
"opendir": 1,
"@newfiles": 5,
@@ -37597,7 +48856,7 @@
"catdir": 3,
"closedir": 1,
"": 1,
- "these": 1,
+ "these": 4,
"updated": 1,
"update": 1,
"message": 1,
@@ -37632,7 +48891,7 @@
"seek": 4,
"readline": 1,
"nexted": 3,
- "CGI": 5,
+ "CGI": 6,
"Fast": 3,
"XML": 2,
"Hash": 11,
@@ -37681,6 +48940,113 @@
"Foo": 11,
"Bar": 1,
"@array": 1,
+ "pod": 1,
+ "Catalyst": 10,
+ "PSGI": 10,
+ "How": 1,
+ "": 3,
+ "specification": 3,
+ "interface": 1,
+ "web": 8,
+ "servers": 2,
+ "based": 2,
+ "applications": 2,
+ "frameworks.": 1,
+ "supports": 1,
+ "writing": 1,
+ "portable": 1,
+ "run": 1,
+ "various": 2,
+ "methods": 4,
+ "standalone": 1,
+ "server": 2,
+ "mod_perl": 3,
+ "FastCGI": 2,
+ "": 3,
+ "implementation": 1,
+ "running": 1,
+ "applications.": 1,
+ "Engine": 1,
+ "XXXX": 1,
+ "classes": 2,
+ "environments": 1,
+ "been": 1,
+ "changed": 1,
+ "done": 2,
+ "implementing": 1,
+ "possible": 2,
+ "manually": 2,
+ "": 1,
+ "root": 1,
+ "application.": 1,
+ "write": 2,
+ "own": 4,
+ ".psgi": 7,
+ "Writing": 2,
+ "alternate": 1,
+ "": 1,
+ "extensions": 1,
+ "implement": 2,
+ "": 1,
+ "": 1,
+ "": 1,
+ "simplest": 1,
+ "<.psgi>": 1,
+ "": 1,
+ "TestApp": 5,
+ "app": 2,
+ "psgi_app": 3,
+ "middleware": 2,
+ "components": 2,
+ "automatically": 2,
+ "": 1,
+ "applied": 1,
+ "psgi": 2,
+ "yourself.": 2,
+ "Details": 1,
+ "below.": 1,
+ "Additional": 1,
+ "": 1,
+ "What": 1,
+ "generates": 2,
+ "": 1,
+ "setting": 2,
+ "wrapped": 1,
+ "": 1,
+ "some": 1,
+ "engine": 1,
+ "fixes": 1,
+ "uniform": 1,
+ "behaviour": 2,
+ "contained": 1,
+ "over": 2,
+ "": 1,
+ "": 1,
+ "override": 1,
+ "providing": 2,
+ "none": 1,
+ "call": 2,
+ "MyApp": 1,
+ "Thus": 1,
+ "functionality": 1,
+ "ll": 1,
+ "An": 1,
+ "apply_default_middlewares": 2,
+ "method": 8,
+ "supplied": 1,
+ "wrap": 1,
+ "middlewares": 1,
+ "means": 3,
+ "auto": 1,
+ "generated": 1,
+ "": 1,
+ "": 1,
+ "AUTHORS": 2,
+ "Contributors": 1,
+ "Catalyst.pm": 1,
+ "library": 2,
+ "software.": 1,
+ "same": 2,
"Plack": 25,
"_001": 1,
"HTTP": 16,
@@ -37693,7 +49059,6 @@
"Escape": 6,
"_deprecated": 8,
"alt": 1,
- "method": 7,
"carp": 2,
"croak": 3,
"required": 2,
@@ -37782,7 +49147,6 @@
"_make_upload": 2,
"__END__": 2,
"Portable": 2,
- "PSGI": 6,
"app_or_middleware": 1,
"req": 28,
"finalize": 5,
@@ -37792,19 +49156,14 @@
"API": 2,
"objects": 2,
"across": 1,
- "web": 5,
- "server": 1,
"environments.": 1,
"CAVEAT": 1,
"module": 2,
"intended": 1,
- "middleware": 1,
"developers": 3,
"framework": 2,
"rather": 2,
- "Writing": 1,
"directly": 1,
- "possible": 1,
"recommended": 1,
"yet": 1,
"too": 1,
@@ -37822,7 +49181,6 @@
"PSGI.": 1,
"METHODS": 2,
"Some": 1,
- "methods": 3,
"earlier": 1,
"versions": 1,
"deprecated": 1,
@@ -37860,7 +49218,6 @@
"Unlike": 1,
"": 1,
"allow": 1,
- "setting": 1,
"modifying": 1,
"@values": 1,
"@params": 1,
@@ -37885,7 +49242,6 @@
"": 1,
"": 1,
"store": 1,
- "means": 2,
"plain": 2,
"": 1,
"scalars": 1,
@@ -37899,7 +49255,6 @@
"dispatch": 1,
"route": 1,
"actions": 1,
- "based": 1,
"sure": 1,
"": 1,
"virtual": 1,
@@ -37907,7 +49262,6 @@
"how": 1,
"mounted.": 1,
"hosted": 1,
- "mod_perl": 1,
"scripts": 1,
"multiplexed": 1,
"tools": 1,
@@ -37924,7 +49278,6 @@
"": 1,
"empty.": 1,
"older": 1,
- "call": 1,
"instead.": 1,
"Cookie": 2,
"handling": 1,
@@ -37942,10 +49295,8 @@
"Simple": 1,
"longer": 1,
"have": 2,
- "write": 1,
"wacky": 1,
"simply": 1,
- "AUTHORS": 1,
"Tatsuhiko": 2,
"Miyagawa": 2,
"Kazuhiro": 1,
@@ -37954,8 +49305,6 @@
"Matsuno": 2,
"": 1,
"": 1,
- "library": 1,
- "same": 1,
"Util": 3,
"Accessor": 1,
"status": 17,
@@ -38021,7 +49370,6 @@
"response": 5,
"psgi_handler": 1,
"API.": 1,
- "over": 1,
"Sets": 2,
"gets": 2,
"": 1,
@@ -39777,6 +51125,225 @@
"AddressBook": 1,
"person": 1
},
+ "PureScript": {
+ "module": 4,
+ "Control.Arrow": 1,
+ "where": 20,
+ "import": 32,
+ "Data.Tuple": 3,
+ "class": 4,
+ "Arrow": 5,
+ "a": 46,
+ "arr": 10,
+ "forall": 26,
+ "b": 49,
+ "c.": 3,
+ "(": 111,
+ "-": 88,
+ "c": 17,
+ ")": 115,
+ "first": 4,
+ "d.": 2,
+ "Tuple": 21,
+ "d": 6,
+ "instance": 12,
+ "arrowFunction": 1,
+ "f": 28,
+ "second": 3,
+ "Category": 3,
+ "swap": 4,
+ "b.": 1,
+ "x": 26,
+ "y": 2,
+ "infixr": 3,
+ "***": 2,
+ "&&": 3,
+ "&": 3,
+ ".": 2,
+ "g": 4,
+ "ArrowZero": 1,
+ "zeroArrow": 1,
+ "<+>": 2,
+ "ArrowPlus": 1,
+ "Data.Foreign": 2,
+ "Foreign": 12,
+ "..": 1,
+ "ForeignParser": 29,
+ "parseForeign": 6,
+ "parseJSON": 3,
+ "ReadForeign": 11,
+ "read": 10,
+ "prop": 3,
+ "Prelude": 3,
+ "Data.Array": 3,
+ "Data.Either": 1,
+ "Data.Maybe": 3,
+ "Data.Traversable": 2,
+ "foreign": 6,
+ "data": 3,
+ "*": 1,
+ "fromString": 2,
+ "String": 13,
+ "Either": 6,
+ "readPrimType": 5,
+ "a.": 6,
+ "readMaybeImpl": 2,
+ "Maybe": 5,
+ "readPropImpl": 2,
+ "showForeignImpl": 2,
+ "showForeign": 1,
+ "Prelude.Show": 1,
+ "show": 5,
+ "p": 11,
+ "json": 2,
+ "monadForeignParser": 1,
+ "Prelude.Monad": 1,
+ "return": 6,
+ "_": 7,
+ "Right": 9,
+ "case": 9,
+ "of": 9,
+ "Left": 8,
+ "err": 8,
+ "applicativeForeignParser": 1,
+ "Prelude.Applicative": 1,
+ "pure": 1,
+ "<*>": 2,
+ "<$>": 8,
+ "functorForeignParser": 1,
+ "Prelude.Functor": 1,
+ "readString": 1,
+ "readNumber": 1,
+ "Number": 1,
+ "readBoolean": 1,
+ "Boolean": 1,
+ "readArray": 1,
+ "[": 5,
+ "]": 5,
+ "let": 4,
+ "arrayItem": 2,
+ "i": 2,
+ "result": 4,
+ "+": 30,
+ "in": 2,
+ "xs": 3,
+ "traverse": 2,
+ "zip": 1,
+ "range": 1,
+ "length": 3,
+ "readMaybe": 1,
+ "<<": 4,
+ "<": 13,
+ "Just": 7,
+ "Nothing": 7,
+ "Data.Map": 1,
+ "Map": 26,
+ "empty": 6,
+ "singleton": 5,
+ "insert": 10,
+ "lookup": 8,
+ "delete": 9,
+ "alter": 8,
+ "toList": 10,
+ "fromList": 3,
+ "union": 3,
+ "map": 8,
+ "qualified": 1,
+ "as": 1,
+ "P": 1,
+ "concat": 3,
+ "Data.Foldable": 2,
+ "foldl": 4,
+ "k": 108,
+ "v": 57,
+ "Leaf": 15,
+ "|": 9,
+ "Branch": 27,
+ "{": 25,
+ "key": 13,
+ "value": 8,
+ "left": 15,
+ "right": 14,
+ "}": 26,
+ "eqMap": 1,
+ "P.Eq": 11,
+ "m1": 6,
+ "m2": 6,
+ "P.": 11,
+ "/": 1,
+ "P.not": 1,
+ "showMap": 1,
+ "P.Show": 3,
+ "m": 6,
+ "P.show": 1,
+ "v.": 11,
+ "P.Ord": 9,
+ "b@": 6,
+ "k1": 16,
+ "b.left": 9,
+ "b.right": 8,
+ "findMinKey": 5,
+ "glue": 4,
+ "minKey": 3,
+ "root": 2,
+ "b.key": 1,
+ "b.value": 2,
+ "v1": 3,
+ "v2.": 1,
+ "v2": 2,
+ "ReactiveJQueryTest": 1,
+ "flip": 2,
+ "Control.Monad": 1,
+ "Control.Monad.Eff": 1,
+ "Control.Monad.JQuery": 1,
+ "Control.Reactive": 1,
+ "Control.Reactive.JQuery": 1,
+ "head": 2,
+ "Data.Monoid": 1,
+ "Debug.Trace": 1,
+ "Global": 1,
+ "parseInt": 1,
+ "main": 1,
+ "do": 4,
+ "personDemo": 2,
+ "todoListDemo": 1,
+ "greet": 1,
+ "firstName": 2,
+ "lastName": 2,
+ "Create": 3,
+ "new": 1,
+ "reactive": 1,
+ "variables": 1,
+ "to": 3,
+ "hold": 1,
+ "the": 3,
+ "user": 1,
+ "readRArray": 1,
+ "insertRArray": 1,
+ "text": 5,
+ "completed": 2,
+ "paragraph": 2,
+ "display": 2,
+ "next": 1,
+ "task": 4,
+ "nextTaskLabel": 3,
+ "create": 2,
+ "append": 2,
+ "nextTask": 2,
+ "toComputedArray": 2,
+ "toComputed": 2,
+ "bindTextOneWay": 2,
+ "counter": 3,
+ "counterLabel": 3,
+ "rs": 2,
+ "cs": 2,
+ "<->": 1,
+ "if": 1,
+ "then": 1,
+ "else": 1,
+ "entry": 1,
+ "entry.completed": 1
+ },
"Python": {
"from": 34,
"__future__": 2,
@@ -40733,36 +52300,133 @@
"socket.EAI_NONAME": 1
},
"R": {
- "SHEBANG#!Rscript": 1,
+ "df.residual.mira": 1,
+ "<": 46,
+ "-": 51,
+ "function": 18,
+ "(": 219,
+ "object": 12,
+ "...": 4,
+ ")": 220,
+ "{": 46,
+ "fit": 2,
+ "analyses": 1,
+ "[": 23,
+ "]": 24,
+ "return": 8,
+ "df.residual": 2,
+ "}": 46,
+ "df.residual.lme": 1,
+ "fixDF": 1,
+ "df.residual.mer": 1,
+ "sum": 1,
+ "object@dims": 1,
+ "*": 2,
+ "c": 11,
+ "+": 4,
+ "df.residual.default": 1,
+ "q": 3,
+ "df": 3,
+ "if": 19,
+ "is.null": 8,
+ "mk": 2,
+ "try": 3,
+ "coef": 1,
+ "silent": 3,
+ "TRUE": 14,
+ "mn": 2,
+ "f": 9,
+ "fitted": 1,
+ "inherits": 6,
+ "|": 3,
+ "NULL": 2,
+ "n": 3,
+ "ifelse": 1,
+ "is.data.frame": 1,
+ "is.matrix": 1,
+ "nrow": 1,
+ "length": 3,
+ "k": 3,
+ "max": 1,
+ "SHEBANG#!Rscript": 2,
+ "#": 45,
+ "MedianNorm": 2,
+ "data": 11,
+ "geomeans": 3,
+ "<->": 1,
+ "exp": 1,
+ "rowMeans": 1,
+ "log": 5,
+ "apply": 2,
+ "2": 1,
+ "cnts": 2,
+ "median": 1,
+ "library": 1,
+ "print_usage": 2,
+ "file": 4,
+ "stderr": 1,
+ "cat": 1,
+ "spec": 2,
+ "matrix": 3,
+ "byrow": 3,
+ "ncol": 3,
+ "opt": 23,
+ "getopt": 1,
+ "help": 1,
+ "stdout": 1,
+ "status": 1,
+ "height": 7,
+ "out": 4,
+ "res": 6,
+ "width": 7,
+ "ylim": 7,
+ "read.table": 1,
+ "header": 1,
+ "sep": 4,
+ "quote": 1,
+ "nsamp": 8,
+ "dim": 1,
+ "outfile": 4,
+ "sprintf": 2,
+ "png": 2,
+ "h": 12,
+ "hist": 4,
+ "plot": 7,
+ "FALSE": 9,
+ "mids": 4,
+ "density": 4,
+ "type": 3,
+ "col": 4,
+ "rainbow": 4,
+ "main": 2,
+ "xlab": 2,
+ "ylab": 2,
+ "for": 3,
+ "i": 6,
+ "in": 8,
+ "lines": 6,
+ "devnum": 2,
+ "dev.off": 2,
+ "size.factors": 2,
+ "data.matrix": 1,
+ "data.norm": 3,
+ "t": 1,
+ "x": 3,
+ "/": 1,
"ParseDates": 2,
- "<": 12,
- "-": 12,
- "function": 3,
- "(": 29,
- "lines": 4,
- ")": 29,
- "{": 3,
"dates": 3,
- "matrix": 2,
"unlist": 2,
- "strsplit": 2,
- "ncol": 2,
- "byrow": 2,
- "TRUE": 3,
+ "strsplit": 3,
"days": 2,
- "[": 4,
- "]": 4,
"times": 2,
"hours": 2,
"all.days": 2,
- "c": 2,
"all.hours": 2,
"data.frame": 1,
"Day": 2,
"factor": 2,
"levels": 2,
"Hour": 2,
- "}": 3,
"Main": 2,
"system": 1,
"intern": 1,
@@ -40773,8 +52437,6 @@
"ggplot": 1,
"aes": 2,
"y": 1,
- "x": 1,
- "+": 2,
"geom_point": 1,
"size": 1,
"Freq": 1,
@@ -40782,11 +52444,214 @@
"range": 1,
"ggsave": 1,
"filename": 1,
- "plot": 1,
- "width": 1,
- "height": 1,
"hello": 2,
"print": 1,
+ "module": 25,
+ "code": 19,
+ "available": 1,
+ "via": 1,
+ "the": 16,
+ "environment": 4,
+ "like": 1,
+ "it": 3,
+ "returns.": 1,
+ "@param": 2,
+ "an": 1,
+ "identifier": 1,
+ "specifying": 1,
+ "full": 1,
+ "path": 9,
+ "search": 5,
+ "see": 1,
+ "Details": 1,
+ "even": 1,
+ "attach": 11,
+ "is": 7,
+ "optionally": 1,
+ "attached": 2,
+ "to": 8,
+ "of": 1,
+ "current": 2,
+ "scope": 1,
+ "defaults": 1,
+ ".": 5,
+ "However": 1,
+ "interactive": 2,
+ "invoked": 1,
+ "directly": 1,
+ "from": 3,
+ "terminal": 1,
+ "only": 1,
+ "i.e.": 1,
+ "not": 4,
+ "within": 1,
+ "modules": 4,
+ "import.attach": 1,
+ "can": 2,
+ "be": 7,
+ "set": 1,
+ "or": 1,
+ "depending": 1,
+ "on": 1,
+ "user": 1,
+ "s": 2,
+ "preference.": 1,
+ "attach_operators": 3,
+ "causes": 1,
+ "emph": 3,
+ "operators": 3,
+ "by": 1,
+ "default": 1,
+ "path.": 1,
+ "Not": 1,
+ "attaching": 1,
+ "them": 1,
+ "therefore": 1,
+ "drastically": 1,
+ "limits": 1,
+ "a": 5,
+ "usefulness.": 1,
+ "Modules": 1,
+ "are": 1,
+ "searched": 1,
+ "options": 1,
+ "priority.": 1,
+ "The": 2,
+ "directory": 1,
+ "always": 1,
+ "considered": 1,
+ "first.": 1,
+ "That": 1,
+ "local": 3,
+ "./a.r": 1,
+ "will": 2,
+ "loaded.": 1,
+ "Module": 1,
+ "names": 2,
+ "fully": 1,
+ "qualified": 1,
+ "refer": 1,
+ "nested": 1,
+ "paths.": 1,
+ "See": 1,
+ "import": 5,
+ "executed": 1,
+ "global": 1,
+ "effect": 1,
+ "same.": 1,
+ "When": 1,
+ "used": 2,
+ "globally": 1,
+ "inside": 1,
+ "newly": 2,
+ "outside": 1,
+ "nor": 1,
+ "other": 2,
+ "which": 3,
+ "might": 1,
+ "loaded": 4,
+ "@examples": 1,
+ "@seealso": 3,
+ "reload": 3,
+ "@export": 2,
+ "substitute": 2,
+ "stopifnot": 3,
+ "missing": 1,
+ "&&": 2,
+ "module_name": 7,
+ "getOption": 1,
+ "else": 4,
+ "class": 4,
+ "module_path": 15,
+ "find_module": 1,
+ "stop": 1,
+ "attr": 2,
+ "message": 1,
+ "containing_modules": 3,
+ "module_init_files": 1,
+ "mapply": 1,
+ "do_import": 4,
+ "mod_ns": 5,
+ "as.character": 3,
+ "module_parent": 8,
+ "parent.frame": 2,
+ "mod_env": 7,
+ "exhibit_namespace": 3,
+ "identical": 2,
+ ".GlobalEnv": 2,
+ "name": 9,
+ "environmentName": 2,
+ "parent.env": 4,
+ "export_operators": 2,
+ "invisible": 1,
+ "is_module_loaded": 1,
+ "get_loaded_module": 1,
+ "namespace": 13,
+ "structure": 3,
+ "new.env": 1,
+ "parent": 9,
+ ".BaseNamespaceEnv": 1,
+ "paste": 3,
+ "source": 2,
+ "chdir": 1,
+ "envir": 5,
+ "cache_module": 1,
+ "exported_functions": 2,
+ "lsf.str": 2,
+ "list2env": 2,
+ "sapply": 2,
+ "get": 2,
+ "ops": 2,
+ "is_predefined": 2,
+ "%": 2,
+ "is_op": 2,
+ "prefix": 3,
+ "||": 1,
+ "grepl": 1,
+ "Filter": 1,
+ "op_env": 4,
+ "cache.": 1,
+ "@note": 1,
+ "Any": 1,
+ "references": 1,
+ "remain": 1,
+ "unchanged": 1,
+ "and": 2,
+ "files": 1,
+ "would": 1,
+ "have": 1,
+ "happened": 1,
+ "without": 1,
+ "unload": 2,
+ "should": 2,
+ "production": 1,
+ "code.": 1,
+ "does": 1,
+ "currently": 1,
+ "detach": 1,
+ "environments.": 1,
+ "Reload": 1,
+ "given": 1,
+ "Remove": 1,
+ "cache": 1,
+ "forcing": 1,
+ "reload.": 1,
+ "reloaded": 1,
+ "reference": 1,
+ "unloaded": 1,
+ "still": 1,
+ "work.": 1,
+ "Reloading": 1,
+ "primarily": 1,
+ "useful": 1,
+ "testing": 1,
+ "during": 1,
+ "module_ref": 3,
+ "rm": 1,
+ "list": 1,
+ ".loaded_modules": 1,
+ "whatnot.": 1,
+ "assign": 1,
"##polyg": 1,
"vector": 2,
"##numpoints": 1,
@@ -40800,8 +52665,7 @@
"pts": 1,
"spsample": 1,
"polyg": 1,
- "numpoints": 1,
- "type": 1
+ "numpoints": 1
},
"Racket": {
";": 3,
@@ -41220,12 +53084,398 @@
"purpose.": 1
},
"Rebol": {
- "REBOL": 1,
- "[": 3,
- "]": 3,
- "hello": 2,
+ "REBOL": 5,
+ "[": 54,
+ "System": 1,
+ "Title": 2,
+ "Rights": 1,
+ "{": 8,
+ "Copyright": 1,
+ "Technologies": 2,
+ "is": 4,
+ "a": 2,
+ "trademark": 1,
+ "of": 1,
+ "}": 8,
+ "License": 2,
+ "Licensed": 1,
+ "under": 1,
+ "the": 3,
+ "Apache": 1,
+ "Version": 1,
+ "See": 1,
+ "http": 1,
+ "//www.apache.org/licenses/LICENSE": 1,
+ "-": 26,
+ "Purpose": 1,
+ "These": 1,
+ "are": 2,
+ "used": 3,
+ "to": 2,
+ "define": 1,
+ "natives": 1,
+ "and": 2,
+ "actions.": 1,
+ "Bind": 1,
+ "attributes": 1,
+ "for": 4,
+ "this": 1,
+ "block": 5,
+ "BIND_SET": 1,
+ "SHALLOW": 1,
+ "]": 61,
+ ";": 19,
+ "Special": 1,
+ "as": 1,
+ "spec": 3,
+ "datatype": 2,
+ "test": 1,
+ "functions": 1,
+ "(": 30,
+ "e.g.": 1,
+ "time": 2,
+ ")": 33,
+ "value": 1,
+ "any": 1,
+ "type": 1,
+ "The": 1,
+ "native": 5,
+ "function": 3,
+ "must": 1,
+ "be": 1,
+ "defined": 1,
+ "first.": 1,
+ "This": 1,
+ "special": 1,
+ "boot": 1,
+ "created": 1,
+ "manually": 1,
+ "within": 1,
+ "C": 1,
+ "code.": 1,
+ "Creates": 2,
+ "internal": 2,
+ "usage": 2,
+ "only": 2,
+ ".": 4,
+ "no": 3,
+ "check": 2,
+ "required": 2,
+ "we": 2,
+ "know": 2,
+ "it": 2,
+ "correct": 2,
+ "action": 2,
+ "Rebol": 4,
+ "re": 20,
+ "func": 5,
+ "s": 5,
+ "/i": 1,
+ "rejoin": 1,
+ "compose": 1,
+ "either": 1,
+ "i": 1,
+ "little": 1,
+ "helper": 1,
+ "standard": 1,
+ "grammar": 1,
+ "regex": 2,
+ "date": 6,
+ "naive": 1,
+ "string": 1,
+ "|": 22,
+ "S": 3,
+ "*": 7,
+ "<(?:[^^\\>": 1,
+ "d": 3,
+ "+": 6,
+ "/": 5,
+ "@": 1,
+ "%": 2,
+ "A": 3,
+ "F": 1,
+ "url": 1,
+ "PR_LITERAL": 10,
+ "string_url": 1,
+ "email": 1,
+ "string_email": 1,
+ "binary": 1,
+ "binary_base_two": 1,
+ "binary_base_sixty_four": 1,
+ "binary_base_sixteen": 1,
+ "re/i": 2,
+ "issue": 1,
+ "string_issue": 1,
+ "values": 1,
+ "value_date": 1,
+ "value_time": 1,
+ "tuple": 1,
+ "value_tuple": 1,
+ "pair": 1,
+ "value_pair": 1,
+ "number": 2,
+ "PR": 1,
+ "Za": 2,
+ "z0": 2,
+ "<[=>": 1,
+ "rebol": 1,
+ "red": 1,
+ "/system": 1,
+ "world": 1,
+ "topaz": 1,
+ "true": 1,
+ "false": 1,
+ "yes": 1,
+ "on": 1,
+ "off": 1,
+ "none": 1,
+ "#": 1,
+ "hello": 8,
+ "print": 4,
+ "author": 1
+ },
+ "Red": {
+ "Red": 3,
+ "[": 111,
+ "Title": 2,
+ "Author": 1,
+ "]": 114,
+ "File": 1,
+ "%": 2,
+ "console.red": 1,
+ "Tabs": 1,
+ "Rights": 1,
+ "License": 2,
+ "{": 11,
+ "Distributed": 1,
+ "under": 1,
+ "the": 3,
+ "Boost": 1,
+ "Software": 1,
+ "Version": 1,
+ "See": 1,
+ "https": 1,
+ "//github.com/dockimbel/Red/blob/master/BSL": 1,
+ "-": 74,
+ "License.txt": 1,
+ "}": 11,
+ "Purpose": 2,
+ "Language": 2,
+ "http": 2,
+ "//www.red": 2,
+ "lang.org/": 2,
+ "#system": 1,
+ "global": 1,
+ "#either": 3,
+ "OS": 3,
+ "MacOSX": 2,
+ "History": 1,
+ "library": 1,
+ "cdecl": 3,
+ "add": 2,
+ "history": 2,
+ ";": 31,
+ "Add": 1,
+ "line": 9,
+ "to": 2,
+ "history.": 1,
+ "c": 7,
+ "string": 10,
+ "rl": 4,
+ "insert": 3,
+ "wrapper": 2,
"func": 1,
- "print": 1
+ "count": 3,
+ "integer": 16,
+ "key": 3,
+ "return": 10,
+ "Windows": 2,
+ "system/platform": 1,
+ "ret": 5,
+ "AttachConsole": 1,
+ "if": 2,
+ "zero": 3,
+ "print": 5,
+ "halt": 2,
+ "SetConsoleTitle": 1,
+ "as": 4,
+ "string/rs": 1,
+ "head": 1,
+ "str": 4,
+ "bind": 1,
+ "tab": 3,
+ "input": 2,
+ "routine": 1,
+ "prompt": 3,
+ "/local": 1,
+ "len": 1,
+ "buffer": 4,
+ "string/load": 1,
+ "+": 1,
+ "length": 1,
+ "free": 1,
+ "byte": 3,
+ "ptr": 14,
+ "SET_RETURN": 1,
+ "(": 6,
+ ")": 4,
+ "delimiters": 1,
+ "function": 6,
+ "block": 3,
+ "list": 1,
+ "copy": 2,
+ "none": 1,
+ "foreach": 1,
+ "case": 2,
+ "escaped": 2,
+ "no": 2,
+ "in": 2,
+ "comment": 2,
+ "switch": 3,
+ "#": 8,
+ "mono": 3,
+ "mode": 3,
+ "cnt/1": 1,
+ "red": 1,
+ "eval": 1,
+ "code": 3,
+ "load/all": 1,
+ "unless": 1,
+ "tail": 1,
+ "set/any": 1,
+ "not": 1,
+ "script/2": 1,
+ "do": 2,
+ "skip": 1,
+ "script": 1,
+ "quit": 2,
+ "init": 1,
+ "console": 2,
+ "Console": 1,
+ "alpha": 1,
+ "version": 3,
+ "only": 1,
+ "ASCII": 1,
+ "supported": 1,
+ "Red/System": 1,
+ "#include": 1,
+ "../common/FPU": 1,
+ "configuration.reds": 1,
+ "C": 1,
+ "types": 1,
+ "#define": 2,
+ "time": 2,
+ "long": 2,
+ "clock": 1,
+ "date": 1,
+ "alias": 2,
+ "struct": 5,
+ "second": 1,
+ "minute": 1,
+ "hour": 1,
+ "day": 1,
+ "month": 1,
+ "year": 1,
+ "Since": 1,
+ "weekday": 1,
+ "since": 1,
+ "Sunday": 1,
+ "yearday": 1,
+ "daylight": 1,
+ "saving": 1,
+ "Negative": 1,
+ "unknown": 1,
+ "#import": 1,
+ "LIBC": 1,
+ "file": 1,
+ "Error": 1,
+ "handling": 1,
+ "form": 1,
+ "error": 5,
+ "Return": 1,
+ "description.": 1,
+ "Print": 1,
+ "standard": 1,
+ "output.": 1,
+ "Memory": 1,
+ "management": 1,
+ "make": 1,
+ "Allocate": 1,
+ "filled": 1,
+ "memory.": 1,
+ "chunks": 1,
+ "size": 5,
+ "binary": 4,
+ "resize": 1,
+ "Resize": 1,
+ "memory": 2,
+ "allocation.": 1,
+ "JVM": 6,
+ "reserved0": 1,
+ "int": 6,
+ "reserved1": 1,
+ "reserved2": 1,
+ "DestroyJavaVM": 1,
+ "JNICALL": 5,
+ "vm": 5,
+ "jint": 5,
+ "AttachCurrentThread": 1,
+ "penv": 3,
+ "p": 3,
+ "args": 2,
+ "DetachCurrentThread": 1,
+ "GetEnv": 1,
+ "AttachCurrentThreadAsDaemon": 1,
+ "just": 2,
+ "some": 2,
+ "datatypes": 1,
+ "for": 1,
+ "testing": 1,
+ "#some": 1,
+ "hash": 1,
+ "FF0000": 3,
+ "FF000000": 2,
+ "with": 4,
+ "instead": 1,
+ "of": 1,
+ "space": 2,
+ "/wAAAA": 1,
+ "/wAAA": 2,
+ "A": 2,
+ "inside": 2,
+ "char": 1,
+ "bla": 2,
+ "ff": 1,
+ "foo": 3,
+ "numbers": 1,
+ "which": 1,
+ "interpreter": 1,
+ "path": 1,
+ "h": 1,
+ "#if": 1,
+ "type": 1,
+ "exe": 1,
+ "push": 3,
+ "system/stack/frame": 2,
+ "save": 1,
+ "previous": 1,
+ "frame": 2,
+ "pointer": 2,
+ "system/stack/top": 1,
+ "@@": 1,
+ "reposition": 1,
+ "after": 1,
+ "catch": 1,
+ "flag": 1,
+ "CATCH_ALL": 1,
+ "exceptions": 1,
+ "root": 1,
+ "barrier": 1,
+ "keep": 1,
+ "stack": 1,
+ "aligned": 1,
+ "on": 1,
+ "bit": 1
},
"RMarkdown": {
"Some": 1,
@@ -44077,6 +56327,585 @@
"foodforthought.jpg": 1,
"name##*fo": 1
},
+ "ShellSession": {
+ "echo": 2,
+ "FOOBAR": 2,
+ "Hello": 2,
+ "World": 2,
+ "gem": 4,
+ "install": 4,
+ "nokogiri": 6,
+ "...": 4,
+ "Building": 2,
+ "native": 2,
+ "extensions.": 2,
+ "This": 4,
+ "could": 2,
+ "take": 2,
+ "a": 4,
+ "while...": 2,
+ "checking": 1,
+ "for": 4,
+ "libxml/parser.h...": 1,
+ "***": 2,
+ "extconf.rb": 1,
+ "failed": 1,
+ "Could": 2,
+ "not": 2,
+ "create": 1,
+ "Makefile": 1,
+ "due": 1,
+ "to": 3,
+ "some": 1,
+ "reason": 2,
+ "probably": 1,
+ "lack": 1,
+ "of": 2,
+ "necessary": 1,
+ "libraries": 1,
+ "and/or": 1,
+ "headers.": 1,
+ "Check": 1,
+ "the": 2,
+ "mkmf.log": 1,
+ "file": 1,
+ "more": 1,
+ "details.": 1,
+ "You": 1,
+ "may": 1,
+ "need": 1,
+ "configuration": 1,
+ "options.": 1,
+ "brew": 2,
+ "tap": 2,
+ "homebrew/dupes": 1,
+ "Cloning": 1,
+ "into": 1,
+ "remote": 3,
+ "Counting": 1,
+ "objects": 3,
+ "done.": 4,
+ "Compressing": 1,
+ "%": 5,
+ "(": 6,
+ "/591": 1,
+ ")": 6,
+ "Total": 1,
+ "delta": 2,
+ "reused": 1,
+ "Receiving": 1,
+ "/1034": 1,
+ "KiB": 1,
+ "|": 1,
+ "bytes/s": 1,
+ "Resolving": 1,
+ "deltas": 1,
+ "/560": 1,
+ "Checking": 1,
+ "connectivity...": 1,
+ "done": 1,
+ "Warning": 1,
+ "homebrew/dupes/lsof": 1,
+ "over": 1,
+ "mxcl/master/lsof": 1,
+ "Tapped": 1,
+ "formula": 4,
+ "apple": 1,
+ "-": 12,
+ "gcc42": 1,
+ "Downloading": 1,
+ "http": 2,
+ "//r.research.att.com/tools/gcc": 1,
+ "darwin11.pkg": 1,
+ "########################################################################": 1,
+ "Caveats": 1,
+ "NOTE": 1,
+ "provides": 1,
+ "components": 1,
+ "that": 1,
+ "were": 1,
+ "removed": 1,
+ "from": 3,
+ "XCode": 2,
+ "in": 2,
+ "release.": 1,
+ "There": 1,
+ "is": 2,
+ "no": 1,
+ "this": 1,
+ "if": 1,
+ "you": 1,
+ "are": 1,
+ "using": 1,
+ "version": 1,
+ "prior": 1,
+ "contains": 1,
+ "compilers": 2,
+ "built": 2,
+ "Apple": 1,
+ "s": 1,
+ "GCC": 1,
+ "sources": 1,
+ "build": 1,
+ "available": 1,
+ "//opensource.apple.com/tarballs/gcc": 1,
+ "All": 1,
+ "have": 1,
+ "suffix.": 1,
+ "A": 1,
+ "GFortran": 1,
+ "compiler": 1,
+ "also": 1,
+ "included.": 1,
+ "Summary": 1,
+ "/usr/local/Cellar/apple": 1,
+ "gcc42/4.2.1": 1,
+ "files": 1,
+ "M": 1,
+ "seconds": 1,
+ "v": 1,
+ "Fetching": 1,
+ "Successfully": 1,
+ "installed": 2,
+ "Installing": 2,
+ "ri": 1,
+ "documentation": 2,
+ "RDoc": 1
+ },
+ "Shen": {
+ "*": 47,
+ "graph.shen": 1,
+ "-": 747,
+ "a": 30,
+ "library": 3,
+ "for": 12,
+ "graph": 52,
+ "definition": 1,
+ "and": 16,
+ "manipulation": 1,
+ "Copyright": 2,
+ "(": 267,
+ "C": 6,
+ ")": 250,
+ "Eric": 2,
+ "Schulte": 2,
+ "***": 5,
+ "License": 2,
+ "Redistribution": 2,
+ "use": 2,
+ "in": 13,
+ "source": 4,
+ "binary": 4,
+ "forms": 2,
+ "with": 8,
+ "or": 2,
+ "without": 2,
+ "modification": 2,
+ "are": 7,
+ "permitted": 2,
+ "provided": 4,
+ "that": 3,
+ "the": 29,
+ "following": 6,
+ "conditions": 6,
+ "met": 2,
+ "Redistributions": 4,
+ "of": 20,
+ "code": 2,
+ "must": 4,
+ "retain": 2,
+ "above": 4,
+ "copyright": 4,
+ "notice": 4,
+ "this": 4,
+ "list": 32,
+ "disclaimer.": 2,
+ "form": 2,
+ "reproduce": 2,
+ "disclaimer": 2,
+ "documentation": 2,
+ "and/or": 2,
+ "other": 2,
+ "materials": 2,
+ "distribution.": 2,
+ "THIS": 4,
+ "SOFTWARE": 4,
+ "IS": 2,
+ "PROVIDED": 2,
+ "BY": 2,
+ "THE": 10,
+ "COPYRIGHT": 4,
+ "HOLDERS": 2,
+ "AND": 8,
+ "CONTRIBUTORS": 4,
+ "ANY": 8,
+ "EXPRESS": 2,
+ "OR": 16,
+ "IMPLIED": 4,
+ "WARRANTIES": 4,
+ "INCLUDING": 6,
+ "BUT": 4,
+ "NOT": 4,
+ "LIMITED": 4,
+ "TO": 4,
+ "OF": 16,
+ "MERCHANTABILITY": 2,
+ "FITNESS": 2,
+ "FOR": 4,
+ "A": 32,
+ "PARTICULAR": 2,
+ "PURPOSE": 2,
+ "ARE": 2,
+ "DISCLAIMED.": 2,
+ "IN": 6,
+ "NO": 2,
+ "EVENT": 2,
+ "SHALL": 2,
+ "HOLDER": 2,
+ "BE": 2,
+ "LIABLE": 2,
+ "DIRECT": 2,
+ "INDIRECT": 2,
+ "INCIDENTAL": 2,
+ "SPECIAL": 2,
+ "EXEMPLARY": 2,
+ "CONSEQUENTIAL": 2,
+ "DAMAGES": 2,
+ "PROCUREMENT": 2,
+ "SUBSTITUTE": 2,
+ "GOODS": 2,
+ "SERVICES": 2,
+ ";": 12,
+ "LOSS": 2,
+ "USE": 4,
+ "DATA": 2,
+ "PROFITS": 2,
+ "BUSINESS": 2,
+ "INTERRUPTION": 2,
+ "HOWEVER": 2,
+ "CAUSED": 2,
+ "ON": 2,
+ "THEORY": 2,
+ "LIABILITY": 4,
+ "WHETHER": 2,
+ "CONTRACT": 2,
+ "STRICT": 2,
+ "TORT": 2,
+ "NEGLIGENCE": 2,
+ "OTHERWISE": 2,
+ "ARISING": 2,
+ "WAY": 2,
+ "OUT": 2,
+ "EVEN": 2,
+ "IF": 2,
+ "ADVISED": 2,
+ "POSSIBILITY": 2,
+ "SUCH": 2,
+ "DAMAGE.": 2,
+ "Commentary": 2,
+ "Graphs": 1,
+ "represented": 1,
+ "as": 2,
+ "two": 1,
+ "dictionaries": 1,
+ "one": 2,
+ "vertices": 17,
+ "edges.": 1,
+ "It": 1,
+ "is": 5,
+ "important": 1,
+ "to": 16,
+ "note": 1,
+ "dictionary": 3,
+ "implementation": 1,
+ "used": 2,
+ "able": 1,
+ "accept": 1,
+ "arbitrary": 1,
+ "data": 17,
+ "structures": 1,
+ "keys.": 1,
+ "This": 1,
+ "structure": 2,
+ "technically": 1,
+ "encodes": 1,
+ "hypergraphs": 1,
+ "generalization": 1,
+ "graphs": 1,
+ "which": 1,
+ "each": 1,
+ "edge": 32,
+ "may": 1,
+ "contain": 2,
+ "any": 1,
+ "number": 12,
+ ".": 1,
+ "Examples": 1,
+ "regular": 1,
+ "G": 25,
+ "hypergraph": 1,
+ "H": 3,
+ "corresponding": 1,
+ "given": 4,
+ "below.": 1,
+ "": 3,
+ "Vertices": 11,
+ "Edges": 9,
+ "+": 33,
+ "Graph": 65,
+ "hash": 8,
+ "|": 103,
+ "key": 9,
+ "value": 17,
+ "b": 13,
+ "c": 11,
+ "g": 19,
+ "[": 93,
+ "]": 91,
+ "d": 12,
+ "e": 14,
+ "f": 10,
+ "Hypergraph": 1,
+ "h": 3,
+ "i": 3,
+ "j": 2,
+ "associated": 1,
+ "edge/vertex": 1,
+ "@p": 17,
+ "V": 48,
+ "#": 4,
+ "E": 20,
+ "edges": 17,
+ "M": 4,
+ "vertex": 29,
+ "associations": 1,
+ "size": 2,
+ "all": 3,
+ "stored": 1,
+ "dict": 39,
+ "sizeof": 4,
+ "int": 1,
+ "indices": 1,
+ "into": 1,
+ "&": 1,
+ "Edge": 11,
+ "dicts": 3,
+ "entry": 2,
+ "storage": 2,
+ "Vertex": 3,
+ "Code": 1,
+ "require": 2,
+ "sequence": 2,
+ "datatype": 1,
+ "dictoinary": 1,
+ "vector": 4,
+ "symbol": 1,
+ "package": 2,
+ "add": 25,
+ "has": 5,
+ "neighbors": 8,
+ "connected": 21,
+ "components": 8,
+ "partition": 7,
+ "bipartite": 3,
+ "included": 2,
+ "from": 3,
+ "take": 2,
+ "drop": 2,
+ "while": 2,
+ "range": 1,
+ "flatten": 1,
+ "filter": 2,
+ "complement": 1,
+ "seperate": 1,
+ "zip": 1,
+ "indexed": 1,
+ "reduce": 3,
+ "mapcon": 3,
+ "unique": 3,
+ "frequencies": 1,
+ "shuffle": 1,
+ "pick": 1,
+ "remove": 2,
+ "first": 2,
+ "interpose": 1,
+ "subset": 3,
+ "cartesian": 1,
+ "product": 1,
+ "<-dict>": 5,
+ "contents": 1,
+ "keys": 3,
+ "vals": 1,
+ "make": 10,
+ "define": 34,
+ "X": 4,
+ "<-address>": 5,
+ "0": 1,
+ "create": 1,
+ "specified": 1,
+ "sizes": 2,
+ "}": 22,
+ "Vertsize": 2,
+ "Edgesize": 2,
+ "let": 9,
+ "absvector": 1,
+ "do": 8,
+ "address": 5,
+ "defmacro": 3,
+ "macro": 3,
+ "return": 4,
+ "taking": 1,
+ "optional": 1,
+ "N": 7,
+ "vert": 12,
+ "1": 1,
+ "2": 3,
+ "{": 15,
+ "get": 3,
+ "Value": 3,
+ "if": 8,
+ "tuple": 3,
+ "fst": 3,
+ "error": 7,
+ "string": 3,
+ "resolve": 6,
+ "Vector": 2,
+ "Index": 2,
+ "Place": 6,
+ "nth": 1,
+ "<-vector>": 2,
+ "Vert": 5,
+ "Val": 5,
+ "trap": 4,
+ "snd": 2,
+ "map": 5,
+ "lambda": 1,
+ "w": 4,
+ "B": 2,
+ "Data": 2,
+ "w/o": 5,
+ "D": 4,
+ "update": 5,
+ "an": 3,
+ "s": 1,
+ "Vs": 4,
+ "Store": 6,
+ "<": 4,
+ "limit": 2,
+ "VertLst": 2,
+ "/.": 4,
+ "Contents": 5,
+ "adjoin": 2,
+ "length": 5,
+ "EdgeID": 3,
+ "EdgeLst": 2,
+ "p": 1,
+ "boolean": 4,
+ "Return": 1,
+ "Already": 5,
+ "New": 5,
+ "Reachable": 2,
+ "difference": 3,
+ "append": 1,
+ "including": 1,
+ "itself": 1,
+ "fully": 1,
+ "Acc": 2,
+ "true": 1,
+ "_": 1,
+ "VS": 4,
+ "Component": 6,
+ "ES": 3,
+ "Con": 8,
+ "verts": 4,
+ "cons": 1,
+ "place": 3,
+ "partitions": 1,
+ "element": 2,
+ "simple": 3,
+ "CS": 3,
+ "Neighbors": 3,
+ "empty": 1,
+ "intersection": 1,
+ "check": 1,
+ "tests": 1,
+ "set": 1,
+ "chris": 6,
+ "patton": 2,
+ "eric": 1,
+ "nobody": 2,
+ "fail": 1,
+ "when": 1,
+ "wrapper": 1,
+ "function": 1,
+ "html.shen": 1,
+ "html": 2,
+ "generation": 1,
+ "functions": 1,
+ "shen": 1,
+ "The": 1,
+ "standard": 1,
+ "lisp": 1,
+ "conversion": 1,
+ "tool": 1,
+ "suite.": 1,
+ "Follows": 1,
+ "some": 1,
+ "convertions": 1,
+ "Clojure": 1,
+ "tasks": 1,
+ "stuff": 1,
+ "todo1": 1,
+ "today": 1,
+ "attributes": 1,
+ "AS": 1,
+ "load": 1,
+ "JSON": 1,
+ "Lexer": 1,
+ "Read": 1,
+ "stream": 1,
+ "characters": 4,
+ "Whitespace": 4,
+ "not": 1,
+ "strings": 2,
+ "should": 2,
+ "be": 2,
+ "discarded.": 1,
+ "preserved": 1,
+ "Strings": 1,
+ "can": 1,
+ "escaped": 1,
+ "double": 1,
+ "quotes.": 1,
+ "e.g.": 2,
+ "whitespacep": 2,
+ "ASCII": 2,
+ "Space.": 1,
+ "All": 1,
+ "others": 1,
+ "whitespace": 7,
+ "table.": 1,
+ "Char": 4,
+ "member": 1,
+ "replace": 3,
+ "@s": 4,
+ "Suffix": 4,
+ "where": 2,
+ "Prefix": 2,
+ "fetch": 1,
+ "until": 1,
+ "unescaped": 1,
+ "doublequote": 1,
+ "c#34": 5,
+ "WhitespaceChar": 2,
+ "Chars": 4,
+ "strip": 2,
+ "chars": 2,
+ "tokenise": 1,
+ "JSONString": 2,
+ "CharList": 2,
+ "explode": 1
+ },
"Slash": {
"<%>": 1,
"class": 11,
@@ -44151,6 +56980,631 @@
"ast.eval": 1,
"Env.new": 1
},
+ "Smalltalk": {
+ "Object": 1,
+ "subclass": 2,
+ "#Philosophers": 1,
+ "instanceVariableNames": 1,
+ "classVariableNames": 1,
+ "poolDictionaries": 1,
+ "category": 1,
+ "Philosophers": 3,
+ "class": 1,
+ "methodsFor": 2,
+ "new": 4,
+ "self": 25,
+ "shouldNotImplement": 1,
+ "quantity": 2,
+ "super": 1,
+ "initialize": 3,
+ "dine": 4,
+ "seconds": 2,
+ "(": 19,
+ "Delay": 3,
+ "forSeconds": 1,
+ ")": 19,
+ "wait.": 5,
+ "philosophers": 2,
+ "do": 1,
+ "[": 18,
+ "each": 5,
+ "|": 18,
+ "terminate": 1,
+ "]": 18,
+ ".": 16,
+ "size": 4,
+ "leftFork": 6,
+ "n": 11,
+ "forks": 5,
+ "at": 3,
+ "rightFork": 6,
+ "ifTrue": 1,
+ "ifFalse": 1,
+ "+": 1,
+ "eating": 3,
+ "Semaphore": 2,
+ "new.": 2,
+ "-": 1,
+ "timesRepeat": 1,
+ "signal": 1,
+ "randy": 3,
+ "Random": 1,
+ "to": 2,
+ "collect": 2,
+ "forMutualExclusion": 1,
+ "philosopher": 2,
+ "philosopherCode": 3,
+ "status": 8,
+ "n.": 2,
+ "printString": 1,
+ "true": 2,
+ "whileTrue": 1,
+ "Transcript": 5,
+ "nextPutAll": 5,
+ ";": 8,
+ "nl.": 5,
+ "forMilliseconds": 2,
+ "next": 2,
+ "*": 2,
+ "critical": 1,
+ "signal.": 2,
+ "newProcess": 1,
+ "priority": 1,
+ "Processor": 1,
+ "userBackgroundPriority": 1,
+ "name": 1,
+ "resume": 1,
+ "yourself": 1,
+ "Koan": 1,
+ "TestBasic": 1,
+ "": 1,
+ "A": 1,
+ "collection": 1,
+ "of": 1,
+ "introductory": 1,
+ "tests": 2,
+ "testDeclarationAndAssignment": 1,
+ "declaration": 2,
+ "anotherDeclaration": 2,
+ "_": 1,
+ "expect": 10,
+ "fillMeIn": 10,
+ "toEqual": 10,
+ "declaration.": 1,
+ "anotherDeclaration.": 1,
+ "testEqualSignIsNotAnAssignmentOperator": 1,
+ "variableA": 6,
+ "variableB": 5,
+ "value": 2,
+ "variableB.": 2,
+ "testMultipleStatementsInASingleLine": 1,
+ "variableC": 2,
+ "variableA.": 1,
+ "variableC.": 1,
+ "testInequality": 1,
+ "testLogicalOr": 1,
+ "expression": 4,
+ "<": 2,
+ "expression.": 2,
+ "testLogicalAnd": 1,
+ "&": 1,
+ "testNot": 1,
+ "not.": 1,
+ "testSimpleChainMatches": 1,
+ "e": 11,
+ "eCtrl": 3,
+ "eventKey": 3,
+ "e.": 1,
+ "ctrl": 5,
+ "true.": 1,
+ "assert": 2,
+ "matches": 4,
+ "{": 4,
+ "}": 4,
+ "eCtrl.": 2,
+ "deny": 2,
+ "a": 1
+ },
+ "SourcePawn": {
+ "//#define": 1,
+ "DEBUG": 2,
+ "#if": 1,
+ "defined": 1,
+ "#define": 7,
+ "assert": 2,
+ "(": 233,
+ "%": 18,
+ ")": 234,
+ "if": 44,
+ "ThrowError": 2,
+ ";": 213,
+ "assert_msg": 2,
+ "#else": 1,
+ "#endif": 1,
+ "#pragma": 1,
+ "semicolon": 1,
+ "#include": 3,
+ "": 1,
+ "": 1,
+ "": 1,
+ "public": 21,
+ "Plugin": 1,
+ "myinfo": 1,
+ "{": 73,
+ "name": 7,
+ "author": 1,
+ "description": 1,
+ "version": 1,
+ "SOURCEMOD_VERSION": 1,
+ "url": 1,
+ "}": 71,
+ "new": 62,
+ "Handle": 51,
+ "g_Cvar_Winlimit": 5,
+ "INVALID_HANDLE": 56,
+ "g_Cvar_Maxrounds": 5,
+ "g_Cvar_Fraglimit": 6,
+ "g_Cvar_Bonusroundtime": 6,
+ "g_Cvar_StartTime": 3,
+ "g_Cvar_StartRounds": 5,
+ "g_Cvar_StartFrags": 3,
+ "g_Cvar_ExtendTimeStep": 2,
+ "g_Cvar_ExtendRoundStep": 2,
+ "g_Cvar_ExtendFragStep": 2,
+ "g_Cvar_ExcludeMaps": 3,
+ "g_Cvar_IncludeMaps": 2,
+ "g_Cvar_NoVoteMode": 2,
+ "g_Cvar_Extend": 2,
+ "g_Cvar_DontChange": 2,
+ "g_Cvar_EndOfMapVote": 8,
+ "g_Cvar_VoteDuration": 3,
+ "g_Cvar_RunOff": 2,
+ "g_Cvar_RunOffPercent": 2,
+ "g_VoteTimer": 7,
+ "g_RetryTimer": 4,
+ "g_MapList": 8,
+ "g_NominateList": 7,
+ "g_NominateOwners": 7,
+ "g_OldMapList": 7,
+ "g_NextMapList": 2,
+ "g_VoteMenu": 1,
+ "g_Extends": 2,
+ "g_TotalRounds": 7,
+ "bool": 10,
+ "g_HasVoteStarted": 7,
+ "g_WaitingForVote": 4,
+ "g_MapVoteCompleted": 9,
+ "g_ChangeMapAtRoundEnd": 6,
+ "g_ChangeMapInProgress": 4,
+ "g_mapFileSerial": 3,
+ "-": 12,
+ "g_NominateCount": 3,
+ "MapChange": 4,
+ "g_ChangeTime": 1,
+ "g_NominationsResetForward": 3,
+ "g_MapVoteStartedForward": 2,
+ "MAXTEAMS": 4,
+ "g_winCount": 4,
+ "[": 19,
+ "]": 19,
+ "VOTE_EXTEND": 1,
+ "VOTE_DONTCHANGE": 1,
+ "OnPluginStart": 1,
+ "LoadTranslations": 2,
+ "arraySize": 5,
+ "ByteCountToCells": 1,
+ "PLATFORM_MAX_PATH": 6,
+ "CreateArray": 5,
+ "CreateConVar": 15,
+ "_": 18,
+ "true": 26,
+ "RegAdminCmd": 2,
+ "Command_Mapvote": 2,
+ "ADMFLAG_CHANGEMAP": 2,
+ "Command_SetNextmap": 2,
+ "FindConVar": 4,
+ "||": 15,
+ "decl": 5,
+ "String": 11,
+ "folder": 5,
+ "GetGameFolderName": 1,
+ "sizeof": 6,
+ "strcmp": 3,
+ "HookEvent": 6,
+ "Event_TeamPlayWinPanel": 3,
+ "Event_TFRestartRound": 2,
+ "else": 5,
+ "Event_RoundEnd": 3,
+ "Event_PlayerDeath": 2,
+ "AutoExecConfig": 1,
+ "//Change": 1,
+ "the": 5,
+ "mp_bonusroundtime": 1,
+ "max": 1,
+ "so": 1,
+ "that": 2,
+ "we": 2,
+ "have": 2,
+ "time": 9,
+ "to": 4,
+ "display": 2,
+ "vote": 6,
+ "//If": 1,
+ "you": 1,
+ "a": 1,
+ "during": 2,
+ "bonus": 2,
+ "good": 1,
+ "defaults": 1,
+ "are": 1,
+ "duration": 1,
+ "and": 1,
+ "mp_bonustime": 1,
+ "SetConVarBounds": 1,
+ "ConVarBound_Upper": 1,
+ "CreateGlobalForward": 2,
+ "ET_Ignore": 2,
+ "Param_String": 1,
+ "Param_Cell": 1,
+ "APLRes": 1,
+ "AskPluginLoad2": 1,
+ "myself": 1,
+ "late": 1,
+ "error": 1,
+ "err_max": 1,
+ "RegPluginLibrary": 1,
+ "CreateNative": 9,
+ "Native_NominateMap": 1,
+ "Native_RemoveNominationByMap": 1,
+ "Native_RemoveNominationByOwner": 1,
+ "Native_InitiateVote": 1,
+ "Native_CanVoteStart": 2,
+ "Native_CheckVoteDone": 2,
+ "Native_GetExcludeMapList": 2,
+ "Native_GetNominatedMapList": 2,
+ "Native_EndOfMapVoteEnabled": 2,
+ "return": 23,
+ "APLRes_Success": 1,
+ "OnConfigsExecuted": 1,
+ "ReadMapList": 1,
+ "MAPLIST_FLAG_CLEARARRAY": 1,
+ "|": 1,
+ "MAPLIST_FLAG_MAPSFOLDER": 1,
+ "LogError": 2,
+ "CreateNextVote": 1,
+ "SetupTimeleftTimer": 3,
+ "false": 8,
+ "ClearArray": 2,
+ "for": 9,
+ "i": 13,
+ "<": 5,
+ "+": 12,
+ "&&": 5,
+ "GetConVarInt": 10,
+ "GetConVarFloat": 2,
+ "<=>": 1,
+ "Warning": 1,
+ "Bonus": 1,
+ "Round": 1,
+ "Time": 2,
+ "shorter": 1,
+ "than": 1,
+ "Vote": 4,
+ "Votes": 1,
+ "round": 1,
+ "may": 1,
+ "not": 1,
+ "complete": 1,
+ "OnMapEnd": 1,
+ "map": 27,
+ "GetCurrentMap": 1,
+ "PushArrayString": 3,
+ "GetArraySize": 8,
+ "RemoveFromArray": 3,
+ "OnClientDisconnect": 1,
+ "client": 9,
+ "index": 8,
+ "FindValueInArray": 1,
+ "oldmap": 4,
+ "GetArrayString": 3,
+ "Call_StartForward": 1,
+ "Call_PushString": 1,
+ "Call_PushCell": 1,
+ "GetArrayCell": 2,
+ "Call_Finish": 1,
+ "Action": 3,
+ "args": 3,
+ "ReplyToCommand": 2,
+ "Plugin_Handled": 4,
+ "GetCmdArg": 1,
+ "IsMapValid": 1,
+ "ShowActivity": 1,
+ "LogAction": 1,
+ "SetNextMap": 1,
+ "OnMapTimeLeftChanged": 1,
+ "GetMapTimeLeft": 1,
+ "startTime": 4,
+ "*": 1,
+ "GetConVarBool": 6,
+ "InitiateVote": 8,
+ "MapChange_MapEnd": 6,
+ "KillTimer": 1,
+ "//g_VoteTimer": 1,
+ "CreateTimer": 3,
+ "float": 2,
+ "Timer_StartMapVote": 3,
+ "TIMER_FLAG_NO_MAPCHANGE": 4,
+ "data": 8,
+ "CreateDataTimer": 1,
+ "WritePackCell": 2,
+ "ResetPack": 1,
+ "timer": 2,
+ "Plugin_Stop": 2,
+ "mapChange": 2,
+ "ReadPackCell": 2,
+ "hndl": 2,
+ "event": 11,
+ "const": 4,
+ "dontBroadcast": 4,
+ "Timer_ChangeMap": 2,
+ "bluescore": 2,
+ "GetEventInt": 7,
+ "redscore": 2,
+ "StrEqual": 1,
+ "CheckMaxRounds": 3,
+ "switch": 1,
+ "case": 2,
+ "CheckWinLimit": 4,
+ "//We": 1,
+ "need": 2,
+ "do": 1,
+ "nothing": 1,
+ "on": 1,
+ "winning_team": 1,
+ "this": 1,
+ "indicates": 1,
+ "stalemate.": 1,
+ "default": 1,
+ "winner": 9,
+ "//": 3,
+ "Nuclear": 1,
+ "Dawn": 1,
+ "SetFailState": 1,
+ "winner_score": 2,
+ "winlimit": 3,
+ "roundcount": 2,
+ "maxrounds": 3,
+ "fragger": 3,
+ "GetClientOfUserId": 1,
+ "GetClientFrags": 1,
+ "when": 2,
+ "inputlist": 1,
+ "IsVoteInProgress": 1,
+ "Can": 1,
+ "t": 7,
+ "be": 1,
+ "excluded": 1,
+ "from": 1,
+ "as": 2,
+ "they": 1,
+ "weren": 1,
+ "nominationsToAdd": 1,
+ "Change": 2,
+ "Extend": 2,
+ "Map": 5,
+ "Voting": 7,
+ "next": 5,
+ "has": 5,
+ "started.": 1,
+ "SM": 5,
+ "Nextmap": 5,
+ "Started": 1,
+ "Current": 2,
+ "Extended": 1,
+ "finished.": 3,
+ "The": 1,
+ "current": 1,
+ "been": 1,
+ "extended.": 1,
+ "Stays": 1,
+ "was": 3,
+ "Finished": 1,
+ "s.": 1,
+ "Runoff": 2,
+ "Starting": 2,
+ "indecisive": 1,
+ "beginning": 1,
+ "runoff": 1,
+ "T": 3,
+ "Dont": 1,
+ "because": 1,
+ "outside": 1,
+ "request": 1,
+ "inputarray": 1,
+ "plugin": 5,
+ "numParams": 5,
+ "CanVoteStart": 1,
+ "array": 3,
+ "GetNativeCell": 3,
+ "size": 2,
+ "maparray": 3,
+ "ownerarray": 3,
+ "If": 1,
+ "optional": 1,
+ "parameter": 1,
+ "an": 1,
+ "owner": 1,
+ "list": 1,
+ "passed": 1,
+ "then": 1,
+ "fill": 1,
+ "out": 1,
+ "well": 1,
+ "PushArrayCell": 1
+ },
+ "SQL": {
+ "IF": 13,
+ "EXISTS": 12,
+ "(": 131,
+ "SELECT": 4,
+ "*": 3,
+ "FROM": 1,
+ "DBO.SYSOBJECTS": 1,
+ "WHERE": 1,
+ "ID": 2,
+ "OBJECT_ID": 1,
+ "N": 7,
+ ")": 131,
+ "AND": 1,
+ "OBJECTPROPERTY": 1,
+ "id": 22,
+ "DROP": 3,
+ "PROCEDURE": 1,
+ "dbo.AvailableInSearchSel": 2,
+ "GO": 4,
+ "CREATE": 10,
+ "Procedure": 1,
+ "AvailableInSearchSel": 1,
+ "AS": 1,
+ "UNION": 2,
+ "ALL": 2,
+ "DB_NAME": 1,
+ "BEGIN": 1,
+ "GRANT": 1,
+ "EXECUTE": 1,
+ "ON": 1,
+ "TO": 1,
+ "[": 1,
+ "rv": 1,
+ "]": 1,
+ "END": 1,
+ "SHOW": 2,
+ "WARNINGS": 2,
+ ";": 31,
+ "-": 496,
+ "Table": 9,
+ "structure": 9,
+ "for": 15,
+ "table": 17,
+ "articles": 4,
+ "TABLE": 10,
+ "NOT": 46,
+ "int": 28,
+ "NULL": 91,
+ "AUTO_INCREMENT": 9,
+ "title": 4,
+ "varchar": 22,
+ "DEFAULT": 22,
+ "content": 2,
+ "longtext": 1,
+ "date_posted": 4,
+ "datetime": 10,
+ "created_by": 2,
+ "last_modified": 2,
+ "last_modified_by": 2,
+ "ordering": 2,
+ "is_published": 2,
+ "PRIMARY": 9,
+ "KEY": 13,
+ "Dumping": 6,
+ "data": 6,
+ "INSERT": 6,
+ "INTO": 6,
+ "VALUES": 6,
+ "challenges": 4,
+ "pkg_name": 2,
+ "description": 2,
+ "text": 1,
+ "author": 2,
+ "category": 2,
+ "visibility": 2,
+ "publish": 2,
+ "abstract": 2,
+ "level": 2,
+ "duration": 2,
+ "goal": 2,
+ "solution": 2,
+ "availability": 2,
+ "default_points": 2,
+ "default_duration": 2,
+ "challenge_attempts": 2,
+ "user_id": 8,
+ "challenge_id": 7,
+ "time": 1,
+ "status": 1,
+ "challenge_attempt_count": 2,
+ "tries": 1,
+ "UNIQUE": 4,
+ "classes": 4,
+ "name": 3,
+ "date_created": 6,
+ "archive": 2,
+ "class_challenges": 4,
+ "class_id": 5,
+ "class_memberships": 4,
+ "users": 4,
+ "username": 3,
+ "full_name": 2,
+ "email": 2,
+ "password": 2,
+ "joined": 2,
+ "last_visit": 2,
+ "is_activated": 2,
+ "type": 3,
+ "token": 3,
+ "user_has_challenge_token": 3,
+ "create": 2,
+ "FILIAL": 10,
+ "NUMBER": 1,
+ "not": 5,
+ "null": 4,
+ "title_ua": 1,
+ "VARCHAR2": 4,
+ "title_ru": 1,
+ "title_eng": 1,
+ "remove_date": 1,
+ "DATE": 2,
+ "modify_date": 1,
+ "modify_user": 1,
+ "alter": 1,
+ "add": 1,
+ "constraint": 1,
+ "PK_ID": 1,
+ "primary": 1,
+ "key": 1,
+ "grant": 8,
+ "select": 10,
+ "on": 8,
+ "to": 8,
+ "ATOLL": 1,
+ "CRAMER2GIS": 1,
+ "DMS": 1,
+ "HPSM2GIS": 1,
+ "PLANMONITOR": 1,
+ "SIEBEL": 1,
+ "VBIS": 1,
+ "VPORTAL": 1,
+ "if": 1,
+ "exists": 1,
+ "from": 2,
+ "sysobjects": 1,
+ "where": 2,
+ "and": 1,
+ "in": 1,
+ "exec": 1,
+ "%": 2,
+ "object_ddl": 1,
+ "go": 1,
+ "use": 1,
+ "translog": 1,
+ "VIEW": 1,
+ "suspendedtoday": 2,
+ "view": 1,
+ "as": 1,
+ "suspended": 1,
+ "datediff": 1,
+ "now": 1
+ },
"Squirrel": {
"//example": 1,
"from": 1,
@@ -44795,6 +58249,551 @@
"table": 14,
"clear": 1
},
+ "Stata": {
+ "local": 6,
+ "inname": 1,
+ "outname": 1,
+ "program": 2,
+ "hello": 1,
+ "vers": 1,
+ "display": 1,
+ "end": 4,
+ "{": 441,
+ "*": 25,
+ "version": 2,
+ "mar2014": 1,
+ "}": 440,
+ "...": 30,
+ "Hello": 1,
+ "world": 1,
+ "p_end": 47,
+ "MAXDIM": 1,
+ "smcl": 1,
+ "Matthew": 2,
+ "White": 2,
+ "jan2014": 1,
+ "title": 7,
+ "Title": 1,
+ "phang": 4,
+ "cmd": 111,
+ "odkmeta": 17,
+ "hline": 1,
+ "Create": 4,
+ "a": 30,
+ "do": 22,
+ "-": 42,
+ "file": 18,
+ "to": 23,
+ "import": 9,
+ "ODK": 6,
+ "data": 4,
+ "marker": 10,
+ "syntax": 1,
+ "Syntax": 1,
+ "p": 2,
+ "using": 10,
+ "it": 61,
+ "help": 27,
+ "filename": 3,
+ "opt": 25,
+ "csv": 9,
+ "(": 60,
+ "csvfile": 3,
+ ")": 61,
+ "Using": 7,
+ "histogram": 2,
+ "as": 29,
+ "template.": 8,
+ "notwithstanding": 1,
+ "is": 31,
+ "rarely": 1,
+ "preceded": 3,
+ "by": 7,
+ "an": 6,
+ "underscore.": 1,
+ "cmdab": 5,
+ "s": 10,
+ "urvey": 2,
+ "surveyfile": 5,
+ "odkmeta##surveyopts": 2,
+ "surveyopts": 4,
+ "cho": 2,
+ "ices": 2,
+ "choicesfile": 4,
+ "odkmeta##choicesopts": 2,
+ "choicesopts": 5,
+ "[": 6,
+ "options": 1,
+ "]": 6,
+ "odbc": 2,
+ "the": 67,
+ "position": 1,
+ "of": 36,
+ "last": 1,
+ "character": 1,
+ "in": 24,
+ "first": 2,
+ "column": 18,
+ "+": 2,
+ "synoptset": 5,
+ "tabbed": 4,
+ "synopthdr": 4,
+ "synoptline": 8,
+ "syntab": 6,
+ "Main": 3,
+ "heckman": 2,
+ "p2coldent": 3,
+ "name": 20,
+ ".csv": 2,
+ "that": 21,
+ "contains": 3,
+ "metadata": 5,
+ "from": 6,
+ "survey": 14,
+ "worksheet": 5,
+ "choices": 10,
+ "Fields": 2,
+ "synopt": 16,
+ "drop": 1,
+ "attrib": 2,
+ "headers": 8,
+ "not": 8,
+ "field": 25,
+ "attributes": 10,
+ "with": 10,
+ "keep": 1,
+ "only": 3,
+ "rel": 1,
+ "ax": 1,
+ "ignore": 1,
+ "fields": 7,
+ "exist": 1,
+ "Lists": 1,
+ "ca": 1,
+ "oth": 1,
+ "er": 1,
+ "odkmeta##other": 1,
+ "other": 14,
+ "Stata": 5,
+ "value": 14,
+ "values": 3,
+ "select": 6,
+ "or_other": 5,
+ ";": 15,
+ "default": 8,
+ "max": 2,
+ "one": 5,
+ "line": 4,
+ "write": 1,
+ "each": 7,
+ "list": 13,
+ "on": 7,
+ "single": 1,
+ "Options": 1,
+ "replace": 7,
+ "overwrite": 1,
+ "existing": 1,
+ "p2colreset": 4,
+ "and": 18,
+ "are": 13,
+ "required.": 1,
+ "Change": 1,
+ "t": 2,
+ "ype": 1,
+ "header": 15,
+ "type": 7,
+ "attribute": 10,
+ "la": 2,
+ "bel": 2,
+ "label": 9,
+ "d": 1,
+ "isabled": 1,
+ "disabled": 4,
+ "li": 1,
+ "stname": 1,
+ "list_name": 6,
+ "maximum": 3,
+ "plus": 2,
+ "min": 2,
+ "minimum": 2,
+ "minus": 1,
+ "#": 6,
+ "constant": 2,
+ "for": 13,
+ "all": 3,
+ "labels": 8,
+ "description": 1,
+ "Description": 1,
+ "pstd": 20,
+ "creates": 1,
+ "worksheets": 1,
+ "XLSForm.": 1,
+ "The": 9,
+ "saved": 1,
+ "completes": 2,
+ "following": 1,
+ "tasks": 3,
+ "order": 1,
+ "anova": 1,
+ "phang2": 23,
+ "o": 12,
+ "Import": 2,
+ "lists": 2,
+ "Add": 1,
+ "char": 4,
+ "characteristics": 4,
+ "Split": 1,
+ "select_multiple": 6,
+ "variables": 8,
+ "Drop": 1,
+ "note": 1,
+ "format": 1,
+ "Format": 1,
+ "date": 1,
+ "time": 1,
+ "datetime": 1,
+ "Attach": 2,
+ "variable": 14,
+ "notes": 1,
+ "merge": 3,
+ "Merge": 1,
+ "repeat": 6,
+ "groups": 4,
+ "After": 1,
+ "have": 2,
+ "been": 1,
+ "split": 4,
+ "can": 1,
+ "be": 12,
+ "removed": 1,
+ "without": 2,
+ "affecting": 1,
+ "tasks.": 1,
+ "User": 1,
+ "written": 2,
+ "supplements": 1,
+ "may": 2,
+ "make": 1,
+ "use": 3,
+ "any": 3,
+ "which": 6,
+ "imported": 4,
+ "characteristics.": 1,
+ "remarks": 1,
+ "Remarks": 1,
+ "uses": 3,
+ "helpb": 7,
+ "insheet": 4,
+ "data.": 1,
+ "long": 7,
+ "strings": 1,
+ "digits": 1,
+ "such": 2,
+ "simserial": 1,
+ "will": 9,
+ "numeric": 4,
+ "even": 1,
+ "if": 10,
+ "they": 2,
+ "more": 1,
+ "than": 3,
+ "digits.": 1,
+ "As": 1,
+ "result": 6,
+ "lose": 1,
+ "precision": 1,
+ ".": 22,
+ "makes": 1,
+ "limited": 1,
+ "mata": 1,
+ "Mata": 1,
+ "manage": 1,
+ "contain": 1,
+ "difficult": 1,
+ "characters.": 2,
+ "starts": 1,
+ "definitions": 1,
+ "several": 1,
+ "macros": 1,
+ "these": 4,
+ "constants": 1,
+ "uses.": 1,
+ "For": 4,
+ "instance": 1,
+ "macro": 1,
+ "datemask": 1,
+ "varname": 1,
+ "constraints": 1,
+ "names": 16,
+ "Further": 1,
+ "files": 1,
+ "often": 1,
+ "much": 1,
+ "longer": 1,
+ "length": 3,
+ "limit": 1,
+ "These": 2,
+ "differences": 1,
+ "convention": 1,
+ "lead": 1,
+ "three": 1,
+ "kinds": 1,
+ "problematic": 1,
+ "Long": 3,
+ "involve": 1,
+ "invalid": 1,
+ "combination": 1,
+ "characters": 3,
+ "example": 2,
+ "begins": 1,
+ "colon": 1,
+ "followed": 1,
+ "number.": 1,
+ "convert": 2,
+ "instead": 1,
+ "naming": 1,
+ "v": 6,
+ "concatenated": 1,
+ "positive": 1,
+ "integer": 1,
+ "v1": 1,
+ "unique": 1,
+ "but": 4,
+ "when": 1,
+ "converted": 3,
+ "truncated": 1,
+ "become": 3,
+ "duplicates.": 1,
+ "again": 1,
+ "names.": 6,
+ "form": 1,
+ "duplicates": 1,
+ "cannot": 2,
+ "chooses": 1,
+ "different": 1,
+ "Because": 1,
+ "problem": 2,
+ "recommended": 1,
+ "you": 1,
+ "If": 2,
+ "its": 3,
+ "characteristic": 2,
+ "odkmeta##Odk_bad_name": 1,
+ "Odk_bad_name": 3,
+ "otherwise": 1,
+ "Most": 1,
+ "depend": 1,
+ "There": 1,
+ "two": 2,
+ "exceptions": 1,
+ "variables.": 1,
+ "error": 4,
+ "has": 6,
+ "or": 7,
+ "splitting": 2,
+ "would": 1,
+ "duplicate": 4,
+ "reshape": 2,
+ "groups.": 1,
+ "there": 2,
+ "merging": 2,
+ "code": 1,
+ "datasets.": 1,
+ "Where": 1,
+ "renaming": 2,
+ "left": 1,
+ "user.": 1,
+ "section": 2,
+ "designated": 2,
+ "area": 2,
+ "renaming.": 3,
+ "In": 3,
+ "reshaping": 1,
+ "group": 4,
+ "own": 2,
+ "Many": 1,
+ "forms": 2,
+ "require": 1,
+ "others": 1,
+ "few": 1,
+ "need": 1,
+ "renamed": 1,
+ "should": 1,
+ "go": 1,
+ "areas.": 1,
+ "However": 1,
+ "some": 1,
+ "usually": 1,
+ "because": 1,
+ "many": 2,
+ "nested": 2,
+ "above": 1,
+ "this": 1,
+ "case": 1,
+ "work": 1,
+ "best": 1,
+ "Odk_group": 1,
+ "Odk_name": 1,
+ "Odk_is_other": 2,
+ "Odk_geopoint": 2,
+ "r": 2,
+ "varlist": 2,
+ "Odk_list_name": 2,
+ "foreach": 1,
+ "var": 5,
+ "*search": 1,
+ "n/a": 1,
+ "know": 1,
+ "don": 1,
+ "worksheet.": 1,
+ "requires": 1,
+ "comma": 1,
+ "separated": 2,
+ "text": 1,
+ "file.": 1,
+ "Strings": 1,
+ "embedded": 2,
+ "commas": 1,
+ "double": 3,
+ "quotes": 3,
+ "must": 2,
+ "enclosed": 1,
+ "another": 1,
+ "quote.": 1,
+ "pmore": 5,
+ "Each": 1,
+ "header.": 1,
+ "Use": 1,
+ "suboptions": 1,
+ "specify": 1,
+ "alternative": 1,
+ "respectively.": 1,
+ "All": 1,
+ "used.": 1,
+ "standardized": 1,
+ "follows": 1,
+ "replaced": 9,
+ "select_one": 3,
+ "begin_group": 1,
+ "begin": 2,
+ "end_group": 1,
+ "begin_repeat": 1,
+ "end_repeat": 1,
+ "addition": 1,
+ "specified": 1,
+ "attaches": 1,
+ "pmore2": 3,
+ "formed": 1,
+ "concatenating": 1,
+ "elements": 1,
+ "Odk_repeat": 1,
+ "nested.": 1,
+ "geopoint": 2,
+ "component": 1,
+ "Latitude": 1,
+ "Longitude": 1,
+ "Altitude": 1,
+ "Accuracy": 1,
+ "blank.": 1,
+ "imports": 4,
+ "XLSForm": 1,
+ "list.": 1,
+ "one.": 1,
+ "specifies": 4,
+ "vary": 1,
+ "definition": 1,
+ "rather": 1,
+ "multiple": 1,
+ "delimit": 1,
+ "#delimit": 1,
+ "dlgtab": 1,
+ "Other": 1,
+ "already": 2,
+ "exists.": 1,
+ "examples": 1,
+ "Examples": 1,
+ "named": 1,
+ "import.do": 7,
+ "including": 1,
+ "survey.csv": 1,
+ "choices.csv": 1,
+ "txt": 6,
+ "Same": 3,
+ "previous": 3,
+ "command": 3,
+ "appears": 2,
+ "fieldname": 3,
+ "survey_fieldname.csv": 1,
+ "valuename": 2,
+ "choices_valuename.csv": 1,
+ "except": 1,
+ "hint": 2,
+ "dropattrib": 2,
+ "does": 1,
+ "_all": 1,
+ "acknowledgements": 1,
+ "Acknowledgements": 1,
+ "Lindsey": 1,
+ "Shaughnessy": 1,
+ "Innovations": 2,
+ "Poverty": 2,
+ "Action": 2,
+ "assisted": 1,
+ "almost": 1,
+ "aspects": 1,
+ "development.": 1,
+ "She": 1,
+ "collaborated": 1,
+ "structure": 1,
+ "was": 1,
+ "very": 1,
+ "helpful": 1,
+ "tester": 1,
+ "contributed": 1,
+ "information": 1,
+ "about": 1,
+ "ODK.": 1,
+ "author": 1,
+ "Author": 1,
+ "mwhite@poverty": 1,
+ "action.org": 1,
+ "Setup": 1,
+ "sysuse": 1,
+ "auto": 1,
+ "Fit": 2,
+ "linear": 2,
+ "regression": 2,
+ "regress": 5,
+ "mpg": 1,
+ "weight": 4,
+ "foreign": 2,
+ "better": 1,
+ "physics": 1,
+ "standpoint": 1,
+ "gen": 1,
+ "gp100m": 2,
+ "/mpg": 1,
+ "Obtain": 1,
+ "beta": 2,
+ "coefficients": 1,
+ "refitting": 1,
+ "model": 1,
+ "Suppress": 1,
+ "intercept": 1,
+ "term": 1,
+ "noconstant": 1,
+ "Model": 1,
+ "bn.foreign": 1,
+ "hascons": 1,
+ "matrix": 3,
+ "tanh": 1,
+ "u": 3,
+ "eu": 4,
+ "emu": 4,
+ "exp": 2,
+ "return": 1,
+ "/": 1
+ },
"Stylus": {
"border": 6,
"-": 10,
@@ -44884,6 +58883,300 @@
"wait": 1,
".fork": 1
},
+ "SystemVerilog": {
+ "module": 3,
+ "endpoint_phy_wrapper": 2,
+ "(": 92,
+ "input": 12,
+ "clk_sys_i": 2,
+ "clk_ref_i": 6,
+ "clk_rx_i": 3,
+ "rst_n_i": 3,
+ "IWishboneMaster.master": 2,
+ "src": 1,
+ "IWishboneSlave.slave": 1,
+ "snk": 1,
+ "sys": 1,
+ "output": 6,
+ "[": 17,
+ "]": 17,
+ "td_o": 2,
+ "rd_i": 2,
+ "txn_o": 2,
+ "txp_o": 2,
+ "rxn_i": 2,
+ "rxp_i": 2,
+ ")": 92,
+ ";": 32,
+ "wire": 12,
+ "rx_clock": 3,
+ "parameter": 2,
+ "g_phy_type": 6,
+ "gtx_data": 3,
+ "gtx_k": 3,
+ "gtx_disparity": 3,
+ "gtx_enc_error": 3,
+ "grx_data": 3,
+ "grx_clk": 1,
+ "grx_k": 3,
+ "grx_enc_error": 3,
+ "grx_bitslide": 2,
+ "gtp_rst": 2,
+ "tx_clock": 3,
+ "generate": 1,
+ "if": 5,
+ "begin": 4,
+ "assign": 2,
+ "wr_tbi_phy": 1,
+ "U_Phy": 1,
+ ".serdes_rst_i": 1,
+ ".serdes_loopen_i": 1,
+ "b0": 5,
+ ".serdes_enable_i": 1,
+ "b1": 2,
+ ".serdes_tx_data_i": 1,
+ ".serdes_tx_k_i": 1,
+ ".serdes_tx_disparity_o": 1,
+ ".serdes_tx_enc_err_o": 1,
+ ".serdes_rx_data_o": 1,
+ ".serdes_rx_k_o": 1,
+ ".serdes_rx_enc_err_o": 1,
+ ".serdes_rx_bitslide_o": 1,
+ ".tbi_refclk_i": 1,
+ ".tbi_rbclk_i": 1,
+ ".tbi_td_o": 1,
+ ".tbi_rd_i": 1,
+ ".tbi_syncen_o": 1,
+ ".tbi_loopen_o": 1,
+ ".tbi_prbsen_o": 1,
+ ".tbi_enable_o": 1,
+ "end": 4,
+ "else": 2,
+ "//": 3,
+ "wr_gtx_phy_virtex6": 1,
+ "#": 3,
+ ".g_simulation": 2,
+ "U_PHY": 1,
+ ".clk_ref_i": 2,
+ ".tx_clk_o": 1,
+ ".tx_data_i": 1,
+ ".tx_k_i": 1,
+ ".tx_disparity_o": 1,
+ ".tx_enc_err_o": 1,
+ ".rx_rbclk_o": 1,
+ ".rx_data_o": 1,
+ ".rx_k_o": 1,
+ ".rx_enc_err_o": 1,
+ ".rx_bitslide_o": 1,
+ ".rst_i": 1,
+ ".loopen_i": 1,
+ ".pad_txn0_o": 1,
+ ".pad_txp0_o": 1,
+ ".pad_rxn0_i": 1,
+ ".pad_rxp0_i": 1,
+ "endgenerate": 1,
+ "wr_endpoint": 1,
+ ".g_pcs_16bit": 1,
+ ".g_rx_buffer_size": 1,
+ ".g_with_rx_buffer": 1,
+ ".g_with_timestamper": 1,
+ ".g_with_dmtd": 1,
+ ".g_with_dpi_classifier": 1,
+ ".g_with_vlans": 1,
+ ".g_with_rtu": 1,
+ "DUT": 1,
+ ".clk_sys_i": 1,
+ ".clk_dmtd_i": 1,
+ ".rst_n_i": 1,
+ ".pps_csync_p1_i": 1,
+ ".src_dat_o": 1,
+ "snk.dat_i": 1,
+ ".src_adr_o": 1,
+ "snk.adr": 1,
+ ".src_sel_o": 1,
+ "snk.sel": 1,
+ ".src_cyc_o": 1,
+ "snk.cyc": 1,
+ ".src_stb_o": 1,
+ "snk.stb": 1,
+ ".src_we_o": 1,
+ "snk.we": 1,
+ ".src_stall_i": 1,
+ "snk.stall": 1,
+ ".src_ack_i": 1,
+ "snk.ack": 1,
+ ".src_err_i": 1,
+ ".rtu_full_i": 1,
+ ".rtu_rq_strobe_p1_o": 1,
+ ".rtu_rq_smac_o": 1,
+ ".rtu_rq_dmac_o": 1,
+ ".rtu_rq_vid_o": 1,
+ ".rtu_rq_has_vid_o": 1,
+ ".rtu_rq_prio_o": 1,
+ ".rtu_rq_has_prio_o": 1,
+ ".wb_cyc_i": 1,
+ "sys.cyc": 1,
+ ".wb_stb_i": 1,
+ "sys.stb": 1,
+ ".wb_we_i": 1,
+ "sys.we": 1,
+ ".wb_sel_i": 1,
+ "sys.sel": 1,
+ ".wb_adr_i": 1,
+ "sys.adr": 1,
+ ".wb_dat_i": 1,
+ "sys.dat_o": 1,
+ ".wb_dat_o": 1,
+ "sys.dat_i": 1,
+ ".wb_ack_o": 1,
+ "sys.ack": 1,
+ "endmodule": 2,
+ "fifo": 1,
+ "clk_50": 1,
+ "clk_2": 1,
+ "reset_n": 1,
+ "data_out": 1,
+ "empty": 1,
+ "priority_encoder": 1,
+ "INPUT_WIDTH": 3,
+ "OUTPUT_WIDTH": 3,
+ "logic": 2,
+ "-": 4,
+ "input_data": 2,
+ "output_data": 3,
+ "int": 1,
+ "ii": 6,
+ "always_comb": 1,
+ "for": 2,
+ "<": 1,
+ "+": 3,
+ "function": 1,
+ "integer": 2,
+ "log2": 4,
+ "x": 6,
+ "endfunction": 1
+ },
+ "Tcl": {
+ "#": 7,
+ "package": 2,
+ "require": 2,
+ "Tcl": 2,
+ "namespace": 6,
+ "eval": 2,
+ "stream": 61,
+ "{": 148,
+ "export": 3,
+ "[": 76,
+ "a": 1,
+ "-": 5,
+ "z": 1,
+ "]": 76,
+ "*": 19,
+ "}": 148,
+ "ensemble": 1,
+ "create": 7,
+ "proc": 28,
+ "first": 24,
+ "restCmdPrefix": 2,
+ "return": 22,
+ "list": 18,
+ "lassign": 11,
+ "foldl": 1,
+ "cmdPrefix": 19,
+ "initialValue": 7,
+ "args": 13,
+ "set": 34,
+ "numStreams": 3,
+ "llength": 5,
+ "if": 14,
+ "FoldlSingleStream": 2,
+ "lindex": 5,
+ "elseif": 3,
+ "FoldlMultiStream": 2,
+ "else": 5,
+ "Usage": 4,
+ "foreach": 5,
+ "numArgs": 7,
+ "varName": 7,
+ "body": 8,
+ "ForeachSingleStream": 2,
+ "(": 11,
+ ")": 11,
+ "&&": 2,
+ "%": 1,
+ "end": 2,
+ "items": 5,
+ "lrange": 1,
+ "ForeachMultiStream": 2,
+ "fromList": 2,
+ "_list": 4,
+ "index": 4,
+ "expr": 4,
+ "+": 1,
+ "isEmpty": 10,
+ "map": 1,
+ "MapSingleStream": 3,
+ "MapMultiStream": 3,
+ "rest": 22,
+ "select": 2,
+ "while": 6,
+ "take": 2,
+ "num": 3,
+ "||": 1,
+ "<": 1,
+ "toList": 1,
+ "res": 10,
+ "lappend": 8,
+ "#################################": 2,
+ "acc": 9,
+ "streams": 5,
+ "firsts": 6,
+ "restStreams": 6,
+ "uplevel": 4,
+ "nextItems": 4,
+ "msg": 1,
+ "code": 1,
+ "error": 1,
+ "level": 1,
+ "XDG": 11,
+ "variable": 4,
+ "DEFAULTS": 8,
+ "DATA_HOME": 4,
+ "CONFIG_HOME": 4,
+ "CACHE_HOME": 4,
+ "RUNTIME_DIR": 3,
+ "DATA_DIRS": 4,
+ "CONFIG_DIRS": 4,
+ "SetDefaults": 3,
+ "ne": 2,
+ "file": 9,
+ "join": 9,
+ "env": 8,
+ "HOME": 3,
+ ".local": 1,
+ "share": 3,
+ ".config": 1,
+ ".cache": 1,
+ "/usr": 2,
+ "local": 1,
+ "/etc": 1,
+ "xdg": 1,
+ "XDGVarSet": 4,
+ "var": 11,
+ "info": 1,
+ "exists": 1,
+ "XDG_": 4,
+ "Dir": 4,
+ "subdir": 16,
+ "dir": 5,
+ "dict": 2,
+ "get": 2,
+ "Dirs": 3,
+ "rawDirs": 3,
+ "split": 1,
+ "outDirs": 3,
+ "XDG_RUNTIME_DIR": 1
+ },
"Tea": {
"<%>": 1,
"template": 1,
@@ -47326,12 +61619,12 @@
},
"XML": {
"": 4,
- "version=": 6,
+ "version=": 10,
"": 1,
- "name=": 223,
+ "name=": 227,
"xmlns": 2,
"ea=": 2,
- "": 2,
+ "": 3,
"This": 21,
"easyant": 3,
"module.ant": 1,
@@ -47349,7 +61642,7 @@
"own": 2,
"specific": 8,
"target.": 1,
- "": 2,
+ "": 3,
"": 2,
"": 2,
"my": 2,
@@ -47378,7 +61671,7 @@
"this": 77,
"a": 128,
"module.ivy": 1,
- "for": 59,
+ "for": 60,
"java": 1,
"standard": 1,
"application": 2,
@@ -47394,14 +61687,14 @@
"description=": 2,
"": 1,
"": 1,
- "": 1,
+ "": 4,
"org=": 1,
"rev=": 1,
"conf=": 1,
"default": 9,
"junit": 2,
"test": 7,
- "-": 49,
+ "-": 50,
"/": 6,
"": 1,
"": 1,
@@ -47427,9 +61720,9 @@
"used": 19,
"both": 2,
"Changing": 5,
- "(": 52,
+ "(": 53,
"i.e.": 23,
- ")": 45,
+ ")": 46,
"Changed": 4,
"Observables.": 2,
"In": 6,
@@ -47445,7 +61738,7 @@
"changes.": 2,
"": 121,
"": 120,
- "The": 74,
+ "The": 75,
"object": 42,
"has": 16,
"raised": 1,
@@ -47625,7 +61918,7 @@
"string": 13,
"distinguish": 12,
"arbitrarily": 2,
- "by": 13,
+ "by": 14,
"client.": 2,
"Listen": 4,
"provides": 6,
@@ -47683,7 +61976,7 @@
"allows": 15,
"log": 2,
"attached.": 1,
- "data": 1,
+ "data": 2,
"structure": 1,
"representation": 1,
"memoizing": 2,
@@ -48150,7 +62443,35 @@
"English": 1,
"Ingl": 1,
"": 1,
- "": 1
+ "": 1,
+ "": 1,
+ "compatVersion=": 1,
+ "": 1,
+ "FreeMedForms": 1,
+ "": 1,
+ "": 1,
+ "C": 1,
+ "Eric": 1,
+ "MAEKER": 1,
+ "MD": 1,
+ "": 1,
+ "": 1,
+ "GPLv3": 1,
+ "": 1,
+ "": 1,
+ "Patient": 1,
+ "": 1,
+ "XML": 1,
+ "form": 1,
+ "loader/saver": 1,
+ "FreeMedForms.": 1,
+ "": 1,
+ "http": 1,
+ "//www.freemedforms.com/": 1,
+ "": 1,
+ "": 1,
+ "": 1,
+ "": 1
},
"XProc": {
"": 1,
@@ -48459,7 +62780,7 @@
},
"YAML": {
"gem": 1,
- "-": 16,
+ "-": 25,
"local": 1,
"gen": 1,
"rdoc": 2,
@@ -48471,17 +62792,203 @@
"numbers": 1,
"gempath": 1,
"/usr/local/rubygems": 1,
- "/home/gavin/.rubygems": 1
+ "/home/gavin/.rubygems": 1,
+ "http_interactions": 1,
+ "request": 1,
+ "method": 1,
+ "get": 1,
+ "uri": 1,
+ "http": 1,
+ "//example.com/": 1,
+ "body": 3,
+ "headers": 2,
+ "{": 1,
+ "}": 1,
+ "response": 2,
+ "status": 1,
+ "code": 1,
+ "message": 1,
+ "OK": 1,
+ "Content": 2,
+ "Type": 1,
+ "text/html": 1,
+ ";": 1,
+ "charset": 1,
+ "utf": 1,
+ "Length": 1,
+ "This": 1,
+ "is": 1,
+ "the": 1,
+ "http_version": 1,
+ "recorded_at": 1,
+ "Tue": 1,
+ "Nov": 1,
+ "GMT": 1,
+ "recorded_with": 1,
+ "VCR": 1
+ },
+ "Zephir": {
+ "%": 10,
+ "{": 56,
+ "#define": 1,
+ "MAX_FACTOR": 3,
+ "}": 50,
+ "namespace": 3,
+ "Test": 2,
+ ";": 86,
+ "#include": 1,
+ "static": 1,
+ "long": 3,
+ "fibonacci": 4,
+ "(": 55,
+ "n": 5,
+ ")": 53,
+ "if": 39,
+ "<": 1,
+ "return": 25,
+ "else": 11,
+ "-": 25,
+ "+": 5,
+ "class": 2,
+ "Cblock": 1,
+ "public": 22,
+ "function": 22,
+ "testCblock1": 1,
+ "int": 3,
+ "a": 6,
+ "testCblock2": 1,
+ "Router": 1,
+ "Route": 1,
+ "protected": 9,
+ "_pattern": 3,
+ "_compiledPattern": 3,
+ "_paths": 3,
+ "_methods": 5,
+ "_hostname": 3,
+ "_converters": 3,
+ "_id": 2,
+ "_name": 3,
+ "_beforeMatch": 3,
+ "__construct": 1,
+ "pattern": 37,
+ "paths": 7,
+ "null": 11,
+ "httpMethods": 6,
+ "this": 28,
+ "reConfigure": 2,
+ "let": 51,
+ "compilePattern": 2,
+ "var": 4,
+ "idPattern": 6,
+ "memstr": 10,
+ "str_replace": 6,
+ ".": 5,
+ "via": 1,
+ "extractNamedParams": 2,
+ "string": 6,
+ "char": 1,
+ "ch": 27,
+ "tmp": 4,
+ "matches": 5,
+ "boolean": 1,
+ "notValid": 5,
+ "false": 3,
+ "cursor": 4,
+ "cursorVar": 5,
+ "marker": 4,
+ "bracketCount": 7,
+ "parenthesesCount": 5,
+ "foundPattern": 6,
+ "intermediate": 4,
+ "numberMatches": 4,
+ "route": 12,
+ "item": 7,
+ "variable": 5,
+ "regexp": 7,
+ "strlen": 1,
+ "<=>": 5,
+ "0": 9,
+ "for": 4,
+ "in": 4,
+ "1": 3,
+ "substr": 3,
+ "break": 9,
+ "&&": 6,
+ "z": 2,
+ "Z": 2,
+ "true": 2,
+ "<='9')>": 1,
+ "_": 1,
+ "2": 2,
+ "continue": 1,
+ "[": 14,
+ "]": 14,
+ "moduleName": 5,
+ "controllerName": 7,
+ "actionName": 4,
+ "parts": 9,
+ "routePaths": 5,
+ "realClassName": 1,
+ "namespaceName": 1,
+ "pcrePattern": 4,
+ "compiledPattern": 4,
+ "extracted": 4,
+ "typeof": 2,
+ "throw": 1,
+ "new": 1,
+ "Exception": 1,
+ "explode": 1,
+ "switch": 1,
+ "count": 1,
+ "case": 3,
+ "controller": 1,
+ "action": 1,
+ "array": 1,
+ "The": 1,
+ "contains": 1,
+ "invalid": 1,
+ "#": 1,
+ "array_merge": 1,
+ "//Update": 1,
+ "the": 1,
+ "s": 1,
+ "name": 5,
+ "*": 2,
+ "@return": 1,
+ "*/": 1,
+ "getName": 1,
+ "setName": 1,
+ "beforeMatch": 1,
+ "callback": 2,
+ "getBeforeMatch": 1,
+ "getRouteId": 1,
+ "getPattern": 1,
+ "getCompiledPattern": 1,
+ "getPaths": 1,
+ "getReversedPaths": 1,
+ "reversed": 4,
+ "path": 3,
+ "position": 3,
+ "setHttpMethods": 1,
+ "getHttpMethods": 1,
+ "setHostname": 1,
+ "hostname": 2,
+ "getHostname": 1,
+ "convert": 1,
+ "converter": 2,
+ "getConverters": 1
}
},
"language_tokens": {
"ABAP": 1500,
"Agda": 376,
+ "Alloy": 1143,
"ApacheConf": 1449,
"Apex": 4408,
"AppleScript": 1862,
"Arduino": 20,
"AsciiDoc": 103,
+ "AspectJ": 324,
"ATS": 4558,
"AutoHotkey": 3,
"Awk": 544,
@@ -48490,20 +62997,24 @@
"Brightscript": 579,
"C": 59053,
"C#": 278,
- "C++": 31181,
+ "C++": 32475,
"Ceylon": 50,
"Cirru": 244,
"Clojure": 510,
"COBOL": 90,
"CoffeeScript": 2951,
- "Common Lisp": 103,
+ "Common Lisp": 2186,
"Coq": 18259,
"Creole": 134,
+ "Crystal": 1506,
"CSS": 43867,
"Cuda": 290,
"Dart": 74,
"Diff": 16,
"DM": 169,
+ "Dogescript": 30,
+ "E": 601,
+ "Eagle": 30089,
"ECL": 281,
"edn": 227,
"Elm": 628,
@@ -48511,16 +63022,24 @@
"Erlang": 2928,
"fish": 636,
"Forth": 1516,
+ "Frege": 5564,
+ "Game Maker Language": 13310,
+ "GAP": 9944,
"GAS": 133,
"GLSL": 3766,
+ "Gnuplot": 1023,
"Gosu": 410,
+ "Grammatical Framework": 10607,
"Groovy": 69,
"Groovy Server Pages": 91,
"Haml": 4,
"Handlebars": 69,
+ "Haskell": 302,
+ "HTML": 413,
"Hy": 155,
"IDL": 418,
"Idris": 148,
+ "Inform 7": 75,
"INI": 27,
"Ioke": 2,
"Jade": 3,
@@ -48528,27 +63047,36 @@
"JavaScript": 76934,
"JSON": 183,
"JSON5": 57,
+ "JSONiq": 151,
"JSONLD": 18,
"Julia": 247,
+ "Kit": 6,
"Kotlin": 155,
"KRL": 25,
"Lasso": 9849,
+ "Latte": 759,
"Less": 39,
"LFE": 1711,
+ "Liquid": 633,
"Literate Agda": 478,
"Literate CoffeeScript": 275,
"LiveScript": 123,
"Logos": 93,
"Logtalk": 36,
"Lua": 724,
- "M": 23373,
+ "M": 23615,
"Makefile": 50,
"Markdown": 1,
+ "Mask": 74,
+ "Mathematica": 411,
"Matlab": 11942,
"Max": 714,
"MediaWiki": 766,
+ "Mercury": 31096,
"Monkey": 207,
+ "Moocode": 5234,
"MoonScript": 1718,
+ "MTML": 93,
"Nemerle": 17,
"NetLogo": 243,
"Nginx": 179,
@@ -48556,6 +63084,7 @@
"NSIS": 725,
"Nu": 116,
"Objective-C": 26518,
+ "Objective-C++": 6021,
"OCaml": 382,
"Omgrofl": 57,
"Opa": 28,
@@ -48567,7 +63096,7 @@
"Parrot Internal Representation": 5,
"Pascal": 30,
"PAWN": 3263,
- "Perl": 17497,
+ "Perl": 17979,
"Perl6": 372,
"PHP": 20724,
"Pod": 658,
@@ -48577,12 +63106,14 @@
"Processing": 74,
"Prolog": 468,
"Protocol Buffer": 63,
+ "PureScript": 1652,
"Python": 5715,
- "R": 195,
+ "R": 1667,
"Racket": 331,
"Ragel in Ruby Host": 593,
"RDoc": 279,
- "Rebol": 11,
+ "Rebol": 533,
+ "Red": 816,
"RMarkdown": 19,
"RobotFramework": 483,
"Ruby": 3862,
@@ -48594,11 +63125,19 @@
"Scilab": 69,
"SCSS": 39,
"Shell": 3744,
+ "ShellSession": 233,
+ "Shen": 3472,
"Slash": 187,
+ "Smalltalk": 423,
+ "SourcePawn": 2080,
+ "SQL": 1485,
"Squirrel": 130,
"Standard ML": 6405,
+ "Stata": 3133,
"Stylus": 76,
"SuperCollider": 133,
+ "SystemVerilog": 541,
+ "Tcl": 1133,
"Tea": 3,
"TeX": 2701,
"Turing": 44,
@@ -48612,21 +63151,24 @@
"Volt": 388,
"wisp": 1363,
"XC": 24,
- "XML": 5737,
+ "XML": 5785,
"XProc": 22,
"XQuery": 801,
"XSLT": 44,
"Xtend": 399,
- "YAML": 30
+ "YAML": 77,
+ "Zephir": 1026
},
"languages": {
"ABAP": 1,
"Agda": 1,
+ "Alloy": 3,
"ApacheConf": 3,
"Apex": 6,
"AppleScript": 7,
"Arduino": 1,
"AsciiDoc": 3,
+ "AspectJ": 2,
"ATS": 10,
"AutoHotkey": 1,
"Awk": 1,
@@ -48635,20 +63177,24 @@
"Brightscript": 1,
"C": 29,
"C#": 2,
- "C++": 27,
+ "C++": 28,
"Ceylon": 1,
"Cirru": 9,
"Clojure": 7,
"COBOL": 4,
"CoffeeScript": 9,
- "Common Lisp": 1,
+ "Common Lisp": 3,
"Coq": 12,
"Creole": 1,
+ "Crystal": 3,
"CSS": 2,
"Cuda": 2,
"Dart": 1,
"Diff": 1,
"DM": 1,
+ "Dogescript": 1,
+ "E": 6,
+ "Eagle": 2,
"ECL": 1,
"edn": 1,
"Elm": 3,
@@ -48656,16 +63202,24 @@
"Erlang": 5,
"fish": 3,
"Forth": 7,
+ "Frege": 4,
+ "Game Maker Language": 13,
+ "GAP": 7,
"GAS": 1,
"GLSL": 3,
+ "Gnuplot": 6,
"Gosu": 4,
+ "Grammatical Framework": 41,
"Groovy": 2,
"Groovy Server Pages": 4,
"Haml": 1,
"Handlebars": 2,
+ "Haskell": 3,
+ "HTML": 2,
"Hy": 2,
"IDL": 4,
"Idris": 1,
+ "Inform 7": 2,
"INI": 2,
"Ioke": 1,
"Jade": 1,
@@ -48673,27 +63227,36 @@
"JavaScript": 20,
"JSON": 4,
"JSON5": 2,
+ "JSONiq": 2,
"JSONLD": 1,
"Julia": 1,
+ "Kit": 1,
"Kotlin": 1,
"KRL": 1,
"Lasso": 4,
+ "Latte": 2,
"Less": 1,
"LFE": 4,
+ "Liquid": 2,
"Literate Agda": 1,
"Literate CoffeeScript": 1,
"LiveScript": 1,
"Logos": 1,
"Logtalk": 1,
"Lua": 3,
- "M": 28,
+ "M": 29,
"Makefile": 2,
"Markdown": 1,
+ "Mask": 1,
+ "Mathematica": 3,
"Matlab": 39,
"Max": 3,
"MediaWiki": 1,
+ "Mercury": 9,
"Monkey": 1,
+ "Moocode": 3,
"MoonScript": 1,
+ "MTML": 1,
"Nemerle": 1,
"NetLogo": 1,
"Nginx": 1,
@@ -48701,6 +63264,7 @@
"NSIS": 2,
"Nu": 2,
"Objective-C": 19,
+ "Objective-C++": 2,
"OCaml": 2,
"Omgrofl": 1,
"Opa": 2,
@@ -48712,7 +63276,7 @@
"Parrot Internal Representation": 1,
"Pascal": 1,
"PAWN": 1,
- "Perl": 14,
+ "Perl": 15,
"Perl6": 3,
"PHP": 9,
"Pod": 1,
@@ -48722,12 +63286,14 @@
"Processing": 1,
"Prolog": 3,
"Protocol Buffer": 1,
+ "PureScript": 4,
"Python": 7,
- "R": 3,
+ "R": 6,
"Racket": 2,
"Ragel in Ruby Host": 3,
"RDoc": 1,
- "Rebol": 1,
+ "Rebol": 6,
+ "Red": 2,
"RMarkdown": 1,
"RobotFramework": 3,
"Ruby": 17,
@@ -48739,11 +63305,19 @@
"Scilab": 3,
"SCSS": 1,
"Shell": 37,
+ "ShellSession": 3,
+ "Shen": 3,
"Slash": 1,
+ "Smalltalk": 3,
+ "SourcePawn": 1,
+ "SQL": 5,
"Squirrel": 1,
"Standard ML": 4,
+ "Stata": 7,
"Stylus": 1,
"SuperCollider": 1,
+ "SystemVerilog": 4,
+ "Tcl": 2,
"Tea": 1,
"TeX": 2,
"Turing": 1,
@@ -48757,12 +63331,13 @@
"Volt": 1,
"wisp": 1,
"XC": 1,
- "XML": 4,
+ "XML": 5,
"XProc": 1,
"XQuery": 1,
"XSLT": 1,
"Xtend": 2,
- "YAML": 1
+ "YAML": 2,
+ "Zephir": 2
},
- "md5": "cfe1841f5e4b2ab14a1ad53ad64523b8"
+ "md5": "fa38e2b617caaf230146a7adab264419"
}
\ No newline at end of file
diff --git a/lib/linguist/vendor.yml b/lib/linguist/vendor.yml
index e4967ccf..0c37cbf1 100644
--- a/lib/linguist/vendor.yml
+++ b/lib/linguist/vendor.yml
@@ -10,7 +10,7 @@
## Vendor Conventions ##
# Caches
-- cache/
+- (^|/)cache/
# Dependencies
- ^[Dd]ependencies/
@@ -101,6 +101,9 @@
# D3.js
- (^|\/)d3(\.v\d+)?([^.]*)(\.min)?\.js$
+# React
+- (^|/)react(-[^.]*)?(\.min)?\.js$
+
## Python ##
# django
@@ -120,10 +123,18 @@
# Sparkle
- (^|/)Sparkle/
+## Groovy ##
+
+# Gradle
+- (^|/)gradlew$
+- (^|/)gradlew\.bat$
+- (^|/)gradle/wrapper/
+
## .NET ##
# Visual Studio IntelliSense
- -vsdoc\.js$
+- \.intellisense\.js$
# jQuery validation plugin (MS bundles this with asp.net mvc)
- (^|/)jquery([^.]*)\.validate(\.unobtrusive)?(\.min)?\.js$
@@ -178,3 +189,6 @@
# .DS_Store's
- .[Dd][Ss]_[Ss]tore$
+
+# Mercury --use-subdirs
+- Mercury/
diff --git a/lib/linguist/version.rb b/lib/linguist/version.rb
new file mode 100644
index 00000000..f54e6a76
--- /dev/null
+++ b/lib/linguist/version.rb
@@ -0,0 +1,3 @@
+module Linguist
+ VERSION = "2.10.15"
+end
diff --git a/samples/Alloy/file_system.als b/samples/Alloy/file_system.als
new file mode 100644
index 00000000..60fd959b
--- /dev/null
+++ b/samples/Alloy/file_system.als
@@ -0,0 +1,59 @@
+module examples/systems/file_system
+
+/*
+ * Model of a generic file system.
+ */
+
+abstract sig Object {}
+
+sig Name {}
+
+sig File extends Object {} { some d: Dir | this in d.entries.contents }
+
+sig Dir extends Object {
+ entries: set DirEntry,
+ parent: lone Dir
+} {
+ parent = this.~@contents.~@entries
+ all e1, e2 : entries | e1.name = e2.name => e1 = e2
+ this !in this.^@parent
+ this != Root => Root in this.^@parent
+}
+
+one sig Root extends Dir {} { no parent }
+
+lone sig Cur extends Dir {}
+
+sig DirEntry {
+ name: Name,
+ contents: Object
+} {
+ one this.~entries
+}
+
+
+/**
+ * all directories besides root have one parent
+ */
+pred OneParent_buggyVersion {
+ all d: Dir - Root | one d.parent
+}
+
+/**
+ * all directories besides root have one parent
+ */
+pred OneParent_correctVersion {
+ all d: Dir - Root | (one d.parent && one contents.d)
+}
+
+/**
+ * Only files may be linked (that is, have more than one entry)
+ * That is, all directories are the contents of at most one directory entry
+ */
+pred NoDirAliases {
+ all o: Dir | lone o.~contents
+}
+
+check { OneParent_buggyVersion => NoDirAliases } for 5 expect 1
+
+check { OneParent_correctVersion => NoDirAliases } for 5 expect 0
diff --git a/samples/Alloy/marksweepgc.als b/samples/Alloy/marksweepgc.als
new file mode 100644
index 00000000..b8081e3f
--- /dev/null
+++ b/samples/Alloy/marksweepgc.als
@@ -0,0 +1,83 @@
+module examples/systems/marksweepgc
+
+/*
+ * Model of mark and sweep garbage collection.
+ */
+
+// a node in the heap
+sig Node {}
+
+sig HeapState {
+ left, right : Node -> lone Node,
+ marked : set Node,
+ freeList : lone Node
+}
+
+pred clearMarks[hs, hs' : HeapState] {
+ // clear marked set
+ no hs'.marked
+ // left and right fields are unchanged
+ hs'.left = hs.left
+ hs'.right = hs.right
+}
+
+/**
+ * simulate the recursion of the mark() function using transitive closure
+ */
+fun reachable[hs: HeapState, n: Node] : set Node {
+ n + n.^(hs.left + hs.right)
+}
+
+pred mark[hs: HeapState, from : Node, hs': HeapState] {
+ hs'.marked = hs.reachable[from]
+ hs'.left = hs.left
+ hs'.right = hs.right
+}
+
+/**
+ * complete hack to simulate behavior of code to set freeList
+ */
+pred setFreeList[hs, hs': HeapState] {
+ // especially hackish
+ hs'.freeList.*(hs'.left) in (Node - hs.marked)
+ all n: Node |
+ (n !in hs.marked) => {
+ no hs'.right[n]
+ hs'.left[n] in (hs'.freeList.*(hs'.left))
+ n in hs'.freeList.*(hs'.left)
+ } else {
+ hs'.left[n] = hs.left[n]
+ hs'.right[n] = hs.right[n]
+ }
+ hs'.marked = hs.marked
+}
+
+pred GC[hs: HeapState, root : Node, hs': HeapState] {
+ some hs1, hs2: HeapState |
+ hs.clearMarks[hs1] && hs1.mark[root, hs2] && hs2.setFreeList[hs']
+}
+
+assert Soundness1 {
+ all h, h' : HeapState, root : Node |
+ h.GC[root, h'] =>
+ (all live : h.reachable[root] | {
+ h'.left[live] = h.left[live]
+ h'.right[live] = h.right[live]
+ })
+}
+
+assert Soundness2 {
+ all h, h' : HeapState, root : Node |
+ h.GC[root, h'] =>
+ no h'.reachable[root] & h'.reachable[h'.freeList]
+}
+
+assert Completeness {
+ all h, h' : HeapState, root : Node |
+ h.GC[root, h'] =>
+ (Node - h'.reachable[root]) in h'.reachable[h'.freeList]
+}
+
+check Soundness1 for 3 expect 0
+check Soundness2 for 3 expect 0
+check Completeness for 3 expect 0
diff --git a/samples/Alloy/views.als b/samples/Alloy/views.als
new file mode 100644
index 00000000..3a5ab82b
--- /dev/null
+++ b/samples/Alloy/views.als
@@ -0,0 +1,217 @@
+module examples/systems/views
+
+/*
+ * Model of views in object-oriented programming.
+ *
+ * Two object references, called the view and the backing,
+ * are related by a view mechanism when changes to the
+ * backing are automatically propagated to the view. Note
+ * that the state of a view need not be a projection of the
+ * state of the backing; the keySet method of Map, for
+ * example, produces two view relationships, and for the
+ * one in which the map is modified by changes to the key
+ * set, the value of the new map cannot be determined from
+ * the key set. Note that in the iterator view mechanism,
+ * the iterator is by this definition the backing object,
+ * since changes are propagated from iterator to collection
+ * and not vice versa. Oddly, a reference may be a view of
+ * more than one backing: there can be two iterators on the
+ * same collection, eg. A reference cannot be a view under
+ * more than one view type.
+ *
+ * A reference is made dirty when it is a backing for a view
+ * with which it is no longer related by the view invariant.
+ * This usually happens when a view is modified, either
+ * directly or via another backing. For example, changing a
+ * collection directly when it has an iterator invalidates
+ * it, as does changing the collection through one iterator
+ * when there are others.
+ *
+ * More work is needed if we want to model more closely the
+ * failure of an iterator when its collection is invalidated.
+ *
+ * As a terminological convention, when there are two
+ * complementary view relationships, we will give them types
+ * t and t'. For example, KeySetView propagates from map to
+ * set, and KeySetView' propagates from set to map.
+ *
+ * author: Daniel Jackson
+ */
+
+open util/ordering[State] as so
+open util/relation as rel
+
+sig Ref {}
+sig Object {}
+
+-- t->b->v in views when v is view of type t of backing b
+-- dirty contains refs that have been invalidated
+sig State {
+ refs: set Ref,
+ obj: refs -> one Object,
+ views: ViewType -> refs -> refs,
+ dirty: set refs
+-- , anyviews: Ref -> Ref -- for visualization
+ }
+-- {anyviews = ViewType.views}
+
+sig Map extends Object {
+ keys: set Ref,
+ map: keys -> one Ref
+ }{all s: State | keys + Ref.map in s.refs}
+sig MapRef extends Ref {}
+fact {State.obj[MapRef] in Map}
+
+sig Iterator extends Object {
+ left, done: set Ref,
+ lastRef: lone done
+ }{all s: State | done + left + lastRef in s.refs}
+sig IteratorRef extends Ref {}
+fact {State.obj[IteratorRef] in Iterator}
+
+sig Set extends Object {
+ elts: set Ref
+ }{all s: State | elts in s.refs}
+sig SetRef extends Ref {}
+fact {State.obj[SetRef] in Set}
+
+abstract sig ViewType {}
+one sig KeySetView, KeySetView', IteratorView extends ViewType {}
+fact ViewTypes {
+ State.views[KeySetView] in MapRef -> SetRef
+ State.views[KeySetView'] in SetRef -> MapRef
+ State.views[IteratorView] in IteratorRef -> SetRef
+ all s: State | s.views[KeySetView] = ~(s.views[KeySetView'])
+ }
+
+/**
+ * mods is refs modified directly or by view mechanism
+ * doesn't handle possibility of modifying an object and its view at once?
+ * should we limit frame conds to non-dirty refs?
+ */
+pred modifies [pre, post: State, rs: set Ref] {
+ let vr = pre.views[ViewType], mods = rs.*vr {
+ all r: pre.refs - mods | pre.obj[r] = post.obj[r]
+ all b: mods, v: pre.refs, t: ViewType |
+ b->v in pre.views[t] => viewFrame [t, pre.obj[v], post.obj[v], post.obj[b]]
+ post.dirty = pre.dirty +
+ {b: pre.refs | some v: Ref, t: ViewType |
+ b->v in pre.views[t] && !viewFrame [t, pre.obj[v], post.obj[v], post.obj[b]]
+ }
+ }
+ }
+
+pred allocates [pre, post: State, rs: set Ref] {
+ no rs & pre.refs
+ post.refs = pre.refs + rs
+ }
+
+/**
+ * models frame condition that limits change to view object from v to v' when backing object changes to b'
+ */
+pred viewFrame [t: ViewType, v, v', b': Object] {
+ t in KeySetView => v'.elts = dom [b'.map]
+ t in KeySetView' => b'.elts = dom [v'.map]
+ t in KeySetView' => (b'.elts) <: (v.map) = (b'.elts) <: (v'.map)
+ t in IteratorView => v'.elts = b'.left + b'.done
+ }
+
+pred MapRef.keySet [pre, post: State, setRefs: SetRef] {
+ post.obj[setRefs].elts = dom [pre.obj[this].map]
+ modifies [pre, post, none]
+ allocates [pre, post, setRefs]
+ post.views = pre.views + KeySetView->this->setRefs + KeySetView'->setRefs->this
+ }
+
+pred MapRef.put [pre, post: State, k, v: Ref] {
+ post.obj[this].map = pre.obj[this].map ++ k->v
+ modifies [pre, post, this]
+ allocates [pre, post, none]
+ post.views = pre.views
+ }
+
+pred SetRef.iterator [pre, post: State, iterRef: IteratorRef] {
+ let i = post.obj[iterRef] {
+ i.left = pre.obj[this].elts
+ no i.done + i.lastRef
+ }
+ modifies [pre,post,none]
+ allocates [pre, post, iterRef]
+ post.views = pre.views + IteratorView->iterRef->this
+ }
+
+pred IteratorRef.remove [pre, post: State] {
+ let i = pre.obj[this], i' = post.obj[this] {
+ i'.left = i.left
+ i'.done = i.done - i.lastRef
+ no i'.lastRef
+ }
+ modifies [pre,post,this]
+ allocates [pre, post, none]
+ pre.views = post.views
+ }
+
+pred IteratorRef.next [pre, post: State, ref: Ref] {
+ let i = pre.obj[this], i' = post.obj[this] {
+ ref in i.left
+ i'.left = i.left - ref
+ i'.done = i.done + ref
+ i'.lastRef = ref
+ }
+ modifies [pre, post, this]
+ allocates [pre, post, none]
+ pre.views = post.views
+ }
+
+pred IteratorRef.hasNext [s: State] {
+ some s.obj[this].left
+ }
+
+assert zippishOK {
+ all
+ ks, vs: SetRef,
+ m: MapRef,
+ ki, vi: IteratorRef,
+ k, v: Ref |
+ let s0=so/first,
+ s1=so/next[s0],
+ s2=so/next[s1],
+ s3=so/next[s2],
+ s4=so/next[s3],
+ s5=so/next[s4],
+ s6=so/next[s5],
+ s7=so/next[s6] |
+ ({
+ precondition [s0, ks, vs, m]
+ no s0.dirty
+ ks.iterator [s0, s1, ki]
+ vs.iterator [s1, s2, vi]
+ ki.hasNext [s2]
+ vi.hasNext [s2]
+ ki.this/next [s2, s3, k]
+ vi.this/next [s3, s4, v]
+ m.put [s4, s5, k, v]
+ ki.remove [s5, s6]
+ vi.remove [s6, s7]
+ } => no State.dirty)
+ }
+
+pred precondition [pre: State, ks, vs, m: Ref] {
+ // all these conditions and other errors discovered in scope of 6 but 8,3
+ // in initial state, must have view invariants hold
+ (all t: ViewType, b, v: pre.refs |
+ b->v in pre.views[t] => viewFrame [t, pre.obj[v], pre.obj[v], pre.obj[b]])
+ // sets are not aliases
+-- ks != vs
+ // sets are not views of map
+-- no (ks+vs)->m & ViewType.pre.views
+ // no iterator currently on either set
+-- no Ref->(ks+vs) & ViewType.pre.views
+ }
+
+check zippishOK for 6 but 8 State, 3 ViewType expect 1
+
+/**
+ * experiment with controlling heap size
+ */
+fact {all s: State | #s.obj < 5}
diff --git a/samples/AspectJ/CacheAspect.aj b/samples/AspectJ/CacheAspect.aj
new file mode 100644
index 00000000..bfab7bc4
--- /dev/null
+++ b/samples/AspectJ/CacheAspect.aj
@@ -0,0 +1,41 @@
+package com.blogspot.miguelinlas3.aspectj.cache;
+
+import java.util.Map;
+import java.util.WeakHashMap;
+
+import org.aspectj.lang.JoinPoint;
+
+import com.blogspot.miguelinlas3.aspectj.cache.marker.Cachable;
+
+/**
+ * This simple aspect simulates the behaviour of a very simple cache
+ *
+ * @author migue
+ *
+ */
+public aspect CacheAspect {
+
+ public pointcut cache(Cachable cachable): execution(@Cachable * * (..)) && @annotation(cachable);
+
+ Object around(Cachable cachable): cache(cachable){
+
+ String evaluatedKey = this.evaluateKey(cachable.scriptKey(), thisJoinPoint);
+
+ if(cache.containsKey(evaluatedKey)){
+ System.out.println("Cache hit for key " + evaluatedKey);
+ return this.cache.get(evaluatedKey);
+ }
+
+ System.out.println("Cache miss for key " + evaluatedKey);
+ Object value = proceed(cachable);
+ cache.put(evaluatedKey, value);
+ return value;
+ }
+
+ protected String evaluateKey(String key, JoinPoint joinPoint) {
+ // TODO add some smart staff to allow simple scripting in @Cachable annotation
+ return key;
+ }
+
+ protected Map cache = new WeakHashMap();
+}
diff --git a/samples/AspectJ/OptimizeRecursionCache.aj b/samples/AspectJ/OptimizeRecursionCache.aj
new file mode 100644
index 00000000..ed1e8695
--- /dev/null
+++ b/samples/AspectJ/OptimizeRecursionCache.aj
@@ -0,0 +1,50 @@
+package aspects.caching;
+
+import java.util.Map;
+
+/**
+ * Cache aspect for optimize recursive functions.
+ *
+ * @author Migueli
+ * @date 05/11/2013
+ * @version 1.0
+ *
+ */
+public abstract aspect OptimizeRecursionCache {
+
+ @SuppressWarnings("rawtypes")
+ private Map _cache;
+
+ public OptimizeRecursionCache() {
+ _cache = getCache();
+ }
+
+ @SuppressWarnings("rawtypes")
+ abstract public Map getCache();
+
+ abstract public pointcut operation(Object o);
+
+ pointcut topLevelOperation(Object o): operation(o) && !cflowbelow(operation(Object));
+
+ before(Object o) : topLevelOperation(o) {
+ System.out.println("Seeking value for " + o);
+ }
+
+ Object around(Object o) : operation(o) {
+ Object cachedValue = _cache.get(o);
+ if (cachedValue != null) {
+ System.out.println("Found cached value for " + o + ": " + cachedValue);
+ return cachedValue;
+ }
+ return proceed(o);
+ }
+
+ @SuppressWarnings("unchecked")
+ after(Object o) returning(Object result) : topLevelOperation(o) {
+ _cache.put(o, result);
+ }
+
+ after(Object o) returning(Object result) : topLevelOperation(o) {
+ System.out.println("cache size: " + _cache.size());
+ }
+}
diff --git a/samples/C++/Math.inl b/samples/C++/Math.inl
new file mode 100644
index 00000000..194370a3
--- /dev/null
+++ b/samples/C++/Math.inl
@@ -0,0 +1,530 @@
+/*
+===========================================================================
+The Open Game Libraries.
+Copyright (C) 2007-2010 Lusito Software
+
+Author: Santo Pfingsten (TTK-Bandit)
+Purpose: Math namespace
+-----------------------------------------
+
+This software is provided 'as-is', without any express or implied
+warranty. In no event will the authors be held liable for any damages
+arising from the use of this software.
+
+Permission is granted to anyone to use this software for any purpose,
+including commercial applications, and to alter it and redistribute it
+freely, subject to the following restrictions:
+
+1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+
+2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+
+3. This notice may not be removed or altered from any source distribution.
+===========================================================================
+*/
+
+#ifndef __OG_MATH_INL__
+#define __OG_MATH_INL__
+
+namespace og {
+
+/*
+==============================================================================
+
+ Math
+
+==============================================================================
+*/
+
+/*
+================
+Math::Abs
+================
+*/
+OG_INLINE int Math::Abs( int i ) {
+#if 1
+ if ( i & 0x80000000 )
+ return 0x80000000 - (i & MASK_SIGNED);
+ return i;
+#else
+ int y = x >> 31;
+ return ( ( x ^ y ) - y );
+#endif
+}
+
+/*
+================
+Math::Fabs
+================
+*/
+OG_INLINE float Math::Fabs( float f ) {
+#if 1
+ uInt *pf = reinterpret_cast(&f);
+ *(pf) &= MASK_SIGNED;
+ return f;
+#else
+ return fabsf( f );
+#endif
+}
+
+/*
+================
+Math::Round
+================
+*/
+OG_INLINE float Math::Round( float f ) {
+ return floorf( f + 0.5f );
+}
+
+/*
+================
+Math::Floor
+================
+*/
+OG_INLINE float Math::Floor( float f ) {
+ return floorf( f );
+}
+
+/*
+================
+Math::Ceil
+================
+*/
+OG_INLINE float Math::Ceil( float f ) {
+ return ceilf( f );
+}
+
+/*
+================
+Math::Ftoi
+
+ok since this is SSE, why should the other ftoi be the faster one ?
+and: we might need to add a check for SSE extensions..
+because sse isn't *really* faster (I actually read that GCC does not handle
+SSE extensions perfectly. I'll find the link and send it to you when you're online)
+================
+*/
+OG_INLINE int Math::Ftoi( float f ) {
+ //! @todo needs testing
+ // note: sse function cvttss2si
+#if OG_ASM_MSVC
+ int i;
+#if defined(OG_FTOI_USE_SSE)
+ if( SysInfo::cpu.general.SSE ) {
+ __asm cvttss2si eax, f
+ __asm mov i, eax
+ return i;
+ } else
+#endif
+ {
+ __asm fld f
+ __asm fistp i
+ //__asm mov eax, i // do we need this ? O_o
+ }
+ return i;
+#elif OG_ASM_GNU
+ int i;
+#if defined(OG_FTOI_USE_SSE)
+ if( SysInfo::cpu.general.SSE ) {
+ __asm__ __volatile__( "cvttss2si %1 \n\t"
+ : "=m" (i)
+ : "m" (f)
+ );
+ } else
+#endif
+ {
+ __asm__ __volatile__( "flds %1 \n\t"
+ "fistpl %0 \n\t"
+ : "=m" (i)
+ : "m" (f)
+ );
+ }
+ return i;
+#else
+ // we use c++ cast instead of c cast (not sure why id did that)
+ return static_cast(f);
+#endif
+}
+
+/*
+================
+Math::FtoiFast
+================
+*/
+OG_INLINE int Math::FtoiFast( float f ) {
+#if OG_ASM_MSVC
+ int i;
+ __asm fld f
+ __asm fistp i
+ //__asm mov eax, i // do we need this ? O_o
+ return i;
+#elif OG_ASM_GNU
+ int i;
+ __asm__ __volatile__( "flds %1 \n\t"
+ "fistpl %0 \n\t"
+ : "=m" (i)
+ : "m" (f)
+ );
+ return i;
+#else
+ // we use c++ cast instead of c cast (not sure why id did that)
+ return static_cast(f);
+#endif
+}
+
+/*
+================
+Math::Ftol
+================
+*/
+OG_INLINE long Math::Ftol( float f ) {
+#if OG_ASM_MSVC
+ long i;
+ __asm fld f
+ __asm fistp i
+ //__asm mov eax, i // do we need this ? O_o
+ return i;
+#elif OG_ASM_GNU
+ long i;
+ __asm__ __volatile__( "flds %1 \n\t"
+ "fistpl %0 \n\t"
+ : "=m" (i)
+ : "m" (f)
+ );
+ return i;
+#else
+ // we use c++ cast instead of c cast (not sure why id did that)
+ return static_cast(f);
+#endif
+}
+
+/*
+================
+Math::Sign
+================
+*/
+OG_INLINE float Math::Sign( float f ) {
+ if ( f > 0.0f )
+ return 1.0f;
+ if ( f < 0.0f )
+ return -1.0f;
+ return 0.0f;
+}
+
+/*
+================
+Math::Fmod
+================
+*/
+OG_INLINE float Math::Fmod( float numerator, float denominator ) {
+ return fmodf( numerator, denominator );
+}
+
+/*
+================
+Math::Modf
+================
+*/
+OG_INLINE float Math::Modf( float f, float& i ) {
+ return modff( f, &i );
+}
+OG_INLINE float Math::Modf( float f ) {
+ float i;
+ return modff( f, &i );
+}
+
+/*
+================
+Math::Sqrt
+================
+*/
+OG_INLINE float Math::Sqrt( float f ) {
+ return sqrtf( f );
+}
+
+/*
+================
+Math::InvSqrt
+
+Cannot be 0.0f
+================
+*/
+OG_INLINE float Math::InvSqrt( float f ) {
+ OG_ASSERT( f != 0.0f );
+ return 1.0f / sqrtf( f );
+}
+
+/*
+================
+Math::RSqrt
+
+Can be 0.0f
+================
+*/
+OG_INLINE float Math::RSqrt( float f ) {
+ float g = 0.5f * f;
+ int i = *reinterpret_cast(&f);
+
+ // do a guess
+ i = 0x5f375a86 - ( i>>1 );
+ f = *reinterpret_cast(&i);
+
+ // Newtons calculation
+ f = f * ( 1.5f - g * f * f );
+ return f;
+}
+
+/*
+================
+Math::Log/Log2/Log10
+
+Log of 0 is bad.
+I've also heard you're not really
+supposed to do log of negatives, yet
+they work fine.
+================
+*/
+OG_INLINE float Math::Log( float f ) {
+ OG_ASSERT( f != 0.0f );
+ return logf( f );
+}
+OG_INLINE float Math::Log2( float f ) {
+ OG_ASSERT( f != 0.0f );
+ return INV_LN_2 * logf( f );
+}
+OG_INLINE float Math::Log10( float f ) {
+ OG_ASSERT( f != 0.0f );
+ return INV_LN_10 * logf( f );
+}
+
+/*
+================
+Math::Pow
+================
+*/
+OG_INLINE float Math::Pow( float base, float exp ) {
+ return powf( base, exp );
+}
+
+/*
+================
+Math::Exp
+================
+*/
+OG_INLINE float Math::Exp( float f ) {
+ return expf( f );
+}
+
+/*
+================
+Math::IsPowerOfTwo
+================
+*/
+OG_INLINE bool Math::IsPowerOfTwo( int x ) {
+ // This is the faster of the two known methods
+ // with the x > 0 check moved to the beginning
+ return x > 0 && ( x & ( x - 1 ) ) == 0;
+}
+
+/*
+================
+Math::HigherPowerOfTwo
+================
+*/
+OG_INLINE int Math::HigherPowerOfTwo( int x ) {
+ x--;
+ x |= x >> 1;
+ x |= x >> 2;
+ x |= x >> 4;
+ x |= x >> 8;
+ x |= x >> 16;
+ return x + 1;
+}
+
+/*
+================
+Math::LowerPowerOfTwo
+================
+*/
+OG_INLINE int Math::LowerPowerOfTwo( int x ) {
+ return HigherPowerOfTwo( x ) >> 1;
+}
+
+/*
+================
+Math::FloorPowerOfTwo
+================
+*/
+OG_INLINE int Math::FloorPowerOfTwo( int x ) {
+ return IsPowerOfTwo( x ) ? x : LowerPowerOfTwo( x );
+}
+
+/*
+================
+Math::CeilPowerOfTwo
+================
+*/
+OG_INLINE int Math::CeilPowerOfTwo( int x ) {
+ return IsPowerOfTwo( x ) ? x : HigherPowerOfTwo( x );
+}
+
+/*
+================
+Math::ClosestPowerOfTwo
+================
+*/
+OG_INLINE int Math::ClosestPowerOfTwo( int x ) {
+ if ( IsPowerOfTwo( x ) )
+ return x;
+ int high = HigherPowerOfTwo( x );
+ int low = high >> 1;
+ return ((high-x) < (x-low)) ? high : low;
+}
+
+/*
+================
+Math::Digits
+================
+*/
+OG_INLINE int Math::Digits( int x ) {
+ int digits = 1;
+ int step = 10;
+ while (step <= x) {
+ digits++;
+ step *= 10;
+ }
+ return digits;
+}
+
+/*
+================
+Math::Sin/ASin
+================
+*/
+OG_INLINE float Math::Sin( float f ) {
+ return sinf( f );
+}
+OG_INLINE float Math::ASin( float f ) {
+ if ( f <= -1.0f )
+ return -HALF_PI;
+ if ( f >= 1.0f )
+ return HALF_PI;
+ return asinf( f );
+}
+
+/*
+================
+Math::Cos/ACos
+================
+*/
+OG_INLINE float Math::Cos( float f ) {
+ return cosf( f );
+}
+OG_INLINE float Math::ACos( float f ) {
+ if ( f <= -1.0f )
+ return PI;
+ if ( f >= 1.0f )
+ return 0.0f;
+ return acosf( f );
+}
+
+/*
+================
+Math::Tan/ATan
+================
+*/
+OG_INLINE float Math::Tan( float f ) {
+ return tanf( f );
+}
+OG_INLINE float Math::ATan( float f ) {
+ return atanf( f );
+}
+OG_INLINE float Math::ATan( float f1, float f2 ) {
+ return atan2f( f1, f2 );
+}
+
+/*
+================
+Math::SinCos
+================
+*/
+OG_INLINE void Math::SinCos( float f, float &s, float &c ) {
+#if OG_ASM_MSVC
+ // sometimes assembler is just waaayy faster
+ _asm {
+ fld f
+ fsincos
+ mov ecx, c
+ mov edx, s
+ fstp dword ptr [ecx]
+ fstp dword ptr [edx]
+ }
+#elif OG_ASM_GNU
+ asm ("fsincos" : "=t" (c), "=u" (s) : "0" (f));
+#else
+ s = Sin(f);
+ c = Sqrt( 1.0f - s * s ); // faster than calling Cos(f)
+#endif
+}
+
+/*
+================
+Math::Deg2Rad
+================
+*/
+OG_INLINE float Math::Deg2Rad( float f ) {
+ return f * DEG_TO_RAD;
+}
+
+/*
+================
+Math::Rad2Deg
+================
+*/
+OG_INLINE float Math::Rad2Deg( float f ) {
+ return f * RAD_TO_DEG;
+}
+
+/*
+================
+Math::Square
+================
+*/
+OG_INLINE float Math::Square( float v ) {
+ return v * v;
+}
+
+/*
+================
+Math::Cube
+================
+*/
+OG_INLINE float Math::Cube( float v ) {
+ return v * v * v;
+}
+
+/*
+================
+Math::Sec2Ms
+================
+*/
+OG_INLINE int Math::Sec2Ms( int sec ) {
+ return sec * 1000;
+}
+
+/*
+================
+Math::Ms2Sec
+================
+*/
+OG_INLINE int Math::Ms2Sec( int ms ) {
+ return FtoiFast( ms * 0.001f );
+}
+
+}
+
+#endif
diff --git a/samples/Common Lisp/macros-advanced.cl b/samples/Common Lisp/macros-advanced.cl
new file mode 100644
index 00000000..b746d769
--- /dev/null
+++ b/samples/Common Lisp/macros-advanced.cl
@@ -0,0 +1,82 @@
+;; @file macros-advanced.cl
+;;
+;; @breif Advanced macro practices - defining your own macros
+;;
+;; Macro definition skeleton:
+;; (defmacro name (parameter*)
+;; "Optional documentation string"
+;; body-form*)
+;;
+;; Note that backquote expression is most often used in the `body-form`
+;;
+
+; `primep` test a number for prime
+(defun primep (n)
+ "test a number for prime"
+ (if (< n 2) (return-from primep))
+ (do ((i 2 (1+ i)) (p t (not (zerop (mod n i)))))
+ ((> i (sqrt n)) p)
+ (when (not p) (return))))
+; `next-prime` return the next prime bigger than the specified number
+(defun next-prime (n)
+ "return the next prime bigger than the speicified number"
+ (do ((i (1+ n) (1+ i)))
+ ((primep i) i)))
+;
+; The recommended procedures to writting a new macro are as follows:
+; 1. Write a sample call to the macro and the code it should expand into
+(do-primes (p 0 19)
+ (format t "~d " p))
+; Expected expanded codes
+(do ((p (next-prime (- 0 1)) (next-prime p)))
+ ((> p 19))
+ (format t "~d " p))
+; 2. Write code that generate the hardwritten expansion from the arguments in
+; the sample call
+(defmacro do-primes (var-and-range &rest body)
+ (let ((var (first var-and-range))
+ (start (second var-and-range))
+ (end (third var-and-range)))
+ `(do ((,var (next-prime (- ,start 1)) (next-prime ,var)))
+ ((> ,var ,end))
+ ,@body)))
+; 2-1. More concise implementations with the 'parameter list destructuring' and
+; '&body' synonym, it also emits more friendly messages on incorrent input.
+(defmacro do-primes ((var start end) &body body)
+ `(do ((,var (next-prime (- ,start 1)) (next-prime ,var)))
+ ((> ,var ,end))
+ ,@body))
+; 2-2. Test the result of macro expansion with the `macroexpand-1` function
+(macroexpand-1 '(do-primes (p 0 19) (format t "~d " p)))
+; 3. Make sure the macro abstraction does not "leak"
+(defmacro do-primes ((var start end) &body body)
+ (let ((end-value-name (gensym)))
+ `(do ((,var (next-prime (- ,start 1)) (next-prime ,var))
+ (,end-value-name ,end))
+ ((> ,var ,end-value-name))
+ ,@body)))
+; 3-1. Rules to observe to avoid common and possible leaks
+; a. include any subforms in the expansion in positions that will be evaluated
+; in the same order as the subforms appear in the macro call
+; b. make sure subforms are evaluated only once by creating a variable in the
+; expansion to hold the value of evaluating the argument form, and then
+; using that variable anywhere else the value is needed in the expansion
+; c. use `gensym` at macro expansion time to create variable names used in the
+; expansion
+;
+; Appendix I. Macro-writting macros, 'with-gensyms', to guranttee that rule c
+; gets observed.
+; Example usage of `with-gensyms`
+(defmacro do-primes-a ((var start end) &body body)
+ "do-primes implementation with macro-writting macro 'with-gensyms'"
+ (with-gensyms (end-value-name)
+ `(do ((,var (next-prime (- ,start 1)) (next-prime ,var))
+ (,end-value-name ,end))
+ ((> ,var ,end-value-name))
+ ,@body)))
+; Define the macro, note how comma is used to interpolate the value of the loop
+; expression
+(defmacro with-gensyms ((&rest names) &body body)
+ `(let ,(loop for n in names collect `(,n (gensym)))
+ ,@body)
+)
\ No newline at end of file
diff --git a/samples/Common Lisp/motor-inferencia.cl b/samples/Common Lisp/motor-inferencia.cl
new file mode 100644
index 00000000..6a2a97ea
--- /dev/null
+++ b/samples/Common Lisp/motor-inferencia.cl
@@ -0,0 +1,475 @@
+#|
+ESCUELA POLITECNICA SUPERIOR - UNIVERSIDAD AUTONOMA DE MADRID
+INTELIGENCIA ARTIFICIAL
+
+Motor de inferencia
+Basado en parte en "Paradigms of AI Programming: Case Studies
+in Common Lisp", de Peter Norvig, 1992
+|#
+
+
+;;;;;;;;;;;;;;;;;;;;;
+;;;; Global variables
+;;;;;;;;;;;;;;;;;;;;;
+
+
+(defvar *hypothesis-list*)
+(defvar *rule-list*)
+(defvar *fact-list*)
+
+;;;;;;;;;;;;;;;;;;;;;
+;;;; Constants
+;;;;;;;;;;;;;;;;;;;;;
+
+(defconstant +fail+ nil "Indicates unification failure")
+
+(defconstant +no-bindings+ '((nil))
+ "Indicates unification success, with no variables.")
+
+(defconstant *mundo-abierto* nil)
+
+
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;; Functions for the user
+;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+
+;; Resets *fact-list* to NIL
+(defun erase-facts () (setq *fact-list* nil))
+
+(defun set-hypothesis-list (h) (setq *hypothesis-list* h))
+
+
+;; Returns a list of solutions, each one satisfying all the hypothesis contained
+;; in *hypothesis-list*
+(defun motor-inferencia ()
+ (consulta *hypothesis-list*))
+
+
+
+;;;;;;;;;;;;;;;;;;;;;;;;
+;;;; Auxiliary functions
+;;;;;;;;;;;;;;;;;;;;;;;;
+
+#|____________________________________________________________________________
+FUNCTION: CONSULTA
+
+COMMENTS:
+CONSULTA receives a list of hypothesis (variable ), and returns
+a list of binding lists (each binding list being a solution).
+
+EXAMPLES:
+hypotheses is:
+((brothers ?x ?y) (neighbours juan ?x)).
+
+That is, we are searching the brothers of the possible neighbors of Juan.
+
+The function can return in this case:
+
+(((?x . sergio) (?y . javier)) ((?x . julian) (?y . mario)) ((?x . julian) (?y . pedro))).
+That is, the neighbors of Juan (Sergio and Julian) have 3 brothers in total(Javier, Mario, Pedro)
+____________________________________________________________________________|#
+
+(defun consulta (hypotheses)
+ (if (null hypotheses) (list +no-bindings+)
+ (mapcan #'(lambda (b)
+ (mapcar #'(lambda (x) (une-bindings-con-bindings b x))
+ (consulta (subst-bindings b (rest hypotheses)))))
+ (find-hypothesis-value (first hypotheses)))))
+
+
+
+#|____________________________________________________________________________
+FUNCTION: FIND-HYPOTHESIS-VALUE
+
+COMMENTS:
+This function manages the query a single query (only one hypothesis) given a binding list.
+It tries (in the following order) to:
+- Answer the query from *fact-list*
+- Answer the query from the rules in *rule-list*
+- Ask the user
+
+The function returns a list of solutions (list of binding lists).
+
+EXAMPLES:
+If hypothesis is (brothers ?x ?y)
+and the function returns:
+(((?x . sergio) (?y . javier)) ((?x . julian) (?y . maria)) ((?x . alberto) (?y . pedro))).
+
+Means that Sergio and Javier and brothers, Julian and Mario are brothers, and Alberto and Pedro are brothers.
+____________________________________________________________________________|#
+
+(defun find-hypothesis-value (hypothesis)
+ (let (rules)
+ (cond
+ ((equality? hypothesis)
+ (value-from-equality hypothesis))
+ ((value-from-facts hypothesis))
+ ((setq good-rules (find-rules hypothesis))
+ (value-from-rules hypothesis good-rules))
+ (t (ask-user hypothesis)))))
+
+
+
+; une-bindings-con-bindings takes two binding lists and returns a binding list
+; Assumes that b1 and b2 are not +fail+
+(defun une-bindings-con-bindings (b1 b2)
+ (cond
+ ((equal b1 +no-bindings+) b2)
+ ((equal b2 +no-bindings+) b1)
+ (T (append b1 b2))))
+
+
+
+#|____________________________________________________________________________
+FUNCTION: VALUE-FROM-FACTS
+
+COMMENTS:
+Returns all the solutions of obtained directly from *fact-list*
+
+EXAMPLES:
+> (setf *fact-list* '((man luis) (man pedro)(woman mart)(man daniel)(woman laura)))
+
+> (value-from-facts '(man ?x))
+returns:
+
+(((?X . LUIS)) ((?X . PEDRO)) ((?X . DANIEL)))
+____________________________________________________________________________|#
+
+(defun value-from-facts (hypothesis)
+ (mapcan #'(lambda(x) (let ((aux (unify hypothesis x)))
+ (when aux (list aux)))) *fact-list*))
+
+
+
+
+#|____________________________________________________________________________
+FUNCTION: FIND-RULES
+
+COMMENTS:
+Returns the rules in *rule-list* whose THENs unify with the term given in
+The variables in the rules that satisfy this requirement are renamed.
+
+EXAMPLES:
+> (setq *rule-list*
+ '((R1 (pertenece ?E (?E . ?_)))
+ (R2 (pertenece ?E (?_ . ?Xs)) :- ((pertenece ?E ?Xs)))))
+
+Then:
+> (FIND-RULES (PERTENECE 1 (2 5)))
+returns:
+((R2 (PERTENECE ?E.1 (?_ . ?XS.2)) :- ((PERTENECE ?E.1 ?XS.2))))
+That is, only the THEN of rule R2 unify with
+
+However,
+> (FIND-RULES (PERTENECE 1 (1 6 7)))
+
+returns:
+((R1 (PERTENECE ?E.6 (?E.6 . ?_)))
+ (R2 (PERTENECE ?E.7 (?_ . ?XS.8)) :- ((PERTENECE ?E.7 ?XS.8))))
+So the THEN of both rules unify with
+____________________________________________________________________________|#
+
+(defun find-rules (hypothesis)
+ (mapcan #'(lambda(b) (let ((renamed-rule (rename-variables b)))
+ (when (in-then? hypothesis renamed-rule)
+ (list renamed-rule)))) *rule-list*))
+
+(defun in-then? (hypothesis rule)
+ (unless (null (rule-then rule))
+ (not (equal +fail+ (unify hypothesis (rule-then rule))))))
+
+
+
+#|____________________________________________________________________________
+FUNCTION: VALUE-FROM-RULES
+
+COMMENTS:
+Returns all the solutions to found using all the rules given in
+the list . Note that a single rule can have multiple solutions.
+____________________________________________________________________________|#
+(defun value-from-rules (hypothesis rules)
+ (mapcan #'(lambda (r) (eval-rule hypothesis r)) rules))
+
+(defun limpia-vinculos (termino bindings)
+ (unify termino (subst-bindings bindings termino)))
+
+
+#|____________________________________________________________________________
+FUNCTION: EVAL-RULE
+
+COMMENTS:
+Returns all the solutions found using the rule given as input argument.
+
+EXAMPLES:
+> (setq *rule-list*
+ '((R1 (pertenece ?E (?E . ?_)))
+ (R2 (pertenece ?E (?_ . ?Xs)) :- ((pertenece ?E ?Xs)))))
+Then:
+> (EVAL-RULE
+ (PERTENECE 1 (1 6 7))
+ (R1 (PERTENECE ?E.42 (?E.42 . ?_))))
+returns:
+(((NIL)))
+That is, the query (PERTENECE 1 (1 6 7)) can be proven from the given rule, and
+no binding in the variables in the query is necessary (in fact, the query has no variables).
+On the other hand:
+> (EVAL-RULE
+ (PERTENECE 1 (7))
+ (R2 (PERTENECE ?E.49 (?_ . ?XS.50)) :- ((PERTENECE ?E.49 ?XS.50))))
+returns:
+NIL
+That is, the query can not be proven from the rule R2.
+____________________________________________________________________________|#
+
+(defun eval-rule (hypothesis rule)
+ (let ((bindings-then
+ (unify (rule-then rule) hypothesis)))
+ (unless (equal +fail+ bindings-then)
+ (if (rule-ifs rule)
+ (mapcar #'(lambda(b) (limpia-vinculos hypothesis (append bindings-then b)))
+ (consulta (subst-bindings bindings-then (rule-ifs rule))))
+ (list (limpia-vinculos hypothesis bindings-then))))))
+
+
+(defun ask-user (hypothesis)
+ (let ((question hypothesis))
+ (cond
+ ((variables-in question) +fail+)
+ ((not-in-fact-list? question) +fail+)
+ (*mundo-abierto*
+ (format t "~%Es cierto el hecho ~S? (T/nil)" question)
+ (cond
+ ((read) (add-fact question) +no-bindings+)
+ (T (add-fact (list 'NOT question)) +fail+)))
+ (T +fail+))))
+
+
+; value-from-equality:
+(defun value-from-equality (hypothesis)
+ (let ((new-bindings (unify (second hypothesis) (third hypothesis))))
+ (if (not (equal +fail+ new-bindings))
+ (list new-bindings))))
+
+
+
+#|____________________________________________________________________________
+FUNCTION: UNIFY
+
+COMMENTS:
+Finds the most general unifier of two input expressions, taking into account the
+bindings specified in the input
+In case the two expressions can unify, the function returns the total bindings necessary
+for that unification. Otherwise, returns +fail+
+
+EXAMPLES:
+> (unify '1 '1)
+((NIL)) ;; which is the constant +no-bindings+
+> (unify 1 '2)
+nil ;; which is the constant +fail+
+> (unify '?x 1)
+((?x . 1))
+> (unify '(1 1) ?x)
+((? x 1 1))
+> (unify '?_ '?x)
+((NIL))
+> (unify '(p ?x 1 2) '(p ?y ?_ ?_))
+((?x . ?y))
+> (unify '(?a . ?_) '(1 2 3))
+((?a . 1))
+> (unify '(?_ ?_) '(1 2))
+((nil))
+> (unify '(?a . ?b) '(1 2 3))
+((?b 2 3) (?a . 1))
+> (unify '(?a . ?b) '(?v . ?d))
+((?b . ?d) (?a . ?v))
+> (unify '(?eval (+ 1 1)) '1)
+nil
+> (unify '(?eval (+ 1 1)) '2)
+(nil))
+____________________________________________________________________________|#
+
+(defun unify (x y &optional (bindings +no-bindings+))
+ "See if x and y match with given bindings. If they do,
+ return a binding list that would make them equal [p 303]."
+ (cond ((eq bindings +fail+) +fail+)
+ ((eql x y) bindings)
+ ((eval? x) (unify-eval x y bindings))
+ ((eval? y) (unify-eval y x bindings))
+ ((variable? x) (unify-var x y bindings))
+ ((variable? y) (unify-var y x bindings))
+ ((and (consp x) (consp y))
+ (unify (rest x) (rest y)
+ (unify (first x) (first y) bindings)))
+ (t +fail+)))
+
+
+;; rename-variables: renombra ?X por ?X.1, ?Y por ?Y.2 etc. salvo ?_ que no se renombra
+(defun rename-variables (x)
+ "Replace all variables in x with new ones. Excepto ?_"
+ (sublis (mapcar #'(lambda (var)
+ (if (anonymous-var? var)
+ (make-binding var var)
+ (make-binding var (new-variable var))))
+ (variables-in x))
+ x))
+
+
+
+;;;; Auxiliary Functions
+
+(defun unify-var (var x bindings)
+ "Unify var with x, using (and maybe extending) bindings [p 303]."
+ (cond ((or (anonymous-var? var)(anonymous-var? x)) bindings)
+ ((get-binding var bindings)
+ (unify (lookup var bindings) x bindings))
+ ((and (variable? x) (get-binding x bindings))
+ (unify var (lookup x bindings) bindings))
+ ((occurs-in? var x bindings)
+ +fail+)
+ (t (extend-bindings var x bindings))))
+
+(defun variable? (x)
+ "Is x a variable (a symbol starting with ?)?"
+ (and (symbolp x) (eql (char (symbol-name x) 0) #\?)))
+
+(defun get-binding (var bindings)
+ "Find a (variable . value) pair in a binding list."
+ (assoc var bindings))
+
+(defun binding-var (binding)
+ "Get the variable part of a single binding."
+ (car binding))
+
+(defun binding-val (binding)
+ "Get the value part of a single binding."
+ (cdr binding))
+
+(defun make-binding (var val) (cons var val))
+
+(defun lookup (var bindings)
+ "Get the value part (for var) from a binding list."
+ (binding-val (get-binding var bindings)))
+
+(defun extend-bindings (var val bindings)
+ "Add a (var . value) pair to a binding list."
+ (append
+ (unless (eq bindings +no-bindings+) bindings)
+ (list (make-binding var val))))
+
+(defun occurs-in? (var x bindings)
+ "Does var occur anywhere inside x?"
+ (cond ((eq var x) t)
+ ((and (variable? x) (get-binding x bindings))
+ (occurs-in? var (lookup x bindings) bindings))
+ ((consp x) (or (occurs-in? var (first x) bindings)
+ (occurs-in? var (rest x) bindings)))
+ (t nil)))
+
+(defun subst-bindings (bindings x)
+ "Substitute the value of variables in bindings into x,
+ taking recursively bound variables into account."
+ (cond ((eq bindings +fail+) +fail+)
+ ((eq bindings +no-bindings+) x)
+ ((and (listp x) (eq '?eval (car x)))
+ (subst-bindings-quote bindings x))
+ ((and (variable? x) (get-binding x bindings))
+ (subst-bindings bindings (lookup x bindings)))
+ ((atom x) x)
+ (t (cons (subst-bindings bindings (car x)) ;; s/reuse-cons/cons
+ (subst-bindings bindings (cdr x))))))
+
+(defun unifier (x y)
+ "Return something that unifies with both x and y (or fail)."
+ (subst-bindings (unify x y) x))
+
+(defun variables-in (exp)
+ "Return a list of all the variables in EXP."
+ (unique-find-anywhere-if #'variable? exp))
+
+(defun unique-find-anywhere-if (predicate tree &optional found-so-far)
+ "Return a list of leaves of tree satisfying predicate,
+ with duplicates removed."
+ (if (atom tree)
+ (if (funcall predicate tree)
+ (pushnew tree found-so-far)
+ found-so-far)
+ (unique-find-anywhere-if
+ predicate
+ (first tree)
+ (unique-find-anywhere-if predicate (rest tree)
+ found-so-far))))
+
+(defun find-anywhere-if (predicate tree)
+ "Does predicate apply to any atom in the tree?"
+ (if (atom tree)
+ (funcall predicate tree)
+ (or (find-anywhere-if predicate (first tree))
+ (find-anywhere-if predicate (rest tree)))))
+
+(defun new-variable (var)
+ "Create a new variable. Assumes user never types variables of form ?X.9"
+ (gentemp (format nil "~S." var)))
+; (gentemp "?") )
+;;;
+
+(defun anonymous-var? (x)
+ (eq x '?_))
+
+(defun subst-bindings-quote (bindings x)
+ "Substitute the value of variables in bindings into x,
+ taking recursively bound variables into account."
+ (cond ((eq bindings +fail+) +fail+)
+ ((eq bindings +no-bindings+) x)
+ ((and (variable? x) (get-binding x bindings))
+ (if (variable? (lookup x bindings))
+ (subst-bindings-quote bindings (lookup x bindings))
+ (subst-bindings-quote bindings (list 'quote (lookup x bindings)))
+ )
+ )
+ ((atom x) x)
+ (t (cons (subst-bindings-quote bindings (car x)) ;; s/reuse-cons/cons
+ (subst-bindings-quote bindings (cdr x))))))
+
+(defun eval? (x)
+ (and (consp x) (eq (first x) '?eval)))
+
+(defun unify-eval (x y bindings)
+ (let ((exp (subst-bindings-quote bindings (second x))))
+ (if (variables-in exp)
+ +fail+
+ (unify (eval exp) y bindings))))
+
+
+
+(defun rule-ifs (rule) (fourth rule))
+(defun rule-then (rule) (second rule))
+
+
+(defun equality? (term)
+ (and (consp term) (eql (first term) '?=)))
+
+
+(defun in-fact-list? (expresion)
+ (some #'(lambda(x) (equal x expresion)) *fact-list*))
+
+(defun not-in-fact-list? (expresion)
+ (if (eq (car expresion) 'NOT)
+ (in-fact-list? (second expresion))
+ (in-fact-list? (list 'NOT expresion))))
+
+
+;; add-fact:
+
+(defun add-fact (fact)
+ (setq *fact-list* (cons fact *fact-list*)))
+
+
+(defun variable? (x)
+ "Is x a variable (a symbol starting with ?) except ?eval and ?="
+ (and (not (equal x '?eval)) (not (equal x '?=))
+ (symbolp x) (eql (char (symbol-name x) 0) #\?)))
+
+
+;; EOF
\ No newline at end of file
diff --git a/samples/Crystal/const_spec.cr b/samples/Crystal/const_spec.cr
new file mode 100644
index 00000000..3ab20f14
--- /dev/null
+++ b/samples/Crystal/const_spec.cr
@@ -0,0 +1,169 @@
+#!/usr/bin/env bin/crystal --run
+require "../../spec_helper"
+
+describe "Codegen: const" do
+ it "define a constant" do
+ run("A = 1; A").to_i.should eq(1)
+ end
+
+ it "support nested constant" do
+ run("class B; A = 1; end; B::A").to_i.should eq(1)
+ end
+
+ it "support constant inside a def" do
+ run("
+ class Foo
+ A = 1
+
+ def foo
+ A
+ end
+ end
+
+ Foo.new.foo
+ ").to_i.should eq(1)
+ end
+
+ it "finds nearest constant first" do
+ run("
+ A = 1
+
+ class Foo
+ A = 2.5_f32
+
+ def foo
+ A
+ end
+ end
+
+ Foo.new.foo
+ ").to_f32.should eq(2.5)
+ end
+
+ it "allows constants with same name" do
+ run("
+ A = 1
+
+ class Foo
+ A = 2.5_f32
+
+ def foo
+ A
+ end
+ end
+
+ A
+ Foo.new.foo
+ ").to_f32.should eq(2.5)
+ end
+
+ it "constants with expression" do
+ run("
+ A = 1 + 1
+ A
+ ").to_i.should eq(2)
+ end
+
+ it "finds global constant" do
+ run("
+ A = 1
+
+ class Foo
+ def foo
+ A
+ end
+ end
+
+ Foo.new.foo
+ ").to_i.should eq(1)
+ end
+
+ it "define a constant in lib" do
+ run("lib Foo; A = 1; end; Foo::A").to_i.should eq(1)
+ end
+
+ it "invokes block in const" do
+ run("require \"prelude\"; A = [\"1\"].map { |x| x.to_i }; A[0]").to_i.should eq(1)
+ end
+
+ it "declare constants in right order" do
+ run("A = 1 + 1; B = true ? A : 0; B").to_i.should eq(2)
+ end
+
+ it "uses correct types lookup" do
+ run("
+ module A
+ class B
+ def foo
+ 1
+ end
+ end
+
+ C = B.new;
+ end
+
+ def foo
+ A::C.foo
+ end
+
+ foo
+ ").to_i.should eq(1)
+ end
+
+ it "codegens variable assignment in const" do
+ run("
+ class Foo
+ def initialize(@x)
+ end
+
+ def x
+ @x
+ end
+ end
+
+ A = begin
+ f = Foo.new(1)
+ f
+ end
+
+ def foo
+ A.x
+ end
+
+ foo
+ ").to_i.should eq(1)
+ end
+
+ it "declaring var" do
+ run("
+ BAR = begin
+ a = 1
+ while 1 == 2
+ b = 2
+ end
+ a
+ end
+ class Foo
+ def compile
+ BAR
+ end
+ end
+
+ Foo.new.compile
+ ").to_i.should eq(1)
+ end
+
+ it "initialize const that might raise an exception" do
+ run("
+ require \"prelude\"
+ CONST = (raise \"OH NO\" if 1 == 2)
+
+ def doit
+ CONST
+ rescue
+ end
+
+ doit.nil?
+ ").to_b.should be_true
+ end
+end
diff --git a/samples/Crystal/declare_var_spec.cr b/samples/Crystal/declare_var_spec.cr
new file mode 100644
index 00000000..c6a44127
--- /dev/null
+++ b/samples/Crystal/declare_var_spec.cr
@@ -0,0 +1,79 @@
+#!/usr/bin/env bin/crystal --run
+require "../../spec_helper"
+
+describe "Type inference: declare var" do
+ it "types declare var" do
+ assert_type("a :: Int32") { int32 }
+ end
+
+ it "types declare var and reads it" do
+ assert_type("a :: Int32; a") { int32 }
+ end
+
+ it "types declare var and changes its type" do
+ assert_type("a :: Int32; while 1 == 2; a = 'a'; end; a") { union_of(int32, char) }
+ end
+
+ it "declares instance var which appears in initialize" do
+ result = assert_type("
+ class Foo
+ @x :: Int32
+ end
+
+ Foo.new") { types["Foo"] }
+
+ mod = result.program
+
+ foo = mod.types["Foo"] as NonGenericClassType
+ foo.instance_vars["@x"].type.should eq(mod.int32)
+ end
+
+ it "declares instance var of generic class" do
+ result = assert_type("
+ class Foo(T)
+ @x :: T
+ end
+
+ Foo(Int32).new") do
+ foo = types["Foo"] as GenericClassType
+ foo_i32 = foo.instantiate([int32] of Type | ASTNode)
+ foo_i32.lookup_instance_var("@x").type.should eq(int32)
+ foo_i32
+ end
+ end
+
+ it "declares instance var of generic class after reopen" do
+ result = assert_type("
+ class Foo(T)
+ end
+
+ f = Foo(Int32).new
+
+ class Foo(T)
+ @x :: T
+ end
+
+ f") do
+ foo = types["Foo"] as GenericClassType
+ foo_i32 = foo.instantiate([int32] of Type | ASTNode)
+ foo_i32.lookup_instance_var("@x").type.should eq(int32)
+ foo_i32
+ end
+ end
+
+ it "declares an instance variable in initialize" do
+ assert_type("
+ class Foo
+ def initialize
+ @x :: Int32
+ end
+
+ def x
+ @x
+ end
+ end
+
+ Foo.new.x
+ ") { int32 }
+ end
+end
diff --git a/samples/Crystal/transformer.cr b/samples/Crystal/transformer.cr
new file mode 100644
index 00000000..8bb78fbe
--- /dev/null
+++ b/samples/Crystal/transformer.cr
@@ -0,0 +1,515 @@
+module Crystal
+ class ASTNode
+ def transform(transformer)
+ transformer.before_transform self
+ node = transformer.transform self
+ transformer.after_transform self
+ node
+ end
+ end
+
+ class Transformer
+ def before_transform(node)
+ end
+
+ def after_transform(node)
+ end
+
+ def transform(node : Expressions)
+ exps = [] of ASTNode
+ node.expressions.each do |exp|
+ new_exp = exp.transform(self)
+ if new_exp
+ if new_exp.is_a?(Expressions)
+ exps.concat new_exp.expressions
+ else
+ exps << new_exp
+ end
+ end
+ end
+
+ if exps.length == 1
+ exps[0]
+ else
+ node.expressions = exps
+ node
+ end
+ end
+
+ def transform(node : Call)
+ if node_obj = node.obj
+ node.obj = node_obj.transform(self)
+ end
+ transform_many node.args
+
+ if node_block = node.block
+ node.block = node_block.transform(self)
+ end
+
+ if node_block_arg = node.block_arg
+ node.block_arg = node_block_arg.transform(self)
+ end
+
+ node
+ end
+
+ def transform(node : And)
+ node.left = node.left.transform(self)
+ node.right = node.right.transform(self)
+ node
+ end
+
+ def transform(node : Or)
+ node.left = node.left.transform(self)
+ node.right = node.right.transform(self)
+ node
+ end
+
+ def transform(node : StringInterpolation)
+ transform_many node.expressions
+ node
+ end
+
+ def transform(node : ArrayLiteral)
+ transform_many node.elements
+
+ if node_of = node.of
+ node.of = node_of.transform(self)
+ end
+
+ node
+ end
+
+ def transform(node : HashLiteral)
+ transform_many node.keys
+ transform_many node.values
+
+ if of_key = node.of_key
+ node.of_key = of_key.transform(self)
+ end
+
+ if of_value = node.of_value
+ node.of_value = of_value.transform(self)
+ end
+
+ node
+ end
+
+ def transform(node : If)
+ node.cond = node.cond.transform(self)
+ node.then = node.then.transform(self)
+ node.else = node.else.transform(self)
+ node
+ end
+
+ def transform(node : Unless)
+ node.cond = node.cond.transform(self)
+ node.then = node.then.transform(self)
+ node.else = node.else.transform(self)
+ node
+ end
+
+ def transform(node : IfDef)
+ node.cond = node.cond.transform(self)
+ node.then = node.then.transform(self)
+ node.else = node.else.transform(self)
+ node
+ end
+
+ def transform(node : MultiAssign)
+ transform_many node.targets
+ transform_many node.values
+ node
+ end
+
+ def transform(node : SimpleOr)
+ node.left = node.left.transform(self)
+ node.right = node.right.transform(self)
+ node
+ end
+
+ def transform(node : Def)
+ transform_many node.args
+ node.body = node.body.transform(self)
+
+ if receiver = node.receiver
+ node.receiver = receiver.transform(self)
+ end
+
+ if block_arg = node.block_arg
+ node.block_arg = block_arg.transform(self)
+ end
+
+ node
+ end
+
+ def transform(node : Macro)
+ transform_many node.args
+ node.body = node.body.transform(self)
+
+ if receiver = node.receiver
+ node.receiver = receiver.transform(self)
+ end
+
+ if block_arg = node.block_arg
+ node.block_arg = block_arg.transform(self)
+ end
+
+ node
+ end
+
+ def transform(node : PointerOf)
+ node.exp = node.exp.transform(self)
+ node
+ end
+
+ def transform(node : SizeOf)
+ node.exp = node.exp.transform(self)
+ node
+ end
+
+ def transform(node : InstanceSizeOf)
+ node.exp = node.exp.transform(self)
+ node
+ end
+
+ def transform(node : IsA)
+ node.obj = node.obj.transform(self)
+ node.const = node.const.transform(self)
+ node
+ end
+
+ def transform(node : RespondsTo)
+ node.obj = node.obj.transform(self)
+ node
+ end
+
+ def transform(node : Case)
+ node.cond = node.cond.transform(self)
+ transform_many node.whens
+
+ if node_else = node.else
+ node.else = node_else.transform(self)
+ end
+
+ node
+ end
+
+ def transform(node : When)
+ transform_many node.conds
+ node.body = node.body.transform(self)
+ node
+ end
+
+ def transform(node : ImplicitObj)
+ node
+ end
+
+ def transform(node : ClassDef)
+ node.body = node.body.transform(self)
+
+ if superclass = node.superclass
+ node.superclass = superclass.transform(self)
+ end
+
+ node
+ end
+
+ def transform(node : ModuleDef)
+ node.body = node.body.transform(self)
+ node
+ end
+
+ def transform(node : While)
+ node.cond = node.cond.transform(self)
+ node.body = node.body.transform(self)
+ node
+ end
+
+ def transform(node : Generic)
+ node.name = node.name.transform(self)
+ transform_many node.type_vars
+ node
+ end
+
+ def transform(node : ExceptionHandler)
+ node.body = node.body.transform(self)
+ transform_many node.rescues
+
+ if node_ensure = node.ensure
+ node.ensure = node_ensure.transform(self)
+ end
+
+ node
+ end
+
+ def transform(node : Rescue)
+ node.body = node.body.transform(self)
+ transform_many node.types
+ node
+ end
+
+ def transform(node : Union)
+ transform_many node.types
+ node
+ end
+
+ def transform(node : Hierarchy)
+ node.name = node.name.transform(self)
+ node
+ end
+
+ def transform(node : Metaclass)
+ node.name = node.name.transform(self)
+ node
+ end
+
+ def transform(node : Arg)
+ if default_value = node.default_value
+ node.default_value = default_value.transform(self)
+ end
+
+ if restriction = node.restriction
+ node.restriction = restriction.transform(self)
+ end
+
+ node
+ end
+
+ def transform(node : BlockArg)
+ node.fun = node.fun.transform(self)
+ node
+ end
+
+ def transform(node : Fun)
+ transform_many node.inputs
+
+ if output = node.output
+ node.output = output.transform(self)
+ end
+
+ node
+ end
+
+ def transform(node : Block)
+ node.args.map! { |exp| exp.transform(self) as Var }
+ node.body = node.body.transform(self)
+ node
+ end
+
+ def transform(node : FunLiteral)
+ node.def.body = node.def.body.transform(self)
+ node
+ end
+
+ def transform(node : FunPointer)
+ if obj = node.obj
+ node.obj = obj.transform(self)
+ end
+ node
+ end
+
+ def transform(node : Return)
+ transform_many node.exps
+ node
+ end
+
+ def transform(node : Break)
+ transform_many node.exps
+ node
+ end
+
+ def transform(node : Next)
+ transform_many node.exps
+ node
+ end
+
+ def transform(node : Yield)
+ if scope = node.scope
+ node.scope = scope.transform(self)
+ end
+ transform_many node.exps
+ node
+ end
+
+ def transform(node : Include)
+ node.name = node.name.transform(self)
+ node
+ end
+
+ def transform(node : Extend)
+ node.name = node.name.transform(self)
+ node
+ end
+
+ def transform(node : RangeLiteral)
+ node.from = node.from.transform(self)
+ node.to = node.to.transform(self)
+ node
+ end
+
+ def transform(node : Assign)
+ node.target = node.target.transform(self)
+ node.value = node.value.transform(self)
+ node
+ end
+
+ def transform(node : Nop)
+ node
+ end
+
+ def transform(node : NilLiteral)
+ node
+ end
+
+ def transform(node : BoolLiteral)
+ node
+ end
+
+ def transform(node : NumberLiteral)
+ node
+ end
+
+ def transform(node : CharLiteral)
+ node
+ end
+
+ def transform(node : StringLiteral)
+ node
+ end
+
+ def transform(node : SymbolLiteral)
+ node
+ end
+
+ def transform(node : RegexLiteral)
+ node
+ end
+
+ def transform(node : Var)
+ node
+ end
+
+ def transform(node : MetaVar)
+ node
+ end
+
+ def transform(node : InstanceVar)
+ node
+ end
+
+ def transform(node : ClassVar)
+ node
+ end
+
+ def transform(node : Global)
+ node
+ end
+
+ def transform(node : Require)
+ node
+ end
+
+ def transform(node : Path)
+ node
+ end
+
+ def transform(node : Self)
+ node
+ end
+
+ def transform(node : LibDef)
+ node.body = node.body.transform(self)
+ node
+ end
+
+ def transform(node : FunDef)
+ if body = node.body
+ node.body = body.transform(self)
+ end
+ node
+ end
+
+ def transform(node : TypeDef)
+ node
+ end
+
+ def transform(node : StructDef)
+ node
+ end
+
+ def transform(node : UnionDef)
+ node
+ end
+
+ def transform(node : EnumDef)
+ node
+ end
+
+ def transform(node : ExternalVar)
+ node
+ end
+
+ def transform(node : IndirectRead)
+ node.obj = node.obj.transform(self)
+ node
+ end
+
+ def transform(node : IndirectWrite)
+ node.obj = node.obj.transform(self)
+ node.value = node.value.transform(self)
+ node
+ end
+
+ def transform(node : TypeOf)
+ transform_many node.expressions
+ node
+ end
+
+ def transform(node : Primitive)
+ node
+ end
+
+ def transform(node : Not)
+ node
+ end
+
+ def transform(node : TypeFilteredNode)
+ node
+ end
+
+ def transform(node : TupleLiteral)
+ transform_many node.exps
+ node
+ end
+
+ def transform(node : Cast)
+ node.obj = node.obj.transform(self)
+ node.to = node.to.transform(self)
+ node
+ end
+
+ def transform(node : DeclareVar)
+ node.var = node.var.transform(self)
+ node.declared_type = node.declared_type.transform(self)
+ node
+ end
+
+ def transform(node : Alias)
+ node.value = node.value.transform(self)
+ node
+ end
+
+ def transform(node : TupleIndexer)
+ node
+ end
+
+ def transform(node : Attribute)
+ node
+ end
+
+ def transform_many(exps)
+ exps.map! { |exp| exp.transform(self) } if exps
+ end
+ end
+end
diff --git a/samples/Dogescript/example.djs b/samples/Dogescript/example.djs
new file mode 100644
index 00000000..6903cc5a
--- /dev/null
+++ b/samples/Dogescript/example.djs
@@ -0,0 +1,16 @@
+quiet
+ wow
+ such language
+ very syntax
+ github recognized wow
+loud
+
+such language much friendly
+ rly friendly is true
+ plz console.loge with 'such friend, very inclusive'
+ but
+ plz console.loge with 'no love for doge'
+ wow
+wow
+
+module.exports is language
\ No newline at end of file
diff --git a/samples/E/Extends.E b/samples/E/Extends.E
new file mode 100644
index 00000000..002a9105
--- /dev/null
+++ b/samples/E/Extends.E
@@ -0,0 +1,31 @@
+# from
+# http://wiki.erights.org/wiki/Walnut/Ordinary_Programming/Objects_and_Functions
+def makeVehicle(self) {
+ def vehicle {
+ to milesTillEmpty() {
+ return self.milesPerGallon() * self.getFuelRemaining()
+ }
+ }
+ return vehicle
+}
+
+def makeCar() {
+ var fuelRemaining := 20
+ def car extends makeVehicle(car) {
+ to milesPerGallon() {return 19}
+ to getFuelRemaining() {return fuelRemaining}
+ }
+ return car
+}
+
+def makeJet() {
+ var fuelRemaining := 2000
+ def jet extends makeVehicle(jet) {
+ to milesPerGallon() {return 2}
+ to getFuelRemaining() {return fuelRemaining}
+ }
+ return jet
+}
+
+def car := makeCar()
+println(`The car can go ${car.milesTillEmpty()} miles.`)
diff --git a/samples/E/Functions.E b/samples/E/Functions.E
new file mode 100644
index 00000000..086e4f7a
--- /dev/null
+++ b/samples/E/Functions.E
@@ -0,0 +1,21 @@
+# from
+# http://wiki.erights.org/wiki/Walnut/Ordinary_Programming/Objects_and_Functions
+def makeCar(var name) {
+ var x := 0
+ var y := 0
+ def car {
+ to moveTo(newX,newY) {
+ x := newX
+ y := newY
+ }
+ to getX() {return x}
+ to getY() {return y}
+ to setName(newName) {name := newName}
+ to getName() {return name}
+ }
+ return car
+}
+# Now use the makeCar function to make a car, which we will move and print
+def sportsCar := makeCar("Ferrari")
+sportsCar.moveTo(10,20)
+println(`The car ${sportsCar.getName()} is at X location ${sportsCar.getX()}`)
diff --git a/samples/E/Guards.E b/samples/E/Guards.E
new file mode 100644
index 00000000..e3e841ae
--- /dev/null
+++ b/samples/E/Guards.E
@@ -0,0 +1,69 @@
+# from
+# http://wiki.erights.org/wiki/Walnut/Advanced_Topics/Build_your_Own_Guards
+def makeVOCPair(brandName :String) :near {
+
+ var myTempContents := def none {}
+
+ def brand {
+ to __printOn(out :TextWriter) :void {
+ out.print(brandName)
+ }
+ }
+
+ def ProveAuth {
+ to __printOn(out :TextWriter) :void {
+ out.print(`<$brandName prover>`)
+ }
+ to getBrand() :near { return brand }
+ to coerce(specimen, optEjector) :near {
+ def sealedBox {
+ to getBrand() :near { return brand }
+ to offerContent() :void {
+ myTempContents := specimen
+ }
+ }
+ return sealedBox
+ }
+ }
+ def CheckAuth {
+ to __printOn(out :TextWriter) :void {
+ out.print(`<$brandName checker template>`)
+ }
+ to getBrand() :near { return brand }
+ match [`get`, authList :any[]] {
+ def checker {
+ to __printOn(out :TextWriter) :void {
+ out.print(`<$brandName checker>`)
+ }
+ to getBrand() :near { return brand }
+ to coerce(specimenBox, optEjector) :any {
+ myTempContents := null
+ if (specimenBox.__respondsTo("offerContent", 0)) {
+ # XXX Using __respondsTo/2 here is a kludge
+ specimenBox.offerContent()
+ } else {
+ myTempContents := specimenBox
+ }
+ for auth in authList {
+ if (auth == myTempContents) {
+ return auth
+ }
+ }
+ myTempContents := none
+ throw.eject(optEjector,
+ `Unmatched $brandName authorization`)
+ }
+ }
+ }
+ match [`__respondsTo`, [`get`, _]] {
+ true
+ }
+ match [`__respondsTo`, [_, _]] {
+ false
+ }
+ match [`__getAllegedType`, []] {
+ null.__getAllegedType()
+ }
+ }
+ return [ProveAuth, CheckAuth]
+}
diff --git a/samples/E/IO.E b/samples/E/IO.E
new file mode 100644
index 00000000..e96e41ad
--- /dev/null
+++ b/samples/E/IO.E
@@ -0,0 +1,14 @@
+# E sample from
+# http://wiki.erights.org/wiki/Walnut/Ordinary_Programming/InputOutput
+#File objects for hardwired files:
+def file1 :=
+def file2 :=
+
+#Using a variable for a file name:
+def filePath := "c:\\docs\\myFile.txt"
+def file3 := [filePath]
+
+#Using a single character to specify a Windows drive
+def file4 :=
+def file5 :=
+def file6 :=
diff --git a/samples/E/Promises.E b/samples/E/Promises.E
new file mode 100644
index 00000000..ae03c6ec
--- /dev/null
+++ b/samples/E/Promises.E
@@ -0,0 +1,9 @@
+# E snippet from
+# http://wiki.erights.org/wiki/Walnut/Distributed_Computing/Promises
+when (tempVow) -> {
+ #...use tempVow
+} catch prob {
+ #.... report problem
+} finally {
+ #....log event
+}
diff --git a/samples/E/minChat.E b/samples/E/minChat.E
new file mode 100644
index 00000000..b422a71e
--- /dev/null
+++ b/samples/E/minChat.E
@@ -0,0 +1,18 @@
+# from
+# http://wiki.erights.org/wiki/Walnut/Secure_Distributed_Computing/Auditing_minChat
+pragma.syntax("0.9")
+to send(message) {
+ when (friend<-receive(message)) -> {
+ chatUI.showMessage("self", message)
+ } catch prob {chatUI.showMessage("system", "connection lost")}
+}
+to receive(message) {chatUI.showMessage("friend", message)}
+to receiveFriend(friendRcvr) {
+ bind friend := friendRcvr
+ chatUI.showMessage("system", "friend has arrived")
+}
+to save(file) {file.setText(makeURIFromObject(chatController))}
+to load(file) {
+ bind friend := getObjectFromURI(file.getText())
+ friend <- receiveFriend(chatController)
+}
diff --git a/samples/Eagle/Eagle.brd b/samples/Eagle/Eagle.brd
new file mode 100644
index 00000000..27f3cbdd
--- /dev/null
+++ b/samples/Eagle/Eagle.brd
@@ -0,0 +1,1396 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<b>Resistors, Capacitors, Inductors</b><p>
+Based on the previous libraries:
+<ul>
+<li>r.lbr
+<li>cap.lbr
+<li>cap-fe.lbr
+<li>captant.lbr
+<li>polcap.lbr
+<li>ipc-smd.lbr
+</ul>
+All SMD packages are defined according to the IPC specifications and CECC<p>
+<author>Created by librarian@cadsoft.de</author><p>
+<p>
+for Electrolyt Capacitors see also :<p>
+www.bccomponents.com <p>
+www.panasonic.com<p>
+www.kemet.com<p>
+http://www.secc.co.jp/pdf/os_e/2004/e_os_all.pdf <b>(SANYO)</b>
+<p>
+for trimmer refence see : <u>www.electrospec-inc.com/cross_references/trimpotcrossref.asp</u><p>
+
+<table border=0 cellspacing=0 cellpadding=0 width="100%" cellpaddding=0>
+<tr valign="top">
+
+<! <td width="10"> </td>
+<td width="90%">
+
+<b><font color="#0000FF" size="4">TRIM-POT CROSS REFERENCE</font></b>
+<P>
+<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=2>
+ <TR>
+ <TD COLSPAN=8>
+ <FONT SIZE=3 FACE=ARIAL><B>RECTANGULAR MULTI-TURN</B></FONT>
+ </TD>
+ </TR>
+ <TR>
+ <TD ALIGN=CENTER>
+ <B>
+ <FONT SIZE=3 FACE=ARIAL color="#FF0000">BOURNS</FONT>
+ </B>
+ </TD>
+ <TD ALIGN=CENTER>
+ <B>
+ <FONT SIZE=3 FACE=ARIAL color="#FF0000">BI TECH</FONT>
+ </B>
+ </TD>
+ <TD ALIGN=CENTER>
+ <B>
+ <FONT SIZE=3 FACE=ARIAL color="#FF0000">DALE-VISHAY</FONT>
+ </B>
+ </TD>
+ <TD ALIGN=CENTER>
+ <B>
+ <FONT SIZE=3 FACE=ARIAL color="#FF0000">PHILIPS/MEPCO</FONT>
+ </B>
+ </TD>
+ <TD ALIGN=CENTER>
+ <B>
+ <FONT SIZE=3 FACE=ARIAL color="#FF0000">MURATA</FONT>
+ </B>
+ </TD>
+ <TD ALIGN=CENTER>
+ <B>
+ <FONT SIZE=3 FACE=ARIAL color="#FF0000">PANASONIC</FONT>
+ </B>
+ </TD>
+ <TD ALIGN=CENTER>
+ <B>
+ <FONT SIZE=3 FACE=ARIAL color="#FF0000">SPECTROL</FONT>
+ </B>
+ </TD>
+ <TD ALIGN=CENTER>
+ <B>
+ <FONT SIZE=3 FACE=ARIAL color="#FF0000">MILSPEC</FONT>
+ </B>
+ </TD><TD> </TD>
+ </TR>
+ <TR>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3 >
+ 3005P<BR>
+ 3006P<BR>
+ 3006W<BR>
+ 3006Y<BR>
+ 3009P<BR>
+ 3009W<BR>
+ 3009Y<BR>
+ 3057J<BR>
+ 3057L<BR>
+ 3057P<BR>
+ 3057Y<BR>
+ 3059J<BR>
+ 3059L<BR>
+ 3059P<BR>
+ 3059Y<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ -<BR>
+ 89P<BR>
+ 89W<BR>
+ 89X<BR>
+ 89PH<BR>
+ 76P<BR>
+ 89XH<BR>
+ 78SLT<BR>
+ 78L ALT<BR>
+ 56P ALT<BR>
+ 78P ALT<BR>
+ T8S<BR>
+ 78L<BR>
+ 56P<BR>
+ 78P<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ -<BR>
+ T18/784<BR>
+ 783<BR>
+ 781<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ 2199<BR>
+ 1697/1897<BR>
+ 1680/1880<BR>
+ 2187<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ -<BR>
+ 8035EKP/CT20/RJ-20P<BR>
+ -<BR>
+ RJ-20X<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ 1211L<BR>
+ 8012EKQ ALT<BR>
+ 8012EKR ALT<BR>
+ 1211P<BR>
+ 8012EKJ<BR>
+ 8012EKL<BR>
+ 8012EKQ<BR>
+ 8012EKR<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ -<BR>
+ 2101P<BR>
+ 2101W<BR>
+ 2101Y<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ 2102L<BR>
+ 2102S<BR>
+ 2102Y<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ -<BR>
+ EVMCOG<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ -<BR>
+ 43P<BR>
+ 43W<BR>
+ 43Y<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ 40L<BR>
+ 40P<BR>
+ 40Y<BR>
+ 70Y-T602<BR>
+ 70L<BR>
+ 70P<BR>
+ 70Y<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ RT/RTR12<BR>
+ RT/RTR12<BR>
+ RT/RTR12<BR>
+ -<BR>
+ RJ/RJR12<BR>
+ RJ/RJR12<BR>
+ RJ/RJR12<BR></FONT>
+ </TD>
+ </TR>
+ <TR>
+ <TD COLSPAN=8>
+ </TD>
+ </TR>
+ <TR>
+ <TD COLSPAN=8>
+ <FONT SIZE=4 FACE=ARIAL><B>SQUARE MULTI-TURN</B></FONT>
+ </TD>
+ </TR>
+ <TR>
+ <TD ALIGN=CENTER>
+ <FONT SIZE=3 FACE=ARIAL><B>BOURN</B></FONT>
+ </TD>
+ <TD ALIGN=CENTER>
+ <FONT SIZE=3 FACE=ARIAL><B>BI TECH</B></FONT>
+ </TD>
+ <TD ALIGN=CENTER>
+ <FONT SIZE=3 FACE=ARIAL><B>DALE-VISHAY</B></FONT>
+ </TD>
+ <TD ALIGN=CENTER>
+ <FONT SIZE=3 FACE=ARIAL><B>PHILIPS/MEPCO</B></FONT>
+ </TD>
+ <TD ALIGN=CENTER>
+ <FONT SIZE=3 FACE=ARIAL><B>MURATA</B></FONT>
+ </TD>
+ <TD ALIGN=CENTER>
+ <FONT SIZE=3 FACE=ARIAL><B>PANASONIC</B></FONT>
+ </TD>
+ <TD ALIGN=CENTER>
+ <FONT SIZE=3 FACE=ARIAL><B>SPECTROL</B></FONT>
+ </TD>
+ <TD ALIGN=CENTER>
+ <FONT SIZE=3 FACE=ARIAL><B>MILSPEC</B></FONT>
+ </TD>
+ </TR>
+ <TR>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ 3250L<BR>
+ 3250P<BR>
+ 3250W<BR>
+ 3250X<BR>
+ 3252P<BR>
+ 3252W<BR>
+ 3252X<BR>
+ 3260P<BR>
+ 3260W<BR>
+ 3260X<BR>
+ 3262P<BR>
+ 3262W<BR>
+ 3262X<BR>
+ 3266P<BR>
+ 3266W<BR>
+ 3266X<BR>
+ 3290H<BR>
+ 3290P<BR>
+ 3290W<BR>
+ 3292P<BR>
+ 3292W<BR>
+ 3292X<BR>
+ 3296P<BR>
+ 3296W<BR>
+ 3296X<BR>
+ 3296Y<BR>
+ 3296Z<BR>
+ 3299P<BR>
+ 3299W<BR>
+ 3299X<BR>
+ 3299Y<BR>
+ 3299Z<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ -<BR>
+ 66P ALT<BR>
+ 66W ALT<BR>
+ 66X ALT<BR>
+ 66P ALT<BR>
+ 66W ALT<BR>
+ 66X ALT<BR>
+ -<BR>
+ 64W ALT<BR>
+ -<BR>
+ 64P ALT<BR>
+ 64W ALT<BR>
+ 64X ALT<BR>
+ 64P<BR>
+ 64W<BR>
+ 64X<BR>
+ 66X ALT<BR>
+ 66P ALT<BR>
+ 66W ALT<BR>
+ 66P<BR>
+ 66W<BR>
+ 66X<BR>
+ 67P<BR>
+ 67W<BR>
+ 67X<BR>
+ 67Y<BR>
+ 67Z<BR>
+ 68P<BR>
+ 68W<BR>
+ 68X<BR>
+ 67Y ALT<BR>
+ 67Z ALT<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ 5050<BR>
+ 5091<BR>
+ 5080<BR>
+ 5087<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ T63YB<BR>
+ T63XB<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ 5887<BR>
+ 5891<BR>
+ 5880<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ T93Z<BR>
+ T93YA<BR>
+ T93XA<BR>
+ T93YB<BR>
+ T93XB<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ 8026EKP<BR>
+ 8026EKW<BR>
+ 8026EKM<BR>
+ 8026EKP<BR>
+ 8026EKB<BR>
+ 8026EKM<BR>
+ 1309X<BR>
+ 1309P<BR>
+ 1309W<BR>
+ 8024EKP<BR>
+ 8024EKW<BR>
+ 8024EKN<BR>
+ RJ-9P/CT9P<BR>
+ RJ-9W<BR>
+ RJ-9X<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ 3103P<BR>
+ 3103Y<BR>
+ 3103Z<BR>
+ 3103P<BR>
+ 3103Y<BR>
+ 3103Z<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ 3105P/3106P<BR>
+ 3105W/3106W<BR>
+ 3105X/3106X<BR>
+ 3105Y/3106Y<BR>
+ 3105Z/3105Z<BR>
+ 3102P<BR>
+ 3102W<BR>
+ 3102X<BR>
+ 3102Y<BR>
+ 3102Z<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ EVMCBG<BR>
+ EVMCCG<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ 55-1-X<BR>
+ 55-4-X<BR>
+ 55-3-X<BR>
+ 55-2-X<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ 50-2-X<BR>
+ 50-4-X<BR>
+ 50-3-X<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ 64P<BR>
+ 64W<BR>
+ 64X<BR>
+ 64Y<BR>
+ 64Z<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ RT/RTR22<BR>
+ RT/RTR22<BR>
+ RT/RTR22<BR>
+ RT/RTR22<BR>
+ RJ/RJR22<BR>
+ RJ/RJR22<BR>
+ RJ/RJR22<BR>
+ RT/RTR26<BR>
+ RT/RTR26<BR>
+ RT/RTR26<BR>
+ RJ/RJR26<BR>
+ RJ/RJR26<BR>
+ RJ/RJR26<BR>
+ RJ/RJR26<BR>
+ RJ/RJR26<BR>
+ RJ/RJR26<BR>
+ RT/RTR24<BR>
+ RT/RTR24<BR>
+ RT/RTR24<BR>
+ RJ/RJR24<BR>
+ RJ/RJR24<BR>
+ RJ/RJR24<BR>
+ RJ/RJR24<BR>
+ RJ/RJR24<BR>
+ RJ/RJR24<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR></FONT>
+ </TD>
+ </TR>
+ <TR>
+ <TD COLSPAN=8>
+ </TD>
+ </TR>
+ <TR>
+ <TD COLSPAN=8>
+ <FONT SIZE=4 FACE=ARIAL><B>SINGLE TURN</B></FONT>
+ </TD>
+ </TR>
+ <TR>
+ <TD ALIGN=CENTER>
+ <FONT SIZE=3 FACE=ARIAL><B>BOURN</B></FONT>
+ </TD>
+ <TD ALIGN=CENTER>
+ <FONT SIZE=3 FACE=ARIAL><B>BI TECH</B></FONT>
+ </TD>
+ <TD ALIGN=CENTER>
+ <FONT SIZE=3 FACE=ARIAL><B>DALE-VISHAY</B></FONT>
+ </TD>
+ <TD ALIGN=CENTER>
+ <FONT SIZE=3 FACE=ARIAL><B>PHILIPS/MEPCO</B></FONT>
+ </TD>
+ <TD ALIGN=CENTER>
+ <FONT SIZE=3 FACE=ARIAL><B>MURATA</B></FONT>
+ </TD>
+ <TD ALIGN=CENTER>
+ <FONT SIZE=3 FACE=ARIAL><B>PANASONIC</B></FONT>
+ </TD>
+ <TD ALIGN=CENTER>
+ <FONT SIZE=3 FACE=ARIAL><B>SPECTROL</B></FONT>
+ </TD>
+ <TD ALIGN=CENTER>
+ <FONT SIZE=3 FACE=ARIAL><B>MILSPEC</B></FONT>
+ </TD>
+ </TR>
+ <TR>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ 3323P<BR>
+ 3323S<BR>
+ 3323W<BR>
+ 3329H<BR>
+ 3329P<BR>
+ 3329W<BR>
+ 3339H<BR>
+ 3339P<BR>
+ 3339W<BR>
+ 3352E<BR>
+ 3352H<BR>
+ 3352K<BR>
+ 3352P<BR>
+ 3352T<BR>
+ 3352V<BR>
+ 3352W<BR>
+ 3362H<BR>
+ 3362M<BR>
+ 3362P<BR>
+ 3362R<BR>
+ 3362S<BR>
+ 3362U<BR>
+ 3362W<BR>
+ 3362X<BR>
+ 3386B<BR>
+ 3386C<BR>
+ 3386F<BR>
+ 3386H<BR>
+ 3386K<BR>
+ 3386M<BR>
+ 3386P<BR>
+ 3386S<BR>
+ 3386W<BR>
+ 3386X<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ 25P<BR>
+ 25S<BR>
+ 25RX<BR>
+ 82P<BR>
+ 82M<BR>
+ 82PA<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ 91E<BR>
+ 91X<BR>
+ 91T<BR>
+ 91B<BR>
+ 91A<BR>
+ 91V<BR>
+ 91W<BR>
+ 25W<BR>
+ 25V<BR>
+ 25P<BR>
+ -<BR>
+ 25S<BR>
+ 25U<BR>
+ 25RX<BR>
+ 25X<BR>
+ 72XW<BR>
+ 72XL<BR>
+ 72PM<BR>
+ 72RX<BR>
+ -<BR>
+ 72PX<BR>
+ 72P<BR>
+ 72RXW<BR>
+ 72RXL<BR>
+ 72X<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ -<BR>
+ -<BR>
+ -<BR>
+ T7YB<BR>
+ T7YA<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ TXD<BR>
+ TYA<BR>
+ TYP<BR>
+ -<BR>
+ TYD<BR>
+ TX<BR>
+ -<BR>
+ 150SX<BR>
+ 100SX<BR>
+ 102T<BR>
+ 101S<BR>
+ 190T<BR>
+ 150TX<BR>
+ 101<BR>
+ -<BR>
+ -<BR>
+ 101SX<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ ET6P<BR>
+ ET6S<BR>
+ ET6X<BR>
+ RJ-6W/8014EMW<BR>
+ RJ-6P/8014EMP<BR>
+ RJ-6X/8014EMX<BR>
+ TM7W<BR>
+ TM7P<BR>
+ TM7X<BR>
+ -<BR>
+ 8017SMS<BR>
+ -<BR>
+ 8017SMB<BR>
+ 8017SMA<BR>
+ -<BR>
+ -<BR>
+ CT-6W<BR>
+ CT-6H<BR>
+ CT-6P<BR>
+ CT-6R<BR>
+ -<BR>
+ CT-6V<BR>
+ CT-6X<BR>
+ -<BR>
+ -<BR>
+ 8038EKV<BR>
+ -<BR>
+ 8038EKX<BR>
+ -<BR>
+ -<BR>
+ 8038EKP<BR>
+ 8038EKZ<BR>
+ 8038EKW<BR>
+ -<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ -<BR>
+ -<BR>
+ -<BR>
+ 3321H<BR>
+ 3321P<BR>
+ 3321N<BR>
+ 1102H<BR>
+ 1102P<BR>
+ 1102T<BR>
+ RVA0911V304A<BR>
+ -<BR>
+ RVA0911H413A<BR>
+ RVG0707V100A<BR>
+ RVA0607V(H)306A<BR>
+ RVA1214H213A<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ 3104B<BR>
+ 3104C<BR>
+ 3104F<BR>
+ 3104H<BR>
+ -<BR>
+ 3104M<BR>
+ 3104P<BR>
+ 3104S<BR>
+ 3104W<BR>
+ 3104X<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ EVMQ0G<BR>
+ EVMQIG<BR>
+ EVMQ3G<BR>
+ EVMS0G<BR>
+ EVMQ0G<BR>
+ EVMG0G<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ EVMK4GA00B<BR>
+ EVM30GA00B<BR>
+ EVMK0GA00B<BR>
+ EVM38GA00B<BR>
+ EVMB6<BR>
+ EVLQ0<BR>
+ -<BR>
+ EVMMSG<BR>
+ EVMMBG<BR>
+ EVMMAG<BR>
+ -<BR>
+ -<BR>
+ EVMMCS<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ EVMM1<BR>
+ -<BR>
+ -<BR>
+ EVMM0<BR>
+ -<BR>
+ -<BR>
+ EVMM3<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ -<BR>
+ -<BR>
+ -<BR>
+ 62-3-1<BR>
+ 62-1-2<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ 67R<BR>
+ -<BR>
+ 67P<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ 67X<BR>
+ 63V<BR>
+ 63S<BR>
+ 63M<BR>
+ -<BR>
+ -<BR>
+ 63H<BR>
+ 63P<BR>
+ -<BR>
+ -<BR>
+ 63X<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ -<BR>
+ -<BR>
+ -<BR>
+ RJ/RJR50<BR>
+ RJ/RJR50<BR>
+ RJ/RJR50<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR></FONT>
+ </TD>
+ </TR>
+</TABLE>
+<P> <P>
+<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=3>
+ <TR>
+ <TD COLSPAN=7>
+ <FONT color="#0000FF" SIZE=4 FACE=ARIAL><B>SMD TRIM-POT CROSS REFERENCE</B></FONT>
+ <P>
+ <FONT SIZE=4 FACE=ARIAL><B>MULTI-TURN</B></FONT>
+ </TD>
+ </TR>
+ <TR>
+ <TD>
+ <FONT SIZE=3 FACE=ARIAL><B>BOURNS</B></FONT>
+ </TD>
+ <TD>
+ <FONT SIZE=3 FACE=ARIAL><B>BI TECH</B></FONT>
+ </TD>
+ <TD>
+ <FONT SIZE=3 FACE=ARIAL><B>DALE-VISHAY</B></FONT>
+ </TD>
+ <TD>
+ <FONT SIZE=3 FACE=ARIAL><B>PHILIPS/MEPCO</B></FONT>
+ </TD>
+ <TD>
+ <FONT SIZE=3 FACE=ARIAL><B>PANASONIC</B></FONT>
+ </TD>
+ <TD>
+ <FONT SIZE=3 FACE=ARIAL><B>TOCOS</B></FONT>
+ </TD>
+ <TD>
+ <FONT SIZE=3 FACE=ARIAL><B>AUX/KYOCERA</B></FONT>
+ </TD>
+ </TR>
+ <TR>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ 3224G<BR>
+ 3224J<BR>
+ 3224W<BR>
+ 3269P<BR>
+ 3269W<BR>
+ 3269X<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ 44G<BR>
+ 44J<BR>
+ 44W<BR>
+ 84P<BR>
+ 84W<BR>
+ 84X<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ -<BR>
+ -<BR>
+ -<BR>
+ ST63Z<BR>
+ ST63Y<BR>
+ -<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ -<BR>
+ -<BR>
+ -<BR>
+ ST5P<BR>
+ ST5W<BR>
+ ST5X<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR></FONT>
+ </TD>
+ </TR>
+ <TR>
+ <TD COLSPAN=7>
+ </TD>
+ </TR>
+ <TR>
+ <TD COLSPAN=7>
+ <FONT SIZE=4 FACE=ARIAL><B>SINGLE TURN</B></FONT>
+ </TD>
+ </TR>
+ <TR>
+ <TD>
+ <FONT SIZE=3 FACE=ARIAL><B>BOURNS</B></FONT>
+ </TD>
+ <TD>
+ <FONT SIZE=3 FACE=ARIAL><B>BI TECH</B></FONT>
+ </TD>
+ <TD>
+ <FONT SIZE=3 FACE=ARIAL><B>DALE-VISHAY</B></FONT>
+ </TD>
+ <TD>
+ <FONT SIZE=3 FACE=ARIAL><B>PHILIPS/MEPCO</B></FONT>
+ </TD>
+ <TD>
+ <FONT SIZE=3 FACE=ARIAL><B>PANASONIC</B></FONT>
+ </TD>
+ <TD>
+ <FONT SIZE=3 FACE=ARIAL><B>TOCOS</B></FONT>
+ </TD>
+ <TD>
+ <FONT SIZE=3 FACE=ARIAL><B>AUX/KYOCERA</B></FONT>
+ </TD>
+ </TR>
+ <TR>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ 3314G<BR>
+ 3314J<BR>
+ 3364A/B<BR>
+ 3364C/D<BR>
+ 3364W/X<BR>
+ 3313G<BR>
+ 3313J<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ 23B<BR>
+ 23A<BR>
+ 21X<BR>
+ 21W<BR>
+ -<BR>
+ 22B<BR>
+ 22A<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ ST5YL/ST53YL<BR>
+ ST5YJ/5T53YJ<BR>
+ ST-23A<BR>
+ ST-22B<BR>
+ ST-22<BR>
+ -<BR>
+ -<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ ST-4B<BR>
+ ST-4A<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ ST-3B<BR>
+ ST-3A<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ -<BR>
+ EVM-6YS<BR>
+ EVM-1E<BR>
+ EVM-1G<BR>
+ EVM-1D<BR>
+ -<BR>
+ -<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ G4B<BR>
+ G4A<BR>
+ TR04-3S1<BR>
+ TRG04-2S1<BR>
+ -<BR>
+ -<BR>
+ -<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ -<BR>
+ -<BR>
+ DVR-43A<BR>
+ CVR-42C<BR>
+ CVR-42A/C<BR>
+ -<BR>
+ -<BR></FONT>
+ </TD>
+ </TR>
+</TABLE>
+<P>
+<FONT SIZE=4 FACE=ARIAL><B>ALT = ALTERNATE</B></FONT>
+<P>
+
+
+<P>
+</td>
+</tr>
+</table>
+
+
+<b>RESISTOR</b><p>
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+<b>Pin Header Connectors</b><p>
+<author>Created by librarian@cadsoft.de</author>
+
+
+<b>PIN HEADER</b>
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<b>EAGLE Design Rules</b>
+<p>
+Die Standard-Design-Rules sind so gewählt, dass sie für
+die meisten Anwendungen passen. Sollte ihre Platine
+besondere Anforderungen haben, treffen Sie die erforderlichen
+Einstellungen hier und speichern die Design Rules unter
+einem neuen Namen ab.
+<b>EAGLE Design Rules</b>
+<p>
+The default Design Rules have been set to cover
+a wide range of applications. Your particular design
+may have different requirements, so please make the
+necessary adjustments and save your customized
+design rules under a new name.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/samples/Eagle/Eagle.sch b/samples/Eagle/Eagle.sch
new file mode 100644
index 00000000..5a72a868
--- /dev/null
+++ b/samples/Eagle/Eagle.sch
@@ -0,0 +1,3612 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<b>Frames for Sheet and Layout</b>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>DRAWING_NAME
+>LAST_DATE_TIME
+>SHEET
+Sheet:
+
+
+
+
+
+<b>FRAME</b><p>
+DIN A4, landscape with location and doc. field
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<b>Resistors, Capacitors, Inductors</b><p>
+Based on the previous libraries:
+<ul>
+<li>r.lbr
+<li>cap.lbr
+<li>cap-fe.lbr
+<li>captant.lbr
+<li>polcap.lbr
+<li>ipc-smd.lbr
+</ul>
+All SMD packages are defined according to the IPC specifications and CECC<p>
+<author>Created by librarian@cadsoft.de</author><p>
+<p>
+for Electrolyt Capacitors see also :<p>
+www.bccomponents.com <p>
+www.panasonic.com<p>
+www.kemet.com<p>
+http://www.secc.co.jp/pdf/os_e/2004/e_os_all.pdf <b>(SANYO)</b>
+<p>
+for trimmer refence see : <u>www.electrospec-inc.com/cross_references/trimpotcrossref.asp</u><p>
+
+<table border=0 cellspacing=0 cellpadding=0 width="100%" cellpaddding=0>
+<tr valign="top">
+
+<! <td width="10"> </td>
+<td width="90%">
+
+<b><font color="#0000FF" size="4">TRIM-POT CROSS REFERENCE</font></b>
+<P>
+<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=2>
+ <TR>
+ <TD COLSPAN=8>
+ <FONT SIZE=3 FACE=ARIAL><B>RECTANGULAR MULTI-TURN</B></FONT>
+ </TD>
+ </TR>
+ <TR>
+ <TD ALIGN=CENTER>
+ <B>
+ <FONT SIZE=3 FACE=ARIAL color="#FF0000">BOURNS</FONT>
+ </B>
+ </TD>
+ <TD ALIGN=CENTER>
+ <B>
+ <FONT SIZE=3 FACE=ARIAL color="#FF0000">BI TECH</FONT>
+ </B>
+ </TD>
+ <TD ALIGN=CENTER>
+ <B>
+ <FONT SIZE=3 FACE=ARIAL color="#FF0000">DALE-VISHAY</FONT>
+ </B>
+ </TD>
+ <TD ALIGN=CENTER>
+ <B>
+ <FONT SIZE=3 FACE=ARIAL color="#FF0000">PHILIPS/MEPCO</FONT>
+ </B>
+ </TD>
+ <TD ALIGN=CENTER>
+ <B>
+ <FONT SIZE=3 FACE=ARIAL color="#FF0000">MURATA</FONT>
+ </B>
+ </TD>
+ <TD ALIGN=CENTER>
+ <B>
+ <FONT SIZE=3 FACE=ARIAL color="#FF0000">PANASONIC</FONT>
+ </B>
+ </TD>
+ <TD ALIGN=CENTER>
+ <B>
+ <FONT SIZE=3 FACE=ARIAL color="#FF0000">SPECTROL</FONT>
+ </B>
+ </TD>
+ <TD ALIGN=CENTER>
+ <B>
+ <FONT SIZE=3 FACE=ARIAL color="#FF0000">MILSPEC</FONT>
+ </B>
+ </TD><TD> </TD>
+ </TR>
+ <TR>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3 >
+ 3005P<BR>
+ 3006P<BR>
+ 3006W<BR>
+ 3006Y<BR>
+ 3009P<BR>
+ 3009W<BR>
+ 3009Y<BR>
+ 3057J<BR>
+ 3057L<BR>
+ 3057P<BR>
+ 3057Y<BR>
+ 3059J<BR>
+ 3059L<BR>
+ 3059P<BR>
+ 3059Y<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ -<BR>
+ 89P<BR>
+ 89W<BR>
+ 89X<BR>
+ 89PH<BR>
+ 76P<BR>
+ 89XH<BR>
+ 78SLT<BR>
+ 78L ALT<BR>
+ 56P ALT<BR>
+ 78P ALT<BR>
+ T8S<BR>
+ 78L<BR>
+ 56P<BR>
+ 78P<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ -<BR>
+ T18/784<BR>
+ 783<BR>
+ 781<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ 2199<BR>
+ 1697/1897<BR>
+ 1680/1880<BR>
+ 2187<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ -<BR>
+ 8035EKP/CT20/RJ-20P<BR>
+ -<BR>
+ RJ-20X<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ 1211L<BR>
+ 8012EKQ ALT<BR>
+ 8012EKR ALT<BR>
+ 1211P<BR>
+ 8012EKJ<BR>
+ 8012EKL<BR>
+ 8012EKQ<BR>
+ 8012EKR<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ -<BR>
+ 2101P<BR>
+ 2101W<BR>
+ 2101Y<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ 2102L<BR>
+ 2102S<BR>
+ 2102Y<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ -<BR>
+ EVMCOG<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ -<BR>
+ 43P<BR>
+ 43W<BR>
+ 43Y<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ 40L<BR>
+ 40P<BR>
+ 40Y<BR>
+ 70Y-T602<BR>
+ 70L<BR>
+ 70P<BR>
+ 70Y<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ RT/RTR12<BR>
+ RT/RTR12<BR>
+ RT/RTR12<BR>
+ -<BR>
+ RJ/RJR12<BR>
+ RJ/RJR12<BR>
+ RJ/RJR12<BR></FONT>
+ </TD>
+ </TR>
+ <TR>
+ <TD COLSPAN=8>
+ </TD>
+ </TR>
+ <TR>
+ <TD COLSPAN=8>
+ <FONT SIZE=4 FACE=ARIAL><B>SQUARE MULTI-TURN</B></FONT>
+ </TD>
+ </TR>
+ <TR>
+ <TD ALIGN=CENTER>
+ <FONT SIZE=3 FACE=ARIAL><B>BOURN</B></FONT>
+ </TD>
+ <TD ALIGN=CENTER>
+ <FONT SIZE=3 FACE=ARIAL><B>BI TECH</B></FONT>
+ </TD>
+ <TD ALIGN=CENTER>
+ <FONT SIZE=3 FACE=ARIAL><B>DALE-VISHAY</B></FONT>
+ </TD>
+ <TD ALIGN=CENTER>
+ <FONT SIZE=3 FACE=ARIAL><B>PHILIPS/MEPCO</B></FONT>
+ </TD>
+ <TD ALIGN=CENTER>
+ <FONT SIZE=3 FACE=ARIAL><B>MURATA</B></FONT>
+ </TD>
+ <TD ALIGN=CENTER>
+ <FONT SIZE=3 FACE=ARIAL><B>PANASONIC</B></FONT>
+ </TD>
+ <TD ALIGN=CENTER>
+ <FONT SIZE=3 FACE=ARIAL><B>SPECTROL</B></FONT>
+ </TD>
+ <TD ALIGN=CENTER>
+ <FONT SIZE=3 FACE=ARIAL><B>MILSPEC</B></FONT>
+ </TD>
+ </TR>
+ <TR>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ 3250L<BR>
+ 3250P<BR>
+ 3250W<BR>
+ 3250X<BR>
+ 3252P<BR>
+ 3252W<BR>
+ 3252X<BR>
+ 3260P<BR>
+ 3260W<BR>
+ 3260X<BR>
+ 3262P<BR>
+ 3262W<BR>
+ 3262X<BR>
+ 3266P<BR>
+ 3266W<BR>
+ 3266X<BR>
+ 3290H<BR>
+ 3290P<BR>
+ 3290W<BR>
+ 3292P<BR>
+ 3292W<BR>
+ 3292X<BR>
+ 3296P<BR>
+ 3296W<BR>
+ 3296X<BR>
+ 3296Y<BR>
+ 3296Z<BR>
+ 3299P<BR>
+ 3299W<BR>
+ 3299X<BR>
+ 3299Y<BR>
+ 3299Z<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ -<BR>
+ 66P ALT<BR>
+ 66W ALT<BR>
+ 66X ALT<BR>
+ 66P ALT<BR>
+ 66W ALT<BR>
+ 66X ALT<BR>
+ -<BR>
+ 64W ALT<BR>
+ -<BR>
+ 64P ALT<BR>
+ 64W ALT<BR>
+ 64X ALT<BR>
+ 64P<BR>
+ 64W<BR>
+ 64X<BR>
+ 66X ALT<BR>
+ 66P ALT<BR>
+ 66W ALT<BR>
+ 66P<BR>
+ 66W<BR>
+ 66X<BR>
+ 67P<BR>
+ 67W<BR>
+ 67X<BR>
+ 67Y<BR>
+ 67Z<BR>
+ 68P<BR>
+ 68W<BR>
+ 68X<BR>
+ 67Y ALT<BR>
+ 67Z ALT<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ 5050<BR>
+ 5091<BR>
+ 5080<BR>
+ 5087<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ T63YB<BR>
+ T63XB<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ 5887<BR>
+ 5891<BR>
+ 5880<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ T93Z<BR>
+ T93YA<BR>
+ T93XA<BR>
+ T93YB<BR>
+ T93XB<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ 8026EKP<BR>
+ 8026EKW<BR>
+ 8026EKM<BR>
+ 8026EKP<BR>
+ 8026EKB<BR>
+ 8026EKM<BR>
+ 1309X<BR>
+ 1309P<BR>
+ 1309W<BR>
+ 8024EKP<BR>
+ 8024EKW<BR>
+ 8024EKN<BR>
+ RJ-9P/CT9P<BR>
+ RJ-9W<BR>
+ RJ-9X<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ 3103P<BR>
+ 3103Y<BR>
+ 3103Z<BR>
+ 3103P<BR>
+ 3103Y<BR>
+ 3103Z<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ 3105P/3106P<BR>
+ 3105W/3106W<BR>
+ 3105X/3106X<BR>
+ 3105Y/3106Y<BR>
+ 3105Z/3105Z<BR>
+ 3102P<BR>
+ 3102W<BR>
+ 3102X<BR>
+ 3102Y<BR>
+ 3102Z<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ EVMCBG<BR>
+ EVMCCG<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ 55-1-X<BR>
+ 55-4-X<BR>
+ 55-3-X<BR>
+ 55-2-X<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ 50-2-X<BR>
+ 50-4-X<BR>
+ 50-3-X<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ 64P<BR>
+ 64W<BR>
+ 64X<BR>
+ 64Y<BR>
+ 64Z<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ RT/RTR22<BR>
+ RT/RTR22<BR>
+ RT/RTR22<BR>
+ RT/RTR22<BR>
+ RJ/RJR22<BR>
+ RJ/RJR22<BR>
+ RJ/RJR22<BR>
+ RT/RTR26<BR>
+ RT/RTR26<BR>
+ RT/RTR26<BR>
+ RJ/RJR26<BR>
+ RJ/RJR26<BR>
+ RJ/RJR26<BR>
+ RJ/RJR26<BR>
+ RJ/RJR26<BR>
+ RJ/RJR26<BR>
+ RT/RTR24<BR>
+ RT/RTR24<BR>
+ RT/RTR24<BR>
+ RJ/RJR24<BR>
+ RJ/RJR24<BR>
+ RJ/RJR24<BR>
+ RJ/RJR24<BR>
+ RJ/RJR24<BR>
+ RJ/RJR24<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR></FONT>
+ </TD>
+ </TR>
+ <TR>
+ <TD COLSPAN=8>
+ </TD>
+ </TR>
+ <TR>
+ <TD COLSPAN=8>
+ <FONT SIZE=4 FACE=ARIAL><B>SINGLE TURN</B></FONT>
+ </TD>
+ </TR>
+ <TR>
+ <TD ALIGN=CENTER>
+ <FONT SIZE=3 FACE=ARIAL><B>BOURN</B></FONT>
+ </TD>
+ <TD ALIGN=CENTER>
+ <FONT SIZE=3 FACE=ARIAL><B>BI TECH</B></FONT>
+ </TD>
+ <TD ALIGN=CENTER>
+ <FONT SIZE=3 FACE=ARIAL><B>DALE-VISHAY</B></FONT>
+ </TD>
+ <TD ALIGN=CENTER>
+ <FONT SIZE=3 FACE=ARIAL><B>PHILIPS/MEPCO</B></FONT>
+ </TD>
+ <TD ALIGN=CENTER>
+ <FONT SIZE=3 FACE=ARIAL><B>MURATA</B></FONT>
+ </TD>
+ <TD ALIGN=CENTER>
+ <FONT SIZE=3 FACE=ARIAL><B>PANASONIC</B></FONT>
+ </TD>
+ <TD ALIGN=CENTER>
+ <FONT SIZE=3 FACE=ARIAL><B>SPECTROL</B></FONT>
+ </TD>
+ <TD ALIGN=CENTER>
+ <FONT SIZE=3 FACE=ARIAL><B>MILSPEC</B></FONT>
+ </TD>
+ </TR>
+ <TR>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ 3323P<BR>
+ 3323S<BR>
+ 3323W<BR>
+ 3329H<BR>
+ 3329P<BR>
+ 3329W<BR>
+ 3339H<BR>
+ 3339P<BR>
+ 3339W<BR>
+ 3352E<BR>
+ 3352H<BR>
+ 3352K<BR>
+ 3352P<BR>
+ 3352T<BR>
+ 3352V<BR>
+ 3352W<BR>
+ 3362H<BR>
+ 3362M<BR>
+ 3362P<BR>
+ 3362R<BR>
+ 3362S<BR>
+ 3362U<BR>
+ 3362W<BR>
+ 3362X<BR>
+ 3386B<BR>
+ 3386C<BR>
+ 3386F<BR>
+ 3386H<BR>
+ 3386K<BR>
+ 3386M<BR>
+ 3386P<BR>
+ 3386S<BR>
+ 3386W<BR>
+ 3386X<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ 25P<BR>
+ 25S<BR>
+ 25RX<BR>
+ 82P<BR>
+ 82M<BR>
+ 82PA<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ 91E<BR>
+ 91X<BR>
+ 91T<BR>
+ 91B<BR>
+ 91A<BR>
+ 91V<BR>
+ 91W<BR>
+ 25W<BR>
+ 25V<BR>
+ 25P<BR>
+ -<BR>
+ 25S<BR>
+ 25U<BR>
+ 25RX<BR>
+ 25X<BR>
+ 72XW<BR>
+ 72XL<BR>
+ 72PM<BR>
+ 72RX<BR>
+ -<BR>
+ 72PX<BR>
+ 72P<BR>
+ 72RXW<BR>
+ 72RXL<BR>
+ 72X<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ -<BR>
+ -<BR>
+ -<BR>
+ T7YB<BR>
+ T7YA<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ TXD<BR>
+ TYA<BR>
+ TYP<BR>
+ -<BR>
+ TYD<BR>
+ TX<BR>
+ -<BR>
+ 150SX<BR>
+ 100SX<BR>
+ 102T<BR>
+ 101S<BR>
+ 190T<BR>
+ 150TX<BR>
+ 101<BR>
+ -<BR>
+ -<BR>
+ 101SX<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ ET6P<BR>
+ ET6S<BR>
+ ET6X<BR>
+ RJ-6W/8014EMW<BR>
+ RJ-6P/8014EMP<BR>
+ RJ-6X/8014EMX<BR>
+ TM7W<BR>
+ TM7P<BR>
+ TM7X<BR>
+ -<BR>
+ 8017SMS<BR>
+ -<BR>
+ 8017SMB<BR>
+ 8017SMA<BR>
+ -<BR>
+ -<BR>
+ CT-6W<BR>
+ CT-6H<BR>
+ CT-6P<BR>
+ CT-6R<BR>
+ -<BR>
+ CT-6V<BR>
+ CT-6X<BR>
+ -<BR>
+ -<BR>
+ 8038EKV<BR>
+ -<BR>
+ 8038EKX<BR>
+ -<BR>
+ -<BR>
+ 8038EKP<BR>
+ 8038EKZ<BR>
+ 8038EKW<BR>
+ -<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ -<BR>
+ -<BR>
+ -<BR>
+ 3321H<BR>
+ 3321P<BR>
+ 3321N<BR>
+ 1102H<BR>
+ 1102P<BR>
+ 1102T<BR>
+ RVA0911V304A<BR>
+ -<BR>
+ RVA0911H413A<BR>
+ RVG0707V100A<BR>
+ RVA0607V(H)306A<BR>
+ RVA1214H213A<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ 3104B<BR>
+ 3104C<BR>
+ 3104F<BR>
+ 3104H<BR>
+ -<BR>
+ 3104M<BR>
+ 3104P<BR>
+ 3104S<BR>
+ 3104W<BR>
+ 3104X<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ EVMQ0G<BR>
+ EVMQIG<BR>
+ EVMQ3G<BR>
+ EVMS0G<BR>
+ EVMQ0G<BR>
+ EVMG0G<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ EVMK4GA00B<BR>
+ EVM30GA00B<BR>
+ EVMK0GA00B<BR>
+ EVM38GA00B<BR>
+ EVMB6<BR>
+ EVLQ0<BR>
+ -<BR>
+ EVMMSG<BR>
+ EVMMBG<BR>
+ EVMMAG<BR>
+ -<BR>
+ -<BR>
+ EVMMCS<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ EVMM1<BR>
+ -<BR>
+ -<BR>
+ EVMM0<BR>
+ -<BR>
+ -<BR>
+ EVMM3<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ -<BR>
+ -<BR>
+ -<BR>
+ 62-3-1<BR>
+ 62-1-2<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ 67R<BR>
+ -<BR>
+ 67P<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ 67X<BR>
+ 63V<BR>
+ 63S<BR>
+ 63M<BR>
+ -<BR>
+ -<BR>
+ 63H<BR>
+ 63P<BR>
+ -<BR>
+ -<BR>
+ 63X<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ -<BR>
+ -<BR>
+ -<BR>
+ RJ/RJR50<BR>
+ RJ/RJR50<BR>
+ RJ/RJR50<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR></FONT>
+ </TD>
+ </TR>
+</TABLE>
+<P> <P>
+<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=3>
+ <TR>
+ <TD COLSPAN=7>
+ <FONT color="#0000FF" SIZE=4 FACE=ARIAL><B>SMD TRIM-POT CROSS REFERENCE</B></FONT>
+ <P>
+ <FONT SIZE=4 FACE=ARIAL><B>MULTI-TURN</B></FONT>
+ </TD>
+ </TR>
+ <TR>
+ <TD>
+ <FONT SIZE=3 FACE=ARIAL><B>BOURNS</B></FONT>
+ </TD>
+ <TD>
+ <FONT SIZE=3 FACE=ARIAL><B>BI TECH</B></FONT>
+ </TD>
+ <TD>
+ <FONT SIZE=3 FACE=ARIAL><B>DALE-VISHAY</B></FONT>
+ </TD>
+ <TD>
+ <FONT SIZE=3 FACE=ARIAL><B>PHILIPS/MEPCO</B></FONT>
+ </TD>
+ <TD>
+ <FONT SIZE=3 FACE=ARIAL><B>PANASONIC</B></FONT>
+ </TD>
+ <TD>
+ <FONT SIZE=3 FACE=ARIAL><B>TOCOS</B></FONT>
+ </TD>
+ <TD>
+ <FONT SIZE=3 FACE=ARIAL><B>AUX/KYOCERA</B></FONT>
+ </TD>
+ </TR>
+ <TR>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ 3224G<BR>
+ 3224J<BR>
+ 3224W<BR>
+ 3269P<BR>
+ 3269W<BR>
+ 3269X<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ 44G<BR>
+ 44J<BR>
+ 44W<BR>
+ 84P<BR>
+ 84W<BR>
+ 84X<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ -<BR>
+ -<BR>
+ -<BR>
+ ST63Z<BR>
+ ST63Y<BR>
+ -<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ -<BR>
+ -<BR>
+ -<BR>
+ ST5P<BR>
+ ST5W<BR>
+ ST5X<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ -<BR></FONT>
+ </TD>
+ </TR>
+ <TR>
+ <TD COLSPAN=7>
+ </TD>
+ </TR>
+ <TR>
+ <TD COLSPAN=7>
+ <FONT SIZE=4 FACE=ARIAL><B>SINGLE TURN</B></FONT>
+ </TD>
+ </TR>
+ <TR>
+ <TD>
+ <FONT SIZE=3 FACE=ARIAL><B>BOURNS</B></FONT>
+ </TD>
+ <TD>
+ <FONT SIZE=3 FACE=ARIAL><B>BI TECH</B></FONT>
+ </TD>
+ <TD>
+ <FONT SIZE=3 FACE=ARIAL><B>DALE-VISHAY</B></FONT>
+ </TD>
+ <TD>
+ <FONT SIZE=3 FACE=ARIAL><B>PHILIPS/MEPCO</B></FONT>
+ </TD>
+ <TD>
+ <FONT SIZE=3 FACE=ARIAL><B>PANASONIC</B></FONT>
+ </TD>
+ <TD>
+ <FONT SIZE=3 FACE=ARIAL><B>TOCOS</B></FONT>
+ </TD>
+ <TD>
+ <FONT SIZE=3 FACE=ARIAL><B>AUX/KYOCERA</B></FONT>
+ </TD>
+ </TR>
+ <TR>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ 3314G<BR>
+ 3314J<BR>
+ 3364A/B<BR>
+ 3364C/D<BR>
+ 3364W/X<BR>
+ 3313G<BR>
+ 3313J<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ 23B<BR>
+ 23A<BR>
+ 21X<BR>
+ 21W<BR>
+ -<BR>
+ 22B<BR>
+ 22A<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ ST5YL/ST53YL<BR>
+ ST5YJ/5T53YJ<BR>
+ ST-23A<BR>
+ ST-22B<BR>
+ ST-22<BR>
+ -<BR>
+ -<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ ST-4B<BR>
+ ST-4A<BR>
+ -<BR>
+ -<BR>
+ -<BR>
+ ST-3B<BR>
+ ST-3A<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ -<BR>
+ EVM-6YS<BR>
+ EVM-1E<BR>
+ EVM-1G<BR>
+ EVM-1D<BR>
+ -<BR>
+ -<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ G4B<BR>
+ G4A<BR>
+ TR04-3S1<BR>
+ TRG04-2S1<BR>
+ -<BR>
+ -<BR>
+ -<BR></FONT>
+ </TD>
+ <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
+ -<BR>
+ -<BR>
+ DVR-43A<BR>
+ CVR-42C<BR>
+ CVR-42A/C<BR>
+ -<BR>
+ -<BR></FONT>
+ </TD>
+ </TR>
+</TABLE>
+<P>
+<FONT SIZE=4 FACE=ARIAL><B>ALT = ALTERNATE</B></FONT>
+<P>
+
+
+<P>
+</td>
+</tr>
+</table>
+
+
+<b>RESISTOR</b>
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b>
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b><p>
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b> wave soldering<p>
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b>
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b>
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b><p>
+wave soldering
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b>
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b><p>
+wave soldering
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b>
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>RESISTOR</b><p>
+wave soldering
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>RESISTOR</b>
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b><p>
+wave soldering
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b>
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b><p>
+wave soldering
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b>
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b><p>
+wave soldering
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b>
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b><p>
+wave soldering
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b>
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b><p>
+wave soldering
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b><p>
+Source: http://download.siliconexpert.com/pdfs/2005/02/24/Semi_Ap/2/VSH/Resistor/dcrcwfre.pdf
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b> wave soldering<p>
+Source: http://download.siliconexpert.com/pdfs/2005/02/24/Semi_Ap/2/VSH/Resistor/dcrcwfre.pdf
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b><p>
+MELF 0.10 W
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b><p>
+MELF 0.25 W
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b><p>
+MELF 0.12 W
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b><p>
+MELF 0.10 W
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b><p>
+MELF 0.25 W
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b><p>
+MELF 0.25 W
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b><p>
+MELF 0.12 W
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b><p>
+MELF 0.25 W
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b><p>
+type 0204, grid 5 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>RESISTOR</b><p>
+type 0204, grid 7.5 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>RESISTOR</b><p>
+type 0207, grid 10 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>RESISTOR</b><p>
+type 0207, grid 12 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+<b>RESISTOR</b><p>
+type 0207, grid 15mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+<b>RESISTOR</b><p>
+type 0207, grid 2.5 mm
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>RESISTOR</b><p>
+type 0207, grid 5 mm
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>RESISTOR</b><p>
+type 0207, grid 7.5 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>RESISTOR</b><p>
+type 0309, grid 10mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>RESISTOR</b><p>
+type 0309, grid 12.5 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>RESISTOR</b><p>
+type 0411, grid 12.5 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>RESISTOR</b><p>
+type 0411, grid 15 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>RESISTOR</b><p>
+type 0411, grid 3.81 mm
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>RESISTOR</b><p>
+type 0414, grid 15 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>RESISTOR</b><p>
+type 0414, grid 5 mm
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>RESISTOR</b><p>
+type 0617, grid 17.5 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>RESISTOR</b><p>
+type 0617, grid 22.5 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>RESISTOR</b><p>
+type 0617, grid 5 mm
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>RESISTOR</b><p>
+type 0922, grid 22.5 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+<b>RESISTOR</b><p>
+type 0613, grid 5 mm
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>RESISTOR</b><p>
+type 0613, grid 15 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>RESISTOR</b><p>
+type 0817, grid 22.5 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+0817
+
+
+
+
+<b>RESISTOR</b><p>
+type 0817, grid 6.35 mm
+
+
+
+
+
+
+>NAME
+>VALUE
+0817
+
+
+
+<b>RESISTOR</b><p>
+type V234, grid 12.5 mm
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>RESISTOR</b><p>
+type V235, grid 17.78 mm
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>RESISTOR</b><p>
+type V526-0, grid 2.5 mm
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>Mini MELF 0102 Axial</b>
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>RESISTOR</b><p>
+type 0922, grid 7.5 mm
+
+
+
+
+
+
+>NAME
+>VALUE
+0922
+
+
+
+<b>CECC Size RC2211</b> Reflow Soldering<p>
+source Beyschlag
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CECC Size RC2211</b> Wave Soldering<p>
+source Beyschlag
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CECC Size RC3715</b> Reflow Soldering<p>
+source Beyschlag
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CECC Size RC3715</b> Wave Soldering<p>
+source Beyschlag
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CECC Size RC6123</b> Reflow Soldering<p>
+source Beyschlag
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CECC Size RC6123</b> Wave Soldering<p>
+source Beyschlag
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>RESISTOR</b><p>
+type RDH, grid 15 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+RDH
+
+
+
+
+<b>RESISTOR</b><p>
+type 0204, grid 2.5 mm
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>RESISTOR</b><p>
+type 0309, grid 2.5 mm
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b> chip<p>
+Source: http://www.vishay.com/docs/20008/dcrcw.pdf
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>Bulk Metal® Foil Technology</b>, Tubular Axial Lead Resistors, Meets or Exceeds MIL-R-39005 Requirements<p>
+MIL SIZE RNC55<br>
+Source: VISHAY .. vta56.pdf
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>Bulk Metal® Foil Technology</b>, Tubular Axial Lead Resistors, Meets or Exceeds MIL-R-39005 Requirements<p>
+MIL SIZE RNC60<br>
+Source: VISHAY .. vta56.pdf
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>Bulk Metal® Foil Technology</b>, Tubular Axial Lead Resistors, Meets or Exceeds MIL-R-39005 Requirements<p>
+MIL SIZE RBR52<br>
+Source: VISHAY .. vta56.pdf
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>Bulk Metal® Foil Technology</b>, Tubular Axial Lead Resistors, Meets or Exceeds MIL-R-39005 Requirements<p>
+MIL SIZE RBR53<br>
+Source: VISHAY .. vta56.pdf
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>Bulk Metal® Foil Technology</b>, Tubular Axial Lead Resistors, Meets or Exceeds MIL-R-39005 Requirements<p>
+MIL SIZE RBR54<br>
+Source: VISHAY .. vta56.pdf
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>Bulk Metal® Foil Technology</b>, Tubular Axial Lead Resistors, Meets or Exceeds MIL-R-39005 Requirements<p>
+MIL SIZE RBR55<br>
+Source: VISHAY .. vta56.pdf
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>Bulk Metal® Foil Technology</b>, Tubular Axial Lead Resistors, Meets or Exceeds MIL-R-39005 Requirements<p>
+MIL SIZE RBR56<br>
+Source: VISHAY .. vta56.pdf
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>Package 4527</b><p>
+Source: http://www.vishay.com/docs/31059/wsrhigh.pdf
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>Wirewound Resistors, Precision Power</b><p>
+Source: VISHAY wscwsn.pdf
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>Wirewound Resistors, Precision Power</b><p>
+Source: VISHAY wscwsn.pdf
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>Wirewound Resistors, Precision Power</b><p>
+Source: VISHAY wscwsn.pdf
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>Wirewound Resistors, Precision Power</b><p>
+Source: VISHAY wscwsn.pdf
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>Wirewound Resistors, Precision Power</b><p>
+Source: VISHAY wscwsn.pdf
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>Wirewound Resistors, Precision Power</b><p>
+Source: VISHAY wscwsn.pdf
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CRCW1218 Thick Film, Rectangular Chip Resistors</b><p>
+Source: http://www.vishay.com .. dcrcw.pdf
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>Chip Monolithic Ceramic Capacitors</b> Medium Voltage High Capacitance for General Use<p>
+Source: http://www.murata.com .. GRM43DR72E224KW01.pdf
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+<B>RESISTOR</B>, American symbol
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<b>Pin Header Connectors</b><p>
+<author>Created by librarian@cadsoft.de</author>
+
+
+<b>PIN HEADER</b>
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>PIN HEADER</b>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/samples/Frege/CommandLineClock.fr b/samples/Frege/CommandLineClock.fr
new file mode 100644
index 00000000..5bdde621
--- /dev/null
+++ b/samples/Frege/CommandLineClock.fr
@@ -0,0 +1,44 @@
+{--
+ This program displays the
+ current time on stdandard output
+ every other second.
+ -}
+
+module examples.CommandLineClock where
+
+data Date = native java.util.Date where
+ native new :: () -> IO (MutableIO Date) -- new Date()
+ native toString :: Mutable s Date -> ST s String -- d.toString()
+
+--- 'IO' action to give us the current time as 'String'
+current :: IO String
+current = do
+ d <- Date.new ()
+ d.toString
+
+{-
+ "java.lang.Thread.sleep" takes a "long" and
+ returns nothing, but may throw an InterruptedException.
+ This is without doubt an IO action.
+
+ public static void sleep(long millis)
+ throws InterruptedException
+
+ Encoded in Frege:
+ - argument type long Long
+ - result void ()
+ - does IO IO ()
+ - throws ... throws ....
+
+-}
+-- .... defined in frege.java.Lang
+-- native sleep java.lang.Thread.sleep :: Long -> IO () throws InterruptedException
+
+
+main args =
+ forever do
+ current >>= print
+ print "\r"
+ stdout.flush
+ Thread.sleep 999
+
\ No newline at end of file
diff --git a/samples/Frege/Concurrent.fr b/samples/Frege/Concurrent.fr
new file mode 100644
index 00000000..5f9df994
--- /dev/null
+++ b/samples/Frege/Concurrent.fr
@@ -0,0 +1,147 @@
+module examples.Concurrent where
+
+import System.Random
+import Java.Net (URL)
+import Control.Concurrent as C
+
+main2 args = do
+ m <- newEmptyMVar
+ forkIO do
+ m.put 'x'
+ m.put 'y'
+ m.put 'z'
+ replicateM_ 3 do
+ c <- m.take
+ print "got: "
+ println c
+
+
+example1 = do
+ forkIO (replicateM_ 100000 (putChar 'a'))
+ replicateM_ 100000 (putChar 'b')
+
+example2 = do
+ s <- getLine
+ case s.long of
+ Right n -> forkIO (setReminder n) >> example2
+ Left _ -> println ("exiting ...")
+
+setReminder :: Long -> IO ()
+setReminder n = do
+ println ("Ok, I remind you in " ++ show n ++ " seconds")
+ Thread.sleep (1000L*n)
+ println (show n ++ " seconds is up!")
+
+table = "table"
+
+mainPhil _ = do
+ [fork1,fork2,fork3,fork4,fork5] <- mapM MVar.new [1..5]
+ forkIO (philosopher "Kant" fork5 fork1)
+ forkIO (philosopher "Locke" fork1 fork2)
+ forkIO (philosopher "Wittgenstein" fork2 fork3)
+ forkIO (philosopher "Nozick" fork3 fork4)
+ forkIO (philosopher "Mises" fork4 fork5)
+ return ()
+
+philosopher :: String -> MVar Int -> MVar Int -> IO ()
+philosopher me left right = do
+ g <- Random.newStdGen
+ let phil g = do
+ let (tT,g1) = Random.randomR (60L, 120L) g
+ (eT, g2) = Random.randomR (80L, 160L) g1
+ thinkTime = 300L * tT
+ eatTime = 300L * eT
+
+ println(me ++ " is going to the dining room and takes his seat.")
+ fl <- left.take
+ println (me ++ " takes up left fork (" ++ show fl ++ ")")
+ rFork <- right.poll
+ case rFork of
+ Just fr -> do
+ println (me ++ " takes up right fork. (" ++ show fr ++ ")")
+ println (me ++ " is going to eat for " ++ show eatTime ++ "ms")
+ Thread.sleep eatTime
+ println (me ++ " finished eating.")
+ right.put fr
+ println (me ++ " took down right fork.")
+ left.put fl
+ println (me ++ " took down left fork.")
+ table.notifyAll
+ println(me ++ " is going to think for " ++ show thinkTime ++ "ms.")
+ Thread.sleep thinkTime
+ phil g2
+ Nothing -> do
+ println (me ++ " finds right fork is already in use.")
+ left.put fl
+ println (me ++ " took down left fork.")
+ table.notifyAll
+ println (me ++ " is going to the bar to await notifications from table.")
+ table.wait
+ println (me ++ " got notice that something changed at the table.")
+ phil g2
+
+ inter :: InterruptedException -> IO ()
+ inter _ = return ()
+
+ phil g `catch` inter
+
+
+getURL xx = do
+ url <- URL.new xx
+ con <- url.openConnection
+ con.connect
+ is <- con.getInputStream
+ typ <- con.getContentType
+ -- stderr.println ("content-type is " ++ show typ)
+ ir <- InputStreamReader.new is (fromMaybe "UTF-8" (charset typ))
+ `catch` unsupportedEncoding is
+ br <- BufferedReader.new ir
+ br.getLines
+ where
+ unsupportedEncoding :: InputStream -> UnsupportedEncodingException -> IO InputStreamReader
+ unsupportedEncoding is x = do
+ stderr.println x.catched
+ InputStreamReader.new is "UTF-8"
+
+ charset ctyp = do
+ typ <- ctyp
+ case typ of
+ m~´charset=(\S+)´ -> m.group 1
+ _ -> Nothing
+
+
+type SomeException = Throwable
+
+main ["dining"] = mainPhil []
+
+main _ = do
+ m1 <- MVar.newEmpty
+ m2 <- MVar.newEmpty
+ m3 <- MVar.newEmpty
+
+ forkIO do
+ r <- (catchAll . getURL) "http://www.wikipedia.org/wiki/Haskell"
+ m1.put r
+
+ forkIO do
+ r <- (catchAll . getURL) "htto://www.wikipedia.org/wiki/Java"
+ m2.put r
+
+ forkIO do
+ r <- (catchAll . getURL) "http://www.wikipedia.org/wiki/Frege"
+ m3.put r
+
+ r1 <- m1.take
+ r2 <- m2.take
+ r3 <- m3.take
+ println (result r1, result r2, result r3)
+ -- case r3 of
+ -- Right ss -> mapM_ putStrLn ss
+ -- Left _ -> return ()
+ where
+ result :: (SomeException|[String]) -> (String|Int)
+ result (Left x) = Left x.getClass.getName
+ result (Right y) = (Right . sum . map length) y
+ -- mapM_ putStrLn r2
+
+
\ No newline at end of file
diff --git a/samples/Frege/Sudoku.fr b/samples/Frege/Sudoku.fr
new file mode 100644
index 00000000..88bfd966
--- /dev/null
+++ b/samples/Frege/Sudoku.fr
@@ -0,0 +1,561 @@
+package examples.Sudoku where
+
+import Data.TreeMap (Tree, keys)
+import Data.List as DL hiding (find, union)
+
+
+type Element = Int -- 1,2,3,4,5,6,7,8,9
+type Zelle = [Element] -- set of candidates
+type Position = Int -- 0..80
+type Feld = (Position, Zelle)
+type Brett = [Feld]
+
+--- data type for assumptions and conclusions
+data Assumption =
+ !ISNOT Position Element
+ | !IS Position Element
+
+
+derive Eq Assumption
+derive Ord Assumption
+instance Show Assumption where
+ show (IS p e) = pname p ++ "=" ++ e.show
+ show (ISNOT p e) = pname p ++ "/" ++ e.show
+
+showcs cs = joined " " (map Assumption.show cs)
+
+elements :: [Element] -- all possible elements
+elements = [1 .. 9]
+
+{-
+ a b c d e f g h i
+ 0 1 2 | 3 4 5 | 6 7 8 1
+ 9 10 11 |12 13 14 |15 16 17 2
+ 18 19 20 |21 22 23 |24 25 26 3
+ ---------|---------|--------
+ 27 28 29 |30 31 32 |33 34 35 4
+ 36 37 38 |39 40 41 |42 43 44 5
+ 45 46 47 |48 49 50 |51 52 53 6
+ ---------|---------|--------
+ 54 55 56 |57 58 59 |60 61 62 7
+ 63 64 65 |66 67 68 |69 70 71 8
+ 72 73 74 |75 76 77 |78 79 80 9
+-}
+
+positions :: [Position] -- all possible positions
+positions = [0..80]
+rowstarts :: [Position] -- all positions where a row is starting
+rowstarts = [0,9,18,27,36,45,54,63,72]
+colstarts :: [Position] -- all positions where a column is starting
+colstarts = [0,1,2,3,4,5,6,7,8]
+boxstarts :: [Position] -- all positions where a box is starting
+boxstarts = [0,3,6,27,30,33,54,57,60]
+boxmuster :: [Position] -- pattern for a box, by adding upper left position results in real box
+boxmuster = [0,1,2,9,10,11,18,19,20]
+
+
+--- extract field for position
+getf :: Brett -> Position -> Feld
+getf (f:fs) p
+ | fst f == p = f
+ | otherwise = getf fs p
+getf [] p = (p,[])
+
+
+--- extract cell for position
+getc :: Brett -> Position -> Zelle
+getc b p = snd (getf b p)
+
+--- compute the list of all positions that belong to the same row as a given position
+row :: Position -> [Position]
+row p = [z..(z+8)] where z = (p `quot` 9) * 9
+
+--- compute the list of all positions that belong to the same col as a given position
+col :: Position -> [Position]
+col p = map (c+) rowstarts where c = p `mod` 9
+
+--- compute the list of all positions that belong to the same box as a given position
+box :: Position -> [Position]
+box p = map (z+) boxmuster where
+ ri = p `div` 27 * 27 -- 0, 27 or 54, depending on row
+ ci = p `mod` 9 -- column index 0..8, 0,1,2 is left, 3,4,5 is middle, 6,7,8 is right
+ cs = ci `div` 3 * 3 -- 0, 3 or 6
+ z = ri + cs
+
+--- check if candidate set has exactly one member, i.e. field has been solved
+single :: Zelle -> Bool
+single [_] = true
+single _ = false
+
+unsolved :: Zelle -> Bool
+unsolved [_] = false
+unsolved _ = true
+
+-- list of rows, cols, boxes
+allrows = map row rowstarts
+allcols = map col colstarts
+allboxs = map box boxstarts
+allrcb = zip (repeat "row") allrows
+ ++ zip (repeat "col") allcols
+ ++ zip (repeat "box") allboxs
+
+
+containers :: [(Position -> [Position], String)]
+containers = [(row, "row"), (col, "col"), (box, "box")]
+
+-- ----------------- PRINTING ------------------------------------
+-- printable coordinate of field, upper left is a1, lower right is i9
+pname p = packed [chr (ord 'a' + p `mod` 9), chr (ord '1' + p `div` 9)]
+
+-- print board
+printb b = mapM_ p1line allrows >> println ""
+ where
+ p1line row = do
+ print (joined "" (map pfld line))
+ where line = map (getc b) row
+
+-- print field (brief)
+-- ? = no candidate
+-- 5 = field is 5
+-- . = some candidates
+pfld [] = "?"
+pfld [x] = show x
+pfld zs = "0"
+
+-- print initial/final board
+result msg b = do
+ println ("Result: " ++ msg)
+ print ("Board: ")
+ printb b
+ return b
+
+res012 b = case concatMap (getc b) [0,1,2] of
+ [a,b,c] -> a*100+b*10+c
+ _ -> 9999999
+
+-- -------------------------- BOARD ALTERATION ACTIONS ---------------------------------
+-- print a message about what is done to the board and return the new board
+turnoff1 :: Position -> Zelle -> Brett -> IO Brett
+turnoff1 i off b
+ | single nc = do
+ -- print (pname i)
+ -- print ": set to "
+ -- print (head nc)
+ -- println " (naked single)"
+ return newb
+ | otherwise = return newb
+ where
+ cell = getc b i
+ nc = filter (`notElem` off) cell
+ newb = (i, nc) : [ f | f <- b, fst f != i ]
+
+turnoff :: Int -> Zelle -> String -> Brett -> IO Brett
+turnoff i off msg b = do
+ -- print (pname i)
+ -- print ": set to "
+ -- print nc
+ -- print " by clearing "
+ -- print off
+ -- print " "
+ -- println msg
+ return newb
+ where
+ cell = getc b i
+ nc = filter (`notElem` off) cell
+ newb = (i, nc) : [ f | f <- b, fst f != i ]
+
+turnoffh ps off msg b = foldM toh b ps
+ where
+ toh b p = turnoff p off msg b
+
+setto :: Position -> Element -> String -> Brett -> IO Brett
+setto i n cname b = do
+ -- print (pname i)
+ -- print ": set to "
+ -- print n
+ -- print " (hidden single in "
+ -- print cname
+ -- println ")"
+ return newb
+ where
+ nf = [n]
+ newb = (i, nf) : [ f | f <- b, fst f != i ]
+
+
+-- ----------------------------- SOLVING STRATEGIES ---------------------------------------------
+-- reduce candidate sets that contains numbers already in same row, col or box
+-- This finds (and logs) NAKED SINGLEs in passing.
+reduce b = [ turnoff1 p sss | (p,cell) <- b, -- for each field
+ unsolved cell, -- with more than 1 candidate
+ -- single fields in containers that are candidates of that field
+ sss = [ s | (rcb, _) <- containers, [s] <- map (getc b) (rcb p), s `elem` cell],
+ sss != [] ] -- collect field index, elements to remove from candidate set
+
+-- look for a number that appears in exactly 1 candidate set of a container
+-- this number can go in no other place (HIDDEN SINGLE)
+hiddenSingle b = [ setto i n cname | -- select index, number, containername
+ (cname, rcb) <- allrcb, -- FOR rcb IN allrcb
+ n <- elements, -- FOR n IN elements
+ fs = filter (unsolved • snd) (map (getf b) rcb),
+ occurs = filter ((n `elem`) • snd) fs,
+ length occurs == 1,
+ (i, _) <- occurs ]
+
+-- look for NAKED PAIRS, TRIPLES, QUADS
+nakedPair n b = [ turnoff p t ("(naked tuple in " ++ nm ++ ")") | -- SELECT pos, tuple, name
+ -- n <- [2,3,4], // FOR n IN [2,3,4]
+ (nm, rcb) <- allrcb, -- FOR rcb IN containers
+ fs = map (getf b) rcb, -- let fs = fields for rcb positions
+ u = (fold union [] . filter unsolved . map snd) fs, -- let u = union of non single candidates
+ t <- n `outof` u, -- FOR t IN n-tuples
+ hit = (filter ((`subset` t) . snd) . filter (unsolved . snd)) fs,
+ length hit == n,
+ (p, cell) <- fs,
+ p `notElem` map fst hit,
+ any (`elem` cell) t
+ ]
+
+-- look for HIDDEN PAIRS, TRIPLES or QUADS
+hiddenPair n b = [ turnoff p off ("(hidden " ++ show t ++ " in " ++ nm ++ ")") | -- SELECT pos, tuple, name
+ -- n <- [2,3,4], // FOR n IN [2,3,4]
+ (nm, rcb) <- allrcb, -- FOR rcb IN containers
+ fs = map (getf b) rcb, -- let fs = fields for rcb positions
+ u = (fold union [] . filter ((>1) . length) . map snd) fs, -- let u = union of non single candidates
+ t <- n `outof` u, -- FOR t IN n-tuples
+ hit = (filter (any ( `elem` t) . snd) . filter (unsolved . snd)) fs,
+ length hit == n,
+ off = (fold union [] . map snd) hit `minus` t,
+ off != [],
+ (p, cell) <- hit,
+ ! (cell `subset` t)
+ ]
+
+a `subset` b = all (`elem` b) a
+a `union` b = uniq (sort (a ++ b))
+a `minus` b = filter (`notElem` b) a
+a `common` b = filter (`elem` b) a
+n `outof` as
+ | length as < n = []
+ | [] <- as = []
+ | 1 >= n = map (:[]) as
+ | (a:bs) <- as = map (a:) ((n-1) `outof` bs) ++ (n `outof` bs)
+ | otherwise = undefined -- cannot happen because either as is empty or not
+
+same f a b = b `elem` f a
+
+intersectionlist = [(allboxs, row, "box/row intersection"), (allboxs, col, "box/col intersection"),
+ (allrows ++ allcols, box, "line/box intersection")]
+intersections b = [
+ turnoff pos [c] reason | -- SELECT position, candidate, reson
+ (from, container, reason) <- intersectionlist,
+ rcb <- from,
+ fs = (filter (unsolved . snd) . map (getf b)) rcb, -- fs = fields in from with more than 1 candidate
+ c <- (fold union [] • map snd) fs, -- FOR c IN union of candidates
+ cpos = (map fst • filter ((c `elem`) • snd)) fs, -- cpos = positions where c occurs
+ cpos != [], -- WHERE cpos is not empty
+ all (same container (head cpos)) (tail cpos), -- WHERE all positions are in the intersection
+ -- we can remove all occurences of c that are in container, but not in from
+ (pos, cell) <- map (getf b) (container (head cpos)),
+ c `elem` cell,
+ pos `notElem` rcb ]
+
+
+-- look for an XY Wing
+-- - there exists a cell A with candidates X and Y
+-- - there exists a cell B with candidates X and Z that shares a container with A
+-- - there exists a cell C with candidates Y and Z that shares a container with A
+-- reasoning
+-- - if A is X, B will be Z
+-- - if A is Y, C will be Z
+-- - since A will indeed be X or Y -> B or C will be Z
+-- - thus, no cell that can see B and C can be Z
+xyWing board = [ turnoff p [z] ("xy wing " ++ pname b ++ " " ++ pname c ++ " because of " ++ pname a) |
+ (a, [x,y]) <- board, -- there exists a cell a with candidates x and y
+ rcba = map (getf board) (row a ++ col a ++ box a), -- rcba = all fields that share a container with a
+ (b, [b1, b2]) <- rcba,
+ b != a,
+ b1 == x && b2 != y || b2 == x && b1 != y, -- there exists a cell B with candidates x and z
+ z = if b1 == x then b2 else b1,
+ (c, [c1, c2]) <- rcba,
+ c != a, c!= b,
+ c1 == y && c2 == z || c1 == z && c2 == y, -- there exists a cell C with candidates y and z
+ ps = (uniq . sort) ((row b ++ col b ++ box b) `common` (row c ++ col c ++ box c)),
+ -- remove z in ps
+ (p, cs) <- map (getf board) ps,
+ p != b, p != c,
+ z `elem` cs ]
+
+-- look for a N-Fish (2: X-Wing, 3: Swordfish, 4: Jellyfish)
+-- When all candidates for a particular digit in N rows are located
+-- in only N columns, we can eliminate all candidates from those N columns
+-- which are not located on those N rows
+fish n board = fish "row" allrows row col ++ fish "col" allcols col row where
+ fishname 2 = "X-Wing"
+ fishname 3 = "Swordfish"
+ fishname 4 = "Jellyfish"
+ fishname _ = "unknown fish"
+ fish nm allrows row col = [ turnoff p [x] (fishname n ++ " in " ++ nm ++ " " ++ show (map (pname . head) rset)) |
+ rset <- n `outof` allrows, -- take n rows (or cols)
+ x <- elements, -- look for certain number
+ rflds = map (filter ((>1) . length . snd) . map (getf board)) rset, -- unsolved fields in the rowset
+ colss = (map (map (head . col . fst) . filter ((x `elem`) . snd)) rflds), -- where x occurs in candidates
+ all ((>1) . length) colss, -- x must appear in at least 2 cols
+ cols = fold union [] colss,
+ length cols == n,
+ cstart <- cols,
+ (p, cell) <- map (getf board) (col cstart),
+ x `elem` cell,
+ all (p `notElem`) rset]
+
+
+-- compute immediate consequences of an assumption of the form (p `IS` e) or (p `ISNOT` e)
+conseq board (IS p e) = uniq (sort ([ p `ISNOT` x | x <- getc board p, x != e ] ++
+ [ a `ISNOT` e |
+ (a,cs) <- map (getf board) (row p ++ col p ++ box p),
+ a != p,
+ e `elem` cs
+ ]))
+conseq board (ISNOT p e) = uniq (sort ([ p `IS` x | cs = getc board p, length cs == 2, x <- cs, x != e ] ++
+ [ a `IS` e |
+ cp <- [row p, box p, col p],
+ as = (filter ((e `elem`) . getc board) . filter (p!=)) cp,
+ length as == 1,
+ a = head as
+ ]))
+
+-- check if two assumptions contradict each other
+contradicts (IS a x) (IS b y) = a==b && x!=y
+contradicts (IS a x) (ISNOT b y) = a==b && x==y
+contradicts (ISNOT a x) (IS b y) = a==b && x==y
+contradicts (ISNOT _ _) (ISNOT _ _) = false
+
+-- get the Position of an Assumption
+aPos (IS p _) = p
+aPos (ISNOT p _) = p
+
+-- get List of elements that must be turned off when assumption is true/false
+toClear board true (IS p x) = filter (x!=) (getc board p)
+toClear board false (IS p x) = [x]
+toClear board true (ISNOT p x) = [x]
+toClear board false (ISNOT p x) = filter (x!=) (getc board p)
+
+
+-- look for assumptions whose implications contradict themself
+chain board paths = [ solution a (head cs) (reverse cs) |
+ (a, css) <- paths,
+ cs <- take 1 [ cs | cs <- css, contradicts a (head cs) ]
+ ]
+ where
+ solution a c cs = turnoff (aPos a) (toClear board false a) reason where
+ reason = "Assumption " ++ show a ++ " implies " ++ show c ++ "\n\t"
+ ++ showcs cs ++ "\n\t"
+ ++ "Therefore, " ++ show a ++ " must be false."
+
+-- look for an assumption that yields to contradictory implications
+-- this assumption must be false
+chainContra board paths = [ solution a (reverse pro) (reverse contra) |
+ (a, css) <- paths, -- FOR ALL assumptions "a" with list of conlusions "css"
+ (pro, contra) <- take 1 [ (pro, contra) |
+ pro <- (uniqBy (using head) . sortBy (comparing head)) css, -- FOR ALL conslusion chains "pro"
+ c = head pro, -- LET "c" BE the final conclusion
+ contra <- take 1 (filter ((contradicts c) . head) css) -- THE FIRST conclusion that contradicts c
+ ]
+ ]
+ where
+ solution a pro con = turnoff (aPos a) (toClear board false a) reason where
+ reason = ("assumption " ++ show a ++ " leads to contradictory conclusions\n\t"
+ ++ showcs pro ++ "\n\t" ++ showcs con)
+
+
+
+-- look for a common implication c of some assumptions ai, where at least 1 ai is true
+-- so that (a0 OR a1 OR a2 OR ...) IMPLIES c
+-- For all cells pi in same container that have x as candidate, we can construct (p0==x OR p1==x OR ... OR pi==x)
+-- For a cell p with candidates ci, we can construct (p==c0 OR p==c1)
+cellRegionChain board paths = [ solution b as (map head os) |
+ as <- cellas ++ regionas, -- one of as must be true
+ iss = filter ((`elem` as) . fst) paths, -- the implications for as
+ (a, ass) <- take 1 iss, -- implications for first assumption
+ fs <- (uniqBy (using head) . sortBy (comparing head)) ass,
+ b = head fs, -- final conclusions of first assumption
+ os = [fs] : map (take 1 . filter ((b==) . head) . snd) (tail iss), -- look for implications with same conclusion
+ all ([]!=) os]
+ where
+ cellas = [ map (p `IS`) candidates | (p, candidates@(_:_:_)) <- board ]
+ regionas = [ map (`IS` e) ps |
+ region <- map (map (getf board)) (allrows ++ allcols ++ allboxs),
+ e <- elements,
+ ps = map fst (filter ((e `elem`) . snd) region),
+ length ps > 1 ]
+ solution b as oss = turnoff (aPos b) (toClear board true b) reason where
+ reason = "all of the assumptions " ++ joined ", " (map show as) ++ " imply " ++ show b ++ "\n\t"
+ ++ joined "\n\t" (map (showcs . reverse) oss) ++ "\n\t"
+ ++ "One of them must be true, so " ++ show b ++ " must be true."
+
+
+{-
+ Wir brauchen für einige Funktionen eine Datenstruktur wie
+ [ (Assumption, [[Assumption]]) ]
+ d.i. eine Liste von möglichen Annahmen samt aller Schlußketten.
+ Idealerweise sollte die Schlußkette in umgekehrter Reihenfolge vorliegen,
+ dann kann man einfach finden:
+ - Annahmen, die zum Selbstwiderspruch führen.
+ - alles, was aus einer bestimmten Annahme folgt (map (map head) [[a]])
+ -...
+-}
+--- Liste aller Annahmen für ein bestimmtes Brett
+assumptions :: Brett -> [Assumption]
+assumptions board = [ a |
+ (p, cs) <- board,
+ !(single cs),
+ a <- map (ISNOT p) cs ++ map (IS p) cs ]
+
+consequences :: Brett -> [Assumption] -> [[Assumption]]
+consequences board as = map (conseq board) as
+
+acstree :: Brett -> Tree Assumption [Assumption]
+acstree board = Tree.fromList (zip as cs)
+ where
+ as = assumptions board
+ cs = consequences board as
+
+-- bypass maybe on tree lookup
+find :: Tree Assumption [Assumption] -> Assumption -> [Assumption]
+find t a
+ | Just cs <- t.lookup a = cs
+ | otherwise = error ("no consequences for " ++ show a)
+
+-- for performance resons, we confine ourselves to implication chains of length 20 per assumption
+mkPaths :: Tree Assumption [Assumption] -> [ (Assumption, [[Assumption]]) ]
+mkPaths acst = map impl (keys acst) -- {[a1], [a2], [a3] ]
+ where
+ -- [Assumption] -> [(a, [chains, ordered by length]
+ impl a = (a, impls [[a]])
+ impls ns = (take 1000 • concat • takeUntil null • iterate expandchain) ns
+ -- expandchain :: [[Assumption]] -> [[Assumption]]
+ expandchain css = [ (n:a:as) |
+ (a : as) <- css, -- list of assumptions
+ n <- find acst a, -- consequences of a
+ n `notElem` as -- avoid loops
+ ]
+ -- uni (a:as) = a : uni (filter ((head a !=) • head) as)
+ -- uni [] = empty
+ -- empty = []
+
+
+-- ------------------ SOLVE A SUDOKU --------------------------
+-- Apply all available strategies until nothing changes anymore
+-- Strategy functions are supposed to return a list of
+-- functions, which, when applied to a board, give a changed board.
+-- When a strategy does not find anything to alter,
+-- it returns [], and the next strategy can be tried.
+solve b
+ | all (single . snd) b = result "Solved" b
+ | any (([]==) . snd) b = result "not solvable" b
+ | res@(_:_) <- reduce b = apply b res >>=solve -- compute smallest candidate sets
+ -- comment "candidate sets are up to date" = ()
+ | res@(_:_) <- hiddenSingle b = apply b res >>= solve -- find HIDDEN SINGLES
+ -- comment "no more hidden singles" = ()
+ | res@(_:_) <- intersections b = apply b res >>= solve -- find locked candidates
+ -- comment "no more intersections" = ()
+ | res@(_:_) <- nakedPair 2 b = apply b res >>= solve -- find NAKED PAIRS, TRIPLES or QUADRUPELS
+ -- comment "no more naked pairs" = ()
+ | res@(_:_) <- hiddenPair 2 b = apply b res >>= solve -- find HIDDEN PAIRS, TRIPLES or QUADRUPELS
+ -- comment "no more hidden pairs" = ()
+ -- res@(_:_) <- nakedPair 3 b = apply b res >>= solve // find NAKED PAIRS, TRIPLES or QUADRUPELS
+ -- | comment "no more naked triples" = ()
+ -- res@(_:_) <- hiddenPair 3 b = apply b res >>= solve // find HIDDEN PAIRS, TRIPLES or QUADRUPELS
+ -- | comment "no more hidden triples" = ()
+ -- res@(_:_) <- nakedPair 4 b = apply b res >>=solve // find NAKED PAIRS, TRIPLES or QUADRUPELS
+ -- | comment "no more naked quadruples" = ()
+ -- res@(_:_) <- hiddenPair 4 b = apply b res >>=solve // find HIDDEN PAIRS, TRIPLES or QUADRUPELS
+ -- | comment "no more hidden quadruples" = ()
+ | res@(_:_) <- xyWing b = apply b res >>=solve -- find XY WINGS
+ -- comment "no more xy wings" = ()
+ | res@(_:_) <- fish 2 b = apply b res >>=solve -- find 2-FISH
+ -- comment "no more x-wings" = ()
+ -- res@(_:_) <- fish 3 b = apply b res >>=solve // find 3-FISH
+ -- | comment "no more swordfish" = ()
+ -- res@(_:_) <- fish 4 b = apply b res >>=solve // find 4-FISH
+ -- | comment "no more jellyfish" = ()
+ -- | comment pcomment = ()
+ | res@(_:_) <- chain b paths = apply b (take 9 res) >>= solve -- find forcing chains
+ | res@(_:_) <- cellRegionChain b paths = apply b (take 9 res) >>= solve -- find common conclusion for true assumption
+ | res@(_:_) <- chainContra b paths = apply b (take 9 res) >>= solve -- find assumptions that allow to infer both a and !a
+ -- comment "consistent conclusions only" = ()
+
+ | otherwise = result "ambiguous" b
+ where
+ apply brd fs = foldM (\b\f -> f b) brd fs
+ paths = mkPaths (acstree b)
+ -- pcomment = show (length paths) ++ " assumptions with " ++ show (fold (+) 0 (map (length <~ snd) paths))
+ -- ++ " implication chains"
+
+-- comment com = do stderr << com << "\n" for false
+-- log com = do stderr << com << "\n" for true
+
+--- turn a string into a row
+mkrow :: String -> [Zelle]
+mkrow s = mkrow1 xs
+ where
+ xs = s ++ "---------" -- make sure at least 9 elements
+ mkrow1 xs = (take 9 • filter ([]!=) • map f • unpacked) xs
+ f x | x >= '1' && x <= '9' = [ord x - ord '0']
+ | x == ' ' = [] -- ignored
+ | otherwise = elements
+
+main ["-h"] = main []
+main ["-help"] = main []
+main [] = do
+ mapM_ stderr.println [
+ "usage: java Sudoku file ...",
+ " java Sudoku position",
+ "where position is a 81 char string consisting of digits",
+ "One can get such a string by going to",
+ "http://www.sudokuoftheday.com/pages/s-o-t-d.php",
+ "Right click on the puzzle and open it in new tab",
+ "Copy the 81 digits from the URL in the address field of your browser.",
+ "",
+ "There is also a file with hard sudokus in examples/top95.txt\n"]
+ return ()
+
+
+main [s@#^[0-9\W]{81}$#] = solve board >> return ()
+ where
+ board = zip positions felder
+ felder = decode s
+
+main files = forM_ files sudoku
+ where
+ sudoku file = do
+ br <- openReader file
+ lines <- BufferedReader.getLines br
+ bs <- process lines
+ ss <- mapM (\b -> print "Puzzle: " >> printb b >> solve b) bs
+ println ("Euler: " ++ show (sum (map res012 ss)))
+ return ()
+
+-- "--3-" => [1..9, 1..9, [3], 1..9]
+decode s = map candi (unpacked s) where
+ candi c | c >= '1' && c <= '9' = [(ord c - ord '0')]
+ | otherwise = elements
+process [] = return []
+process (s:ss)
+ | length s == 81 = consider b1
+ | length s == 9,
+ length acht == 8,
+ all ((9==) • length) acht = consider b2
+ | otherwise = do
+ stderr.println ("skipped line: " ++ s)
+ process ss
+ where
+ acht = take 8 ss
+ neun = fold (++) "" (s:acht)
+ b1 = zip positions (decode s)
+ b2 = zip positions (decode neun)
+ consider b = do
+ -- print "Puzzle: "
+ -- printb b
+ bs <- process ss
+ return (b:bs)
+
diff --git a/samples/Frege/SwingExamples.fr b/samples/Frege/SwingExamples.fr
new file mode 100644
index 00000000..73569546
--- /dev/null
+++ b/samples/Frege/SwingExamples.fr
@@ -0,0 +1,79 @@
+package examples.SwingExamples where
+
+import Java.Awt (ActionListener)
+import Java.Swing
+
+
+main _ = do
+ rs <- mapM Runnable.new [helloWorldGUI, buttonDemoGUI, celsiusConverterGUI]
+ mapM_ invokeLater rs
+ println "Hit enter to end ...."
+ s <- getLine
+ return ()
+
+celsiusConverterGUI = do
+ tempTextField <- JTextField.new()
+ celsiusLabel <- JLabel.new ()
+ convertButton <- JButton.new ()
+ fahrenheitLabel <- JLabel.new ()
+ frame <- JFrame.new ()
+ frame.setDefaultCloseOperation JFrame.dispose_on_close
+ frame.setTitle "Celsius Converter"
+ celsiusLabel.setText "Celsius"
+ convertButton.setText "Convert"
+ let convertButtonActionPerformed _ = do
+ celsius <- tempTextField.getText
+ case celsius.double of
+ Left _ -> fahrenheitLabel.setText ("not a valid number: " ++ celsius)
+ Right c -> fahrenheitLabel.setText (show (c*1.8 + 32.0).long ++ " Fahrenheit")
+ return ()
+ ActionListener.new convertButtonActionPerformed >>= convertButton.addActionListener
+ fahrenheitLabel.setText "Fahrenheit"
+ contentPane <- frame.getContentPane
+ layout <- GroupLayout.new contentPane
+ contentPane.setLayout layout
+ -- TODO continue
+ -- http://docs.oracle.com/javase/tutorial/displayCode.html?code=http://docs.oracle.com/javase/tutorial/uiswing/examples/learn/CelsiusConverterProject/src/learn/CelsiusConverterGUI.java
+ frame.pack
+ frame.setVisible true
+
+helloWorldGUI = do
+ frame <- JFrame.new "Hello World Frege"
+ frame.setDefaultCloseOperation(JFrame.dispose_on_close)
+ label <- JLabel.new "Hello World!"
+ cp <- frame.getContentPane
+ cp.add label
+ frame.pack
+ frame.setVisible true
+
+buttonDemoGUI = do
+ frame <- JFrame.new "Button Demo"
+ frame.setDefaultCloseOperation(JFrame.dispose_on_close)
+ newContentPane <- JPanel.new ()
+ b1::JButton <- JButton.new "Disable middle button"
+ b1.setVerticalTextPosition SwingConstants.center
+ b1.setHorizontalTextPosition SwingConstants.leading
+ b2::JButton <- JButton.new "Middle button"
+ b2.setVerticalTextPosition SwingConstants.center
+ b2.setHorizontalTextPosition SwingConstants.leading
+ b3::JButton <- JButton.new "Enable middle button"
+ b3.setVerticalTextPosition SwingConstants.center
+ b3.setHorizontalTextPosition SwingConstants.leading
+ b3.setEnabled false
+ let action1 _ = do
+ b2.setEnabled false
+ b1.setEnabled false
+ b3.setEnabled true
+ action3 _ = do
+ b2.setEnabled true
+ b1.setEnabled true
+ b3.setEnabled false
+ ActionListener.new action1 >>= b1.addActionListener
+ ActionListener.new action3 >>= b3.addActionListener
+ newContentPane.add b1
+ newContentPane.add b2
+ newContentPane.add b3
+ newContentPane.setOpaque true
+ frame.setContentPane newContentPane
+ frame.pack
+ frame.setVisible true
diff --git a/samples/GAP/Magic.gd b/samples/GAP/Magic.gd
new file mode 100644
index 00000000..cdd8baec
--- /dev/null
+++ b/samples/GAP/Magic.gd
@@ -0,0 +1,307 @@
+#############################################################################
+##
+## Magic.gd AutoDoc package
+##
+## Copyright 2013, Max Horn, JLU Giessen
+## Sebastian Gutsche, University of Kaiserslautern
+##
+#############################################################################
+
+
+#! @Description
+#! This is the main function of the &AutoDoc; package. It can perform
+#! any combination of the following three tasks:
+#!
+#! -
+#! It can (re)generate a scaffold for your package manual.
+#! That is, it can produce two XML files in &GAPDoc; format to be used as part
+#! of your manual: First, a file named doc/PACKAGENAME.xml
+#! (with your package's name substituted) which is used as
+#! main file for the package manual, i.e. this file sets the
+#! XML DOCTYPE and defines various XML entities, includes
+#! other XML files (both those generated by &AutoDoc; as well
+#! as additional files created by other means), tells &GAPDoc;
+#! to generate a table of content and an index, and more.
+#! Secondly, it creates a file doc/title.xml containing a title
+#! page for your documentation, with information about your package
+#! (name, description, version), its authors and more, based
+#! on the data in your PackageInfo.g.
+#!
+#! -
+#! It can scan your package for &AutoDoc; based documentation (by using &AutoDoc;
+#! tags and the Autodoc command.
+#! This will
+#! produce further XML files to be used as part of the package manual.
+#!
+#! -
+#! It can use &GAPDoc; to generate PDF, text and HTML (with
+#! MathJaX enabled) documentation from the &GAPDoc; XML files it
+#! generated as well as additional such files provided by you. For
+#! this, it invokes
+#! to convert the XML sources, and it also instructs &GAPDoc; to copy
+#! supplementary files (such as CSS style files) into your doc directory
+#! (see ).
+#!
+#!
+#! For more information and some examples, please refer to Chapter .
+#!
+#! The parameters have the following meanings:
+#!
+#!
+#! package_name
+#! -
+#! The name of the package whose documentation should be(re)generated.
+#!
+#!
+#!
+#! option_record
+#! -
+#! option_record can be a record with some additional options.
+#! The following are currently supported:
+#!
+#! dir
+#! -
+#! This should be a string containing a (relative) path or a
+#! Directory() object specifying where the package documentation
+#! (i.e. the &GAPDoc; XML files) are stored.
+#!
+#! Default value: "doc/".
+#!
+#! scaffold
+#! -
+#! This controls whether and how to generate scaffold XML files
+#! for the main and title page of the package's documentation.
+#!
+#! The value should be either true, false or a
+#! record. If it is a record or true (the latter is
+#! equivalent to specifying an empty record), then this feature is
+#! enabled. It is also enabled if opt.scaffold is missing but the
+#! package's info record in PackageInfo.g has an AutoDoc entry.
+#! In all other cases (in particular if opt.scaffold is
+#! false), scaffolding is disabled.
+#!
+#!
+#! If opt.scaffold is a record, it may contain the following entries.
+#!
+#### TODO: mention merging with PackageInfo.AutoDoc!
+#!
+#!
+#! includes
+#! -
+#! A list of XML files to be included in the body of the main XML file.
+#! If you specify this list and also are using &AutoDoc; to document
+#! your operations with &AutoDoc; comments,
+#! you can add AutoDocMainFile.xml to this list
+#! to control at which point the documentation produced by &AutoDoc;
+#! is inserted. If you do not do this, it will be added after the last
+#! of your own XML files.
+#!
+#!
+#! appendix
+#! -
+#! This entry is similar to opt.scaffold.includes but is used
+#! to specify files to include after the main body of the manual,
+#! i.e. typically appendices.
+#!
+#!
+#! bib
+#! -
+#! The name of a bibliography file, in Bibtex or XML format.
+#! If this key is not set, but there is a file doc/PACKAGENAME.bib
+#! then it is assumed that you want to use this as your bibliography.
+#!
+#!
+#### TODO: The 'entities' param is a bit strange. We should probably change it to be a bit more
+#### general, as one might want to define other entities... For now, we do not document it
+#### to leave us the choice of revising how it works.
+####
+#### entities
+#### -
+#### A list of package names or other entities which are used to define corresponding XML entities.
+#### For example, if set to a list containing the string
SomePackage ,
+#### then the following is added to the XML preamble:
+#### SomePackage'>]]>
+#### This allows you to write &SomePackage; in your documentation
+#### to reference that package. If another type of entity is desired, one can simply add,
+#### instead of a string, add a two entry list a to the list. It will be handled as
+#### a[ 2 ]'>]]>,
+#### so please be careful.
+####
+#!
+#! TitlePage
+#! -
+#! A record whose entries are used to embellish the generated titlepage
+#! for the package manual with extra information, such as a copyright
+#! statement or acknowledgments. To this end, the names of the record
+#! components are used as XML element names, and the values of the
+#! components are outputted as content of these XML elements. For
+#! example, you could pass the following record to set a custom
+#! acknowledgements text:
+#!
+#! For a list of valid entries in the titlepage, please refer to the
+#! &GAPDoc; manual, specifically section
+#! and following.
+#!
+#! document_class
+#! -
+#! Sets the document class of the resulting pdf. The value can either be a string
+#! which has to be the name of the new document class, a list containing this string, or
+#! a list of two strings. Then the first one has to be the document class name, the second one
+#! the option string ( contained in [ ] ) in LaTeX.
+#!
+#! latex_header_file
+#! -
+#! Replaces the standard header from &GAPDoc; completely with the header in this LaTeX file.
+#! Please be careful here, and look at GAPDoc's latexheader.tex file for an example.
+#!
+#! gapdoc_latex_options
+#! -
+#! Must be a record with entries which can be understood by SetGapDocLaTeXOptions. Each entry can be a string, which
+#! will be given to &GAPDoc; directly, or a list containing of two entries: The first one must be the string "file",
+#! the second one a filename. This file will be read and then its content is passed to &GAPDoc; as option with the name
+#! of the entry.
+#!
+#!
+#!
+#!
+#!
+#!
+#! autodoc
+#! -
+#! This controls whether and how to generate addition XML documentation files
+#! by scanning for &AutoDoc; documentation comments.
+#!
+#! The value should be either true, false or a
+#! record. If it is a record or true (the latter is
+#! equivalent to specifying an empty record), then this feature is
+#! enabled. It is also enabled if opt.autodoc is missing but the
+#! package depends (directly) on the &AutoDoc; package.
+#! In all other cases (in particular if opt.autodoc is
+#! false), this feature is disabled.
+#!
+#!
+#! If opt.autodoc is a record, it may contain the following entries.
+#!
+#!
+#!
+#! files
+#! -
+#! A list of files (given by paths relative to the package directory)
+#! to be scanned for &AutoDoc; documentation comments.
+#! Usually it is more convenient to use autodoc.scan_dirs, see below.
+#!
+#!
+#! scan_dirs
+#! -
+#! A list of subdirectories of the package directory (given as relative paths)
+#! which &AutoDoc; then scans for .gi, .gd and .g files; all of these files
+#! are then scanned for &AutoDoc; documentation comments.
+#!
+#! Default value: [ "gap", "lib", "examples", "examples/doc" ].
+#!
+#!
+#! level
+#! -
+#! This defines the level of the created documentation. The default value is 0.
+#! When parts of the manual are declared with a higher value
+#! they will not be printed into the manual.
+#!
+#!
+#### TODO: Document section_intros later on.
+#### However, note that thanks to the new AutoDoc comment syntax, the only remaining
+#### use for this seems to be the ability to specify the order of chapters and
+#### sections.
+#### section_intros
+#### -
+#### TODO.
+####
+#!
+#!
+#!
+#!
+#!
+#! gapdoc
+#! -
+#! This controls whether and how to invoke &GAPDoc; to create HTML, PDF and text
+#! files from your various XML files.
+#!
+#! The value should be either true, false or a
+#! record. If it is a record or true (the latter is
+#! equivalent to specifying an empty record), then this feature is
+#! enabled. It is also enabled if opt.gapdoc is missing.
+#! In all other cases (in particular if opt.gapdoc is
+#! false), this feature is disabled.
+#!
+#!
+#! If opt.gapdoc is a record, it may contain the following entries.
+#!
+#!
+#!
+#!
+#### Note: 'main' is strictly speaking also used for the scaffold.
+#### However, if one uses the scaffolding mechanism, then it is not
+#### really necessary to specify a custom name for the main XML file.
+#### Thus, the purpose of this parameter is to cater for packages
+#### that have existing documentation using a different XML name,
+#### and which do not wish to use scaffolding.
+####
+#### This explain why we only allow specifying gapdoc.main.
+#### The scaffolding code will still honor it, though, just in case.
+#! main
+#! -
+#! The name of the main XML file of the package manual.
+#! This exists primarily to support packages with existing manual
+#! which use a filename here which differs from the default.
+#! In particular, specifying this is unnecessary when using scaffolding.
+#!
+#! Default value: PACKAGENAME.xml.
+#!
+#!
+#! files
+#! -
+#! A list of files (given by paths relative to the package directory)
+#! to be scanned for &GAPDoc; documentation comments.
+#! Usually it is more convenient to use gapdoc.scan_dirs, see below.
+#!
+#!
+#! scan_dirs
+#! -
+#! A list of subdirectories of the package directory (given as relative paths)
+#! which &AutoDoc; then scans for .gi, .gd and .g files; all of these files
+#! are then scanned for &GAPDoc; documentation comments.
+#!
+#! Default value: [ "gap", "lib", "examples", "examples/doc" ].
+#!
+#!
+#!
+#!
+## This is the maketest part. Still under construction.
+#! maketest
+#! -
+#! The maketest item can be true or a record. When it is true,
+#! a simple maketest.g is created in the main package directory,
+#! which can be used to test the examples from the manual. As a record,
+#! the entry can have the following entries itself, to specify some options.
+#!
+#! filename
+#! -
+#! Sets the name of the test file.
+#!
+#! commands
+#! -
+#! A list of strings, each one a command, which
+#! will be executed at the beginning of the test file.
+#!
+#!
+#!
+#!
+#!
+#!
+#!
+#!
+#! @Returns nothing
+#! @Arguments package_name[, option_record ]
+#! @ChapterInfo AutoDoc, The AutoDoc() function
+DeclareGlobalFunction( "AutoDoc" );
+
diff --git a/samples/GAP/Magic.gi b/samples/GAP/Magic.gi
new file mode 100644
index 00000000..5202a1de
--- /dev/null
+++ b/samples/GAP/Magic.gi
@@ -0,0 +1,534 @@
+#############################################################################
+##
+## Magic.gi AutoDoc package
+##
+## Copyright 2013, Max Horn, JLU Giessen
+## Sebastian Gutsche, University of Kaiserslautern
+##
+#############################################################################
+
+# Check if a string has the given suffix or not. Another
+# name for this would "StringEndsWithOtherString".
+# For example, AUTODOC_HasSuffix("file.gi", ".gi") returns
+# true while AUTODOC_HasSuffix("file.txt", ".gi") returns false.
+BindGlobal( "AUTODOC_HasSuffix",
+function(str, suffix)
+ local n, m;
+ n := Length(str);
+ m := Length(suffix);
+ return n >= m and str{[n-m+1..n]} = suffix;
+end );
+
+# Given a string containing a ".", , return its suffix,
+# i.e. the bit after the last ".". For example, given "test.txt",
+# it returns "txt".
+BindGlobal( "AUTODOC_GetSuffix",
+function(str)
+ local i;
+ i := Length(str);
+ while i > 0 and str[i] <> '.' do i := i - 1; od;
+ if i < 0 then return ""; fi;
+ return str{[i+1..Length(str)]};
+end );
+
+# Check whether the given directory exists, and if not, attempt
+# to create it.
+BindGlobal( "AUTODOC_CreateDirIfMissing",
+function(d)
+ local tmp;
+ if not IsDirectoryPath(d) then
+ tmp := CreateDir(d); # Note: CreateDir is currently undocumented
+ if tmp = fail then
+ Error("Cannot create directory ", d, "\n",
+ "Error message: ", LastSystemError().message, "\n");
+ return false;
+ fi;
+ fi;
+ return true;
+end );
+
+
+# Scan the given (by name) subdirs of a package dir for
+# files with one of the given extensions, and return the corresponding
+# filenames, as relative paths (relative to the package dir).
+#
+# For example, the invocation
+# AUTODOC_FindMatchingFiles("AutoDoc", [ "gap/" ], [ "gi", "gd" ]);
+# might return a list looking like
+# [ "gap/AutoDocMainFunction.gd", "gap/AutoDocMainFunction.gi", ... ]
+BindGlobal( "AUTODOC_FindMatchingFiles",
+function (pkg, subdirs, extensions)
+ local d_rel, d, tmp, files, result;
+
+ result := [];
+
+ for d_rel in subdirs do
+ # Get the absolute path to the directory in side the package...
+ d := DirectoriesPackageLibrary( pkg, d_rel );
+ if IsEmpty( d ) then
+ continue;
+ fi;
+ d := d[1];
+ # ... but also keep the relative path (such as "gap")
+ d_rel := Directory( d_rel );
+
+ files := DirectoryContents( d );
+ Sort( files );
+ for tmp in files do
+ if not AUTODOC_GetSuffix( tmp ) in [ "g", "gi", "gd", "autodoc" ] then
+ continue;
+ fi;
+ if not IsReadableFile( Filename( d, tmp ) ) then
+ continue;
+ fi;
+ Add( result, Filename( d_rel, tmp ) );
+ od;
+ od;
+ return result;
+end );
+
+
+# AutoDoc(pkg[, opt])
+#
+## Make this function callable with the package_name AutoDocWorksheet.
+## Which will then create a worksheet!
+InstallGlobalFunction( AutoDoc,
+function( arg )
+ local pkg, package_info, opt, scaffold, gapdoc, maketest,
+ autodoc, pkg_dir, doc_dir, doc_dir_rel, d, tmp,
+ title_page, tree, is_worksheet, position_document_class, i, gapdoc_latex_option_record;
+
+ pkg := arg[1];
+
+ if LowercaseString( pkg ) = "autodocworksheet" then
+ is_worksheet := true;
+ package_info := rec( );
+ pkg_dir := DirectoryCurrent( );
+ else
+ is_worksheet := false;
+ package_info := PackageInfo( pkg )[ 1 ];
+ pkg_dir := DirectoriesPackageLibrary( pkg, "" )[1];
+ fi;
+
+ if Length(arg) >= 2 then
+ opt := arg[2];
+ else
+ opt := rec();
+ fi;
+
+ # Check for certain user supplied options, and if present, add them
+ # to the opt record.
+ tmp := function( key )
+ local val;
+ val := ValueOption( key );
+ if val <> fail then
+ opt.(key) := val;
+ fi;
+ end;
+
+ tmp( "dir" );
+ tmp( "scaffold" );
+ tmp( "autodoc" );
+ tmp( "gapdoc" );
+ tmp( "maketest" );
+
+ #
+ # Setup the output directory
+ #
+ if not IsBound( opt.dir ) then
+ doc_dir := "doc";
+ elif IsString( opt.dir ) or IsDirectory( opt.dir ) then
+ doc_dir := opt.dir;
+ else
+ Error( "opt.dir must be a string containing a path, or a directory object" );
+ fi;
+
+ if IsString( doc_dir ) then
+ # Record the relative version of the path
+ doc_dir_rel := Directory( doc_dir );
+
+ # We intentionally do not use
+ # DirectoriesPackageLibrary( pkg, "doc" )
+ # because it returns an empty list if the subdirectory is missing.
+ # But we want to handle that case by creating the directory.
+ doc_dir := Filename(pkg_dir, doc_dir);
+ doc_dir := Directory(doc_dir);
+
+ else
+ # TODO: doc_dir_rel = ... ?
+ fi;
+
+ # Ensure the output directory exists, create it if necessary
+ AUTODOC_CreateDirIfMissing(Filename(doc_dir, ""));
+
+ # Let the developer know where we are generating the documentation.
+ # This helps diagnose problems where multiple instances of a package
+ # are visible to GAP and the wrong one is used for generating the
+ # documentation.
+ # TODO: Using Info() instead of Print?
+ Print( "Generating documentation in ", doc_dir, "\n" );
+
+ #
+ # Extract scaffolding settings, which can be controlled via
+ # opt.scaffold or package_info.AutoDoc. The former has precedence.
+ #
+ if not IsBound(opt.scaffold) then
+ # Default: enable scaffolding if and only if package_info.AutoDoc is present
+ if IsBound( package_info.AutoDoc ) then
+ scaffold := rec( );
+ fi;
+ elif IsRecord(opt.scaffold) then
+ scaffold := opt.scaffold;
+ elif IsBool(opt.scaffold) then
+ if opt.scaffold = true then
+ scaffold := rec();
+ fi;
+ else
+ Error("opt.scaffold must be a bool or a record");
+ fi;
+
+ # Merge package_info.AutoDoc into scaffold
+ if IsBound(scaffold) and IsBound( package_info.AutoDoc ) then
+ AUTODOC_APPEND_RECORD_WRITEONCE( scaffold, package_info.AutoDoc );
+ fi;
+
+ if IsBound( scaffold ) then
+ AUTODOC_WriteOnce( scaffold, "TitlePage", true );
+ AUTODOC_WriteOnce( scaffold, "MainPage", true );
+ fi;
+
+
+ #
+ # Extract AutoDoc settings
+ #
+ if not IsBound(opt.autodoc) and not is_worksheet then
+ # Enable AutoDoc support if the package depends on AutoDoc.
+ tmp := Concatenation( package_info.Dependencies.NeededOtherPackages,
+ package_info.Dependencies.SuggestedOtherPackages );
+ if ForAny( tmp, x -> LowercaseString(x[1]) = "autodoc" ) then
+ autodoc := rec();
+ fi;
+ elif IsRecord(opt.autodoc) then
+ autodoc := opt.autodoc;
+ elif IsBool(opt.autodoc) and opt.autodoc = true then
+ autodoc := rec();
+ fi;
+
+ if IsBound(autodoc) then
+ if not IsBound( autodoc.files ) then
+ autodoc.files := [ ];
+ fi;
+
+ if not IsBound( autodoc.scan_dirs ) and not is_worksheet then
+ autodoc.scan_dirs := [ "gap", "lib", "examples", "examples/doc" ];
+ elif not IsBound( autodoc.scan_dirs ) and is_worksheet then
+ autodoc.scan_dirs := [ ];
+ fi;
+
+ if not IsBound( autodoc.level ) then
+ autodoc.level := 0;
+ fi;
+
+ PushOptions( rec( level_value := autodoc.level ) );
+
+ if not is_worksheet then
+ Append( autodoc.files, AUTODOC_FindMatchingFiles(pkg, autodoc.scan_dirs, [ "g", "gi", "gd" ]) );
+ fi;
+ fi;
+
+ #
+ # Extract GAPDoc settings
+ #
+ if not IsBound( opt.gapdoc ) then
+ # Enable GAPDoc support by default
+ gapdoc := rec();
+ elif IsRecord( opt.gapdoc ) then
+ gapdoc := opt.gapdoc;
+ elif IsBool( opt.gapdoc ) and opt.gapdoc = true then
+ gapdoc := rec();
+ fi;
+
+ #
+ # Extract test settings
+ #
+
+ if IsBound( opt.maketest ) then
+ if IsRecord( opt.maketest ) then
+ maketest := opt.maketest;
+ elif opt.maketest = true then
+ maketest := rec( );
+ fi;
+ fi;
+
+ if IsBound( gapdoc ) then
+
+ if not IsBound( gapdoc.main ) then
+ gapdoc.main := pkg;
+ fi;
+
+ # FIXME: the following may break if a package uses more than one book
+ if IsBound( package_info.PackageDoc ) and IsBound( package_info.PackageDoc[1].BookName ) then
+ gapdoc.bookname := package_info.PackageDoc[1].BookName;
+ elif not is_worksheet then
+ # Default: book name = package name
+ gapdoc.bookname := pkg;
+
+ Print("\n");
+ Print("WARNING: PackageInfo.g is missing a PackageDoc entry!\n");
+ Print("Without this, your package manual will not be recognized by the GAP help system.\n");
+ Print("You can correct this by adding the following to your PackageInfo.g:\n");
+ Print("PackageDoc := rec(\n");
+ Print(" BookName := ~.PackageName,\n");
+ #Print(" BookName := \"", pkg, "\",\n");
+ Print(" ArchiveURLSubset := [\"doc\"],\n");
+ Print(" HTMLStart := \"doc/chap0.html\",\n");
+ Print(" PDFFile := \"doc/manual.pdf\",\n");
+ Print(" SixFile := \"doc/manual.six\",\n");
+ Print(" LongTitle := ~.Subtitle,\n");
+ Print("),\n");
+ Print("\n");
+ fi;
+
+ if not IsBound( gapdoc.files ) then
+ gapdoc.files := [];
+ fi;
+
+ if not IsBound( gapdoc.scan_dirs ) and not is_worksheet then
+ gapdoc.scan_dirs := [ "gap", "lib", "examples", "examples/doc" ];
+ fi;
+
+ if not is_worksheet then
+ Append( gapdoc.files, AUTODOC_FindMatchingFiles(pkg, gapdoc.scan_dirs, [ "g", "gi", "gd" ]) );
+ fi;
+
+ # Attempt to weed out duplicates as they may confuse GAPDoc (this
+ # won't work if there are any non-normalized paths in the list).
+ gapdoc.files := Set( gapdoc.files );
+
+ # Convert the file paths in gapdoc.files, which are relative to
+ # the package directory, to paths which are relative to the doc directory.
+ # For this, we assume that doc_dir_rel is normalized (e.g.
+ # it does not contains '//') and relative.
+ d := Number( Filename( doc_dir_rel, "" ), x -> x = '/' );
+ d := Concatenation( ListWithIdenticalEntries(d, "../") );
+ gapdoc.files := List( gapdoc.files, f -> Concatenation( d, f ) );
+ fi;
+
+
+ # read tree
+ # FIXME: shouldn't tree be declared inside of an 'if IsBound(autodoc)' section?
+ tree := DocumentationTree( );
+
+ if IsBound( autodoc ) then
+ if IsBound( autodoc.section_intros ) then
+ AUTODOC_PROCESS_INTRO_STRINGS( autodoc.section_intros : Tree := tree );
+ fi;
+
+ AutoDocScanFiles( autodoc.files : PackageName := pkg, Tree := tree );
+ fi;
+
+ if is_worksheet then
+ # FIXME: We use scaffold and autodoc here without checking whether
+ # they are bound. Does that mean worksheets always use them?
+ if IsRecord( scaffold.TitlePage ) and IsBound( scaffold.TitlePage.Title ) then
+ pkg := scaffold.TitlePage.Title;
+
+ elif IsBound( tree!.TitlePage.Title ) then
+ pkg := tree!.TitlePage.Title;
+
+ elif IsBound( autodoc.files ) and Length( autodoc.files ) > 0 then
+ pkg := autodoc.files[ 1 ];
+
+ while Position( pkg, '/' ) <> fail do
+ Remove( pkg, 1 );
+ od;
+
+ while Position( pkg, '.' ) <> fail do
+ Remove( pkg, Length( pkg ) );
+ od;
+
+ else
+ Error( "could not figure out a title." );
+ fi;
+
+ if not IsString( pkg ) then
+ pkg := JoinStringsWithSeparator( pkg, " " );
+ fi;
+
+ gapdoc.main := ReplacedString( pkg, " ", "_" );
+ gapdoc.bookname := ReplacedString( pkg, " ", "_" );
+ fi;
+
+ #
+ # Generate scaffold
+ #
+ gapdoc_latex_option_record := rec( );
+
+ if IsBound( scaffold ) then
+ ## Syntax is [ "class", [ "options" ] ]
+ if IsBound( scaffold.document_class ) then
+ position_document_class := PositionSublist( GAPDoc2LaTeXProcs.Head, "documentclass" );
+
+ if IsString( scaffold.document_class ) then
+ scaffold.document_class := [ scaffold.document_class ];
+ fi;
+
+ if position_document_class = fail then
+ Error( "something is wrong with the LaTeX header" );
+ fi;
+
+ GAPDoc2LaTeXProcs.Head := Concatenation(
+ GAPDoc2LaTeXProcs.Head{[ 1 .. PositionSublist( GAPDoc2LaTeXProcs.Head, "{", position_document_class ) ]},
+ scaffold.document_class[ 1 ],
+ GAPDoc2LaTeXProcs.Head{[ PositionSublist( GAPDoc2LaTeXProcs.Head, "}", position_document_class ) .. Length( GAPDoc2LaTeXProcs.Head ) ]} );
+
+ if Length( scaffold.document_class ) = 2 then
+
+ GAPDoc2LaTeXProcs.Head := Concatenation(
+ GAPDoc2LaTeXProcs.Head{[ 1 .. PositionSublist( GAPDoc2LaTeXProcs.Head, "[", position_document_class ) ]},
+ scaffold.document_class[ 2 ],
+ GAPDoc2LaTeXProcs.Head{[ PositionSublist( GAPDoc2LaTeXProcs.Head, "]", position_document_class ) .. Length( GAPDoc2LaTeXProcs.Head ) ]} );
+ fi;
+ fi;
+
+ if IsBound( scaffold.latex_header_file ) then
+ GAPDoc2LaTeXProcs.Head := StringFile( scaffold.latex_header_file );
+ fi;
+
+ if IsBound( scaffold.gapdoc_latex_options ) then
+ if IsRecord( scaffold.gapdoc_latex_options ) then
+ for i in RecNames( scaffold.gapdoc_latex_options ) do
+ if not IsString( scaffold.gapdoc_latex_options.( i ) )
+ and IsList( scaffold.gapdoc_latex_options.( i ) )
+ and LowercaseString( scaffold.gapdoc_latex_options.( i )[ 1 ] ) = "file" then
+ scaffold.gapdoc_latex_options.( i ) := StringFile( scaffold.gapdoc_latex_options.( i )[ 2 ] );
+ fi;
+ od;
+
+ gapdoc_latex_option_record := scaffold.gapdoc_latex_options;
+ fi;
+ fi;
+
+ if not IsBound( scaffold.includes ) then
+ scaffold.includes := [ ];
+ fi;
+
+ if IsBound( autodoc ) then
+ # If scaffold.includes is already set, then we add
+ # AutoDocMainFile.xml to it, but *only* if it not already
+ # there. This way, package authors can control where
+ # it is put in their includes list.
+ if not "AutoDocMainFile.xml" in scaffold.includes then
+ Add( scaffold.includes, "AutoDocMainFile.xml" );
+ fi;
+ fi;
+
+ if IsBound( scaffold.bib ) and IsBool( scaffold.bib ) then
+ if scaffold.bib = true then
+ scaffold.bib := Concatenation( pkg, ".bib" );
+ else
+ Unbind( scaffold.bib );
+ fi;
+ elif not IsBound( scaffold.bib ) then
+ # If there is a doc/PKG.bib file, assume that we want to reference it in the scaffold.
+ if IsReadableFile( Filename( doc_dir, Concatenation( pkg, ".bib" ) ) ) then
+ scaffold.bib := Concatenation( pkg, ".bib" );
+ fi;
+ fi;
+
+ AUTODOC_WriteOnce( scaffold, "index", true );
+
+ if IsBound( gapdoc ) then
+ if AUTODOC_GetSuffix( gapdoc.main ) = "xml" then
+ scaffold.main_xml_file := gapdoc.main;
+ else
+ scaffold.main_xml_file := Concatenation( gapdoc.main, ".xml" );
+ fi;
+ fi;
+
+ # TODO: It should be possible to only rebuild the title page. (Perhaps also only the main page? but this is less important)
+ if IsBound( scaffold.TitlePage ) then
+ if IsRecord( scaffold.TitlePage ) then
+ title_page := scaffold.TitlePage;
+ else
+ title_page := rec( );
+ fi;
+
+ AUTODOC_WriteOnce( title_page, "dir", doc_dir );
+ AUTODOC_APPEND_RECORD_WRITEONCE( title_page, tree!.TitlePage );
+
+ if not is_worksheet then
+ AUTODOC_APPEND_RECORD_WRITEONCE( title_page, ExtractTitleInfoFromPackageInfo( pkg ) );
+ fi;
+
+ CreateTitlePage( title_page );
+ fi;
+
+ if IsBound( scaffold.MainPage ) and scaffold.MainPage <> false then
+ scaffold.dir := doc_dir;
+ scaffold.book_name := pkg;
+ CreateMainPage( scaffold );
+ fi;
+ fi;
+
+ #
+ # Run AutoDoc
+ #
+ if IsBound( autodoc ) then
+ WriteDocumentation( tree, doc_dir );
+ fi;
+
+
+ #
+ # Run GAPDoc
+ #
+ if IsBound( gapdoc ) then
+
+ # Ask GAPDoc to use UTF-8 as input encoding for LaTeX, as the XML files
+ # of the documentation are also in UTF-8 encoding, and may contain characters
+ # not contained in the default Latin 1 encoding.
+ SetGapDocLaTeXOptions( "utf8", gapdoc_latex_option_record );
+
+ MakeGAPDocDoc( doc_dir, gapdoc.main, gapdoc.files, gapdoc.bookname, "MathJax" );
+
+ CopyHTMLStyleFiles( Filename( doc_dir, "" ) );
+
+ # The following (undocumented) API is there for compatibility
+ # with old-style gapmacro.tex based package manuals. It
+ # produces a manual.lab file which those packages can use if
+ # they wish to link to things in the manual we are currently
+ # generating. This can probably be removed eventually, but for
+ # now, doing it does not hurt.
+
+ # FIXME: It seems that this command does not work if pdflatex
+ # is not present. Maybe we should remove it.
+
+ if not is_worksheet then
+ GAPDocManualLab( pkg );
+ fi;
+
+ fi;
+
+ if IsBound( maketest ) then
+
+ AUTODOC_WriteOnce( maketest, "filename", "maketest.g" );
+ AUTODOC_WriteOnce( maketest, "folder", pkg_dir );
+ AUTODOC_WriteOnce( maketest, "scan_dir", doc_dir );
+ AUTODOC_WriteOnce( maketest, "files_to_scan", gapdoc.files );
+
+ if IsString( maketest.folder ) then
+ maketest.folder := Directory( maketest.folder );
+ fi;
+
+ if IsString( maketest.scan_dir ) then
+ maketest.scan_dir := Directory( maketest.scan_dir );
+ fi;
+
+ AUTODOC_WriteOnce( maketest, "commands", [ ] );
+ AUTODOC_WriteOnce( maketest, "book_name", gapdoc.main );
+
+ CreateMakeTest( maketest );
+ fi;
+
+ return true;
+end );
diff --git a/samples/GAP/PackageInfo.g b/samples/GAP/PackageInfo.g
new file mode 100644
index 00000000..68e5ecdb
--- /dev/null
+++ b/samples/GAP/PackageInfo.g
@@ -0,0 +1,115 @@
+#############################################################################
+##
+## PackageInfo.g for the package `cvec' Max Neunhoeffer
+##
+## (created from Frank Lübeck's PackageInfo.g template file)
+##
+
+SetPackageInfo( rec(
+
+PackageName := "cvec",
+Subtitle := "Compact vectors over finite fields",
+Version := "2.5.1",
+Date := "04/04/2014", # dd/mm/yyyy format
+
+## Information about authors and maintainers.
+Persons := [
+ rec(
+ LastName := "Neunhoeffer",
+ FirstNames := "Max",
+ IsAuthor := true,
+ IsMaintainer := false,
+ Email := "neunhoef@mcs.st-and.ac.uk",
+ WWWHome := "http://www-groups.mcs.st-and.ac.uk/~neunhoef/",
+ PostalAddress := Concatenation( [
+ "School of Mathematics and Statistics\n",
+ "University of St Andrews\n",
+ "Mathematical Institute\n",
+ "North Haugh\n",
+ "St Andrews, Fife KY16 9SS\n",
+ "Scotland, UK" ] ),
+ Place := "St Andrews",
+ Institution := "University of St Andrews"
+ ),
+],
+
+## Status information. Currently the following cases are recognized:
+## "accepted" for successfully refereed packages
+## "deposited" for packages for which the GAP developers agreed
+## to distribute them with the core GAP system
+## "dev" for development versions of packages
+## "other" for all other packages
+##
+# Status := "accepted",
+Status := "deposited",
+
+## You must provide the next two entries if and only if the status is
+## "accepted" because is was successfully refereed:
+# format: 'name (place)'
+# CommunicatedBy := "Mike Atkinson (St. Andrews)",
+#CommunicatedBy := "",
+# format: mm/yyyy
+# AcceptDate := "08/1999",
+#AcceptDate := "",
+
+PackageWWWHome := "http://neunhoef.github.io/cvec/",
+README_URL := Concatenation(~.PackageWWWHome, "README"),
+PackageInfoURL := Concatenation(~.PackageWWWHome, "PackageInfo.g"),
+ArchiveURL := Concatenation("https://github.com/neunhoef/cvec/",
+ "releases/download/v", ~.Version,
+ "/cvec-", ~.Version),
+ArchiveFormats := ".tar.gz .tar.bz2",
+
+## Here you must provide a short abstract explaining the package content
+## in HTML format (used on the package overview Web page) and an URL
+## for a Webpage with more detailed information about the package
+## (not more than a few lines, less is ok):
+## Please, use 'GAP' and
+## 'MyPKG' for specifing package names.
+##
+AbstractHTML :=
+ "This package provides an implementation of compact vectors over finite\
+ fields. Contrary to earlier implementations no table lookups are used\
+ but only word-based processor arithmetic. This allows for bigger finite\
+ fields and higher speed.",
+
+PackageDoc := rec(
+ BookName := "cvec",
+ ArchiveURLSubset := ["doc"],
+ HTMLStart := "doc/chap0.html",
+ PDFFile := "doc/manual.pdf",
+ SixFile := "doc/manual.six",
+ LongTitle := "Compact vectors over finite fields",
+),
+
+Dependencies := rec(
+ GAP := ">=4.5.5",
+ NeededOtherPackages := [
+ ["GAPDoc", ">= 1.2"],
+ ["IO", ">= 4.1"],
+ ["orb", ">= 4.2"],
+ ],
+ SuggestedOtherPackages := [],
+ ExternalConditions := []
+),
+
+AvailabilityTest := function()
+ if not "cvec" in SHOW_STAT() and
+ Filename(DirectoriesPackagePrograms("cvec"), "cvec.so") = fail then
+ #Info(InfoWarning, 1, "cvec: kernel cvec functions not available.");
+ return fail;
+ fi;
+ return true;
+end,
+
+## *Optional*, but recommended: path relative to package root to a file which
+## contains as many tests of the package functionality as sensible.
+#TestFile := "tst/testall.g",
+
+## *Optional*: Here you can list some keyword related to the topic
+## of the package.
+Keywords := []
+
+));
+
+
diff --git a/samples/GAP/example.gd b/samples/GAP/example.gd
new file mode 100644
index 00000000..c285ea32
--- /dev/null
+++ b/samples/GAP/example.gd
@@ -0,0 +1,23 @@
+#############################################################################
+##
+#W example.gd
+##
+## This file contains a sample of a GAP declaration file.
+##
+DeclareProperty( "SomeProperty", IsLeftModule );
+DeclareGlobalFunction( "SomeGlobalFunction" );
+
+
+#############################################################################
+##
+#C IsQuuxFrobnicator()
+##
+##
+##
+##
+##
+## Tests whether R is a quux frobnicator.
+##
+##
+##
+DeclareSynonym( "IsQuuxFrobnicator", IsField and IsGroup );
diff --git a/samples/GAP/example.gi b/samples/GAP/example.gi
new file mode 100644
index 00000000..c9c5e55d
--- /dev/null
+++ b/samples/GAP/example.gi
@@ -0,0 +1,64 @@
+#############################################################################
+##
+#W example.gd
+##
+## This file contains a sample of a GAP implementation file.
+##
+
+
+#############################################################################
+##
+#M SomeOperation( )
+##
+## performs some operation on
+##
+InstallMethod( SomeProperty,
+ "for left modules",
+ [ IsLeftModule ], 0,
+ function( M )
+ if IsFreeLeftModule( M ) and not IsTrivial( M ) then
+ return true;
+ fi;
+ TryNextMethod();
+ end );
+
+
+
+#############################################################################
+##
+#F SomeGlobalFunction( )
+##
+## A global variadic funfion.
+##
+InstallGlobalFunction( SomeGlobalFunction, function( arg )
+ if Length( arg ) = 3 then
+ return arg[1] + arg[2] * arg[3];
+ elif Length( arg ) = 2 then
+ return arg[1] - arg[2]
+ else
+ Error( "usage: SomeGlobalFunction( , [, ] )" );
+ fi;
+ end );
+
+
+#
+# A plain function.
+#
+SomeFunc := function(x, y)
+ local z, func, tmp, j;
+ z := x * 1.0;
+ y := 17^17 - y;
+ func := a -> a mod 5;
+ tmp := List( [1..50], func );
+ while y > 0 do
+ for j in tmp do
+ Print(j, "\n");
+ od;
+ repeat
+ y := y - 1;
+ until 0 < 1;
+ y := y -1;
+ od;
+ return z;
+end;
+
\ No newline at end of file
diff --git a/samples/GAP/vspc.gd b/samples/GAP/vspc.gd
new file mode 100644
index 00000000..d381e6f1
--- /dev/null
+++ b/samples/GAP/vspc.gd
@@ -0,0 +1,822 @@
+#############################################################################
+##
+#W vspc.gd GAP library Thomas Breuer
+##
+##
+#Y Copyright (C) 1997, Lehrstuhl D für Mathematik, RWTH Aachen, Germany
+#Y (C) 1998 School Math and Comp. Sci., University of St Andrews, Scotland
+#Y Copyright (C) 2002 The GAP Group
+##
+## This file declares the operations for vector spaces.
+##
+## The operations for bases of free left modules can be found in the file
+## lib/basis.gd.
+##
+
+
+#############################################################################
+##
+#C IsLeftOperatorRing()
+##
+##
+##
+##
+##
+##
+##
+##
+DeclareSynonym( "IsLeftOperatorRing",
+ IsLeftOperatorAdditiveGroup and IsRing and IsAssociativeLOpDProd );
+#T really?
+
+
+#############################################################################
+##
+#C IsLeftOperatorRingWithOne()
+##
+##
+##
+##
+##
+##
+##
+##
+DeclareSynonym( "IsLeftOperatorRingWithOne",
+ IsLeftOperatorAdditiveGroup and IsRingWithOne
+ and IsAssociativeLOpDProd );
+#T really?
+
+
+#############################################################################
+##
+#C IsLeftVectorSpace( )
+#C IsVectorSpace( )
+##
+## <#GAPDoc Label="IsLeftVectorSpace">
+##
+##
+##
+##
+##
+## A vector space in &GAP; is a free left module
+## (see ) over a division ring
+## (see Chapter ).
+##
+## Whenever we talk about an F-vector space V then V is
+## an additive group (see ) on which the
+## division ring F acts via multiplication from the left such that
+## this action and the addition in V are left and right distributive.
+## The division ring F can be accessed as value of the attribute
+## .
+##
+## Vector spaces in &GAP; are always left vector spaces,
+## and are
+## synonyms.
+##
+##
+## <#/GAPDoc>
+##
+DeclareSynonym( "IsLeftVectorSpace",
+ IsLeftModule and IsLeftActedOnByDivisionRing );
+
+DeclareSynonym( "IsVectorSpace", IsLeftVectorSpace );
+
+InstallTrueMethod( IsFreeLeftModule,
+ IsLeftModule and IsLeftActedOnByDivisionRing );
+
+
+#############################################################################
+##
+#F IsGaussianSpace( )
+##
+## <#GAPDoc Label="IsGaussianSpace">
+##
+##
+##
+##
+## The filter (see )
+## for the row space (see )
+## or matrix space (see ) V
+## over the field F, say,
+## indicates that the entries of all row vectors or matrices in V,
+## respectively, are all contained in F.
+## In this case, V is called a Gaussian vector space.
+## Bases for Gaussian spaces can be computed using Gaussian elimination for
+## a given list of vector space generators.
+## mats:= [ [[1,1],[2,2]], [[3,4],[0,1]] ];;
+## gap> V:= VectorSpace( Rationals, mats );;
+## gap> IsGaussianSpace( V );
+## true
+## gap> mats[1][1][1]:= E(4);; # an element in an extension field
+## gap> V:= VectorSpace( Rationals, mats );;
+## gap> IsGaussianSpace( V );
+## false
+## gap> V:= VectorSpace( Field( Rationals, [ E(4) ] ), mats );;
+## gap> IsGaussianSpace( V );
+## true
+## ]]>
+##
+##
+## <#/GAPDoc>
+##
+DeclareFilter( "IsGaussianSpace", IsVectorSpace );
+
+InstallTrueMethod( IsGaussianSpace,
+ IsVectorSpace and IsFullMatrixModule );
+
+InstallTrueMethod( IsGaussianSpace,
+ IsVectorSpace and IsFullRowModule );
+
+
+#############################################################################
+##
+#C IsDivisionRing( )
+##
+## <#GAPDoc Label="IsDivisionRing">
+##
+##
+##
+##
+## A division ring in &GAP; is a nontrivial associative algebra
+## D with a multiplicative inverse for each nonzero element.
+## In &GAP; every division ring is a vector space over a division ring
+## (possibly over itself).
+## Note that being a division ring is thus not a property that a ring can
+## get, because a ring is usually not represented as a vector space.
+##
+## The field of coefficients is stored as the value of the attribute
+## of D.
+##
+##
+## <#/GAPDoc>
+##
+DeclareSynonymAttr( "IsDivisionRing",
+ IsMagmaWithInversesIfNonzero
+ and IsLeftOperatorRingWithOne
+ and IsLeftVectorSpace
+ and IsNonTrivial
+ and IsAssociative
+ and IsEuclideanRing );
+
+
+#############################################################################
+##
+#A GeneratorsOfLeftVectorSpace( )
+#A GeneratorsOfVectorSpace( )
+##
+## <#GAPDoc Label="GeneratorsOfLeftVectorSpace">
+##
+##
+##
+##
+##
+## For an F-vector space V,
+## returns a list of vectors in
+## V that generate V as an F-vector space.
+## GeneratorsOfVectorSpace( FullRowSpace( Rationals, 3 ) );
+## [ [ 1, 0, 0 ], [ 0, 1, 0 ], [ 0, 0, 1 ] ]
+## ]]>
+##
+##
+## <#/GAPDoc>
+##
+DeclareSynonymAttr( "GeneratorsOfLeftVectorSpace",
+ GeneratorsOfLeftOperatorAdditiveGroup );
+
+DeclareSynonymAttr( "GeneratorsOfVectorSpace",
+ GeneratorsOfLeftOperatorAdditiveGroup );
+
+
+#############################################################################
+##
+#A CanonicalBasis( )
+##
+## <#GAPDoc Label="CanonicalBasis">
+##
+##
+##
+##
+## If the vector space V supports a canonical basis then
+## returns this basis,
+## otherwise fail is returned.
+##
+## The defining property of a canonical basis is that its vectors are
+## uniquely determined by the vector space.
+## If canonical bases exist for two vector spaces over the same left acting
+## domain (see ) then the equality of
+## these vector spaces can be decided by comparing the canonical bases.
+##
+## The exact meaning of a canonical basis depends on the type of V.
+## Canonical bases are defined for example for Gaussian row and matrix
+## spaces (see ).
+##
+## If one designs a new kind of vector spaces
+## (see ) and
+## defines a canonical basis for these spaces then the
+## method one installs
+## (see )
+## must not call .
+## On the other hand, one probably should install a
+## method that simply calls ,
+## the value of the method
+## (see and
+## )
+## being CANONICAL_BASIS_FLAGS.
+## vecs:= [ [ 1, 2, 3 ], [ 1, 1, 1 ], [ 1, 1, 1 ] ];;
+## gap> V:= VectorSpace( Rationals, vecs );;
+## gap> B:= CanonicalBasis( V );
+## CanonicalBasis( )
+## gap> BasisVectors( B );
+## [ [ 1, 0, -1 ], [ 0, 1, 2 ] ]
+## ]]>
+##
+##
+## <#/GAPDoc>
+##
+DeclareAttribute( "CanonicalBasis", IsFreeLeftModule );
+
+
+#############################################################################
+##
+#F IsRowSpace( )
+##
+## <#GAPDoc Label="IsRowSpace">
+##
+##
+##
+##
+## A row space in &GAP; is a vector space that consists of
+## row vectors (see Chapter ).
+##
+##
+## <#/GAPDoc>
+##
+DeclareSynonym( "IsRowSpace", IsRowModule and IsVectorSpace );
+
+
+#############################################################################
+##
+#F IsGaussianRowSpace( )
+##
+##
+##
+##
+##
+## A row space is Gaussian if the left acting domain contains all
+## scalars that occur in the vectors.
+## Thus one can use Gaussian elimination in the calculations.
+##
+## (Otherwise the space is non-Gaussian.
+## We will need a flag for this to write down methods that delegate from
+## non-Gaussian spaces to Gaussian ones.)
+##
+##
+##
+##
+DeclareSynonym( "IsGaussianRowSpace", IsGaussianSpace and IsRowSpace );
+
+
+#############################################################################
+##
+#F IsNonGaussianRowSpace( )
+##
+##
+##
+##
+##
+## If an F-vector space V is in the filter
+## then this expresses that V
+## consists of row vectors (see ) such
+## that not all entries in these row vectors are contained in F
+## (so Gaussian elimination cannot be used to compute an F-basis
+## from a list of vector space generators),
+## and that V is handled via the mechanism of nice bases
+## (see ) in the following way.
+## Let K be the field spanned by the entries of all vectors in
+## V.
+## Then the value of V is
+## a basis B of the field extension K / ( K \cap F ),
+## and the value of v \in V
+## is defined by replacing each entry of v by the list of its
+## B-coefficients, and then forming the concatenation.
+##
+## So the associated nice vector space is a Gaussian row space
+## (see ).
+##
+##
+##
+DeclareHandlingByNiceBasis( "IsNonGaussianRowSpace",
+ "for non-Gaussian row spaces" );
+
+
+#############################################################################
+##
+#F IsMatrixSpace( )
+##
+## <#GAPDoc Label="IsMatrixSpace">
+##
+##
+##
+##
+## A matrix space in &GAP; is a vector space that consists of matrices
+## (see Chapter ).
+##
+##
+## <#/GAPDoc>
+##
+DeclareSynonym( "IsMatrixSpace", IsMatrixModule and IsVectorSpace );
+
+
+#############################################################################
+##
+#F IsGaussianMatrixSpace( )
+##
+##
+##
+##
+##
+## A matrix space is Gaussian if the left acting domain contains all
+## scalars that occur in the vectors.
+## Thus one can use Gaussian elimination in the calculations.
+##
+## (Otherwise the space is non-Gaussian.
+## We will need a flag for this to write down methods that delegate from
+## non-Gaussian spaces to Gaussian ones.)
+##
+##
+##
+DeclareSynonym( "IsGaussianMatrixSpace", IsGaussianSpace and IsMatrixSpace );
+
+
+#############################################################################
+##
+#F IsNonGaussianMatrixSpace( )
+##
+##
+##
+##
+##
+## If an F-vector space V is in the filter
+##
+## then this expresses that V consists of matrices
+## (see )
+## such that not all entries in these matrices are contained in F
+## (so Gaussian elimination cannot be used to compute an F-basis
+## from a list of vector space generators),
+## and that V is handled via the mechanism of nice bases
+## (see ) in the following way.
+## Let K be the field spanned by the entries of all vectors in V.
+## The value of V is irrelevant,
+## and the value of v \in V
+## is defined as the concatenation of the rows of v.
+##
+## So the associated nice vector space is a (not necessarily Gaussian)
+## row space (see ).
+##
+##
+##
+DeclareHandlingByNiceBasis( "IsNonGaussianMatrixSpace",
+ "for non-Gaussian matrix spaces" );
+
+
+#############################################################################
+##
+#A NormedRowVectors( ) . . . normed vectors in a Gaussian row space
+##
+## <#GAPDoc Label="NormedRowVectors">
+##
+##
+##
+##
+## For a finite Gaussian row space V
+## (see , ),
+## returns a list of those nonzero
+## vectors in V that have a one in the first nonzero component.
+##
+## The result list can be used as action domain for the action of a matrix
+## group via , which yields the natural action on
+## one-dimensional subspaces of V
+## (see also ).
+## vecs:= NormedRowVectors( GF(3)^2 );
+## [ [ 0*Z(3), Z(3)^0 ], [ Z(3)^0, 0*Z(3) ], [ Z(3)^0, Z(3)^0 ],
+## [ Z(3)^0, Z(3) ] ]
+## gap> Action( GL(2,3), vecs, OnLines );
+## Group([ (3,4), (1,2,4) ])
+## ]]>
+##
+##
+## <#/GAPDoc>
+##
+DeclareAttribute( "NormedRowVectors", IsGaussianSpace );
+
+
+#############################################################################
+##
+#A TrivialSubspace( )
+##
+## <#GAPDoc Label="TrivialSubspace">
+##
+##
+##
+##
+## For a vector space V, returns the
+## subspace of V that consists of the zero vector in V.
+## V:= GF(3)^3;;
+## gap> triv:= TrivialSubspace( V );
+##
+## gap> AsSet( triv );
+## [ [ 0*Z(3), 0*Z(3), 0*Z(3) ] ]
+## ]]>
+##
+##
+## <#/GAPDoc>
+##
+DeclareSynonymAttr( "TrivialSubspace", TrivialSubmodule );
+
+
+#############################################################################
+##
+#F VectorSpace( , [, ][, "basis"] )
+##
+## <#GAPDoc Label="VectorSpace">
+##
+##
+##
+##
+## For a field F and a collection gens of vectors,
+## returns the F-vector space spanned by
+## the elements in gens.
+##
+## The optional argument zero can be used to specify the zero element
+## of the space; zero must be given if gens is empty.
+## The optional string "basis" indicates that gens is known to
+## be linearly independent over F, in particular the dimension of the
+## vector space is immediately set;
+## note that need not return the basis formed by
+## gens if the string "basis" is given as an argument.
+##
+## V:= VectorSpace( Rationals, [ [ 1, 2, 3 ], [ 1, 1, 1 ] ] );
+##
+## ]]>
+##
+##
+## <#/GAPDoc>
+##
+DeclareGlobalFunction( "VectorSpace" );
+
+
+#############################################################################
+##
+#F Subspace( , [, "basis"] ) . subspace of generated by
+#F SubspaceNC( , [, "basis"] )
+##
+## <#GAPDoc Label="Subspace">
+##
+##
+##
+##
+##
+## For an F-vector space V and a list or collection
+## gens that is a subset of V,
+## returns the F-vector space spanned by
+## gens; if gens is empty then the trivial subspace
+## (see ) of V is returned.
+## The parent (see ) of the returned vector space
+## is set to V.
+##
+## does the same as ,
+## except that it omits the check whether gens is a subset of
+## V.
+##
+## The optional string "basis" indicates that gens is known to
+## be linearly independent over F.
+## In this case the dimension of the subspace is immediately set,
+## and both and do
+## not check whether gens really is linearly independent and
+## whether gens is a subset of V.
+##
+## V:= VectorSpace( Rationals, [ [ 1, 2, 3 ], [ 1, 1, 1 ] ] );;
+## gap> W:= Subspace( V, [ [ 0, 1, 2 ] ] );
+##
+## ]]>
+##
+##
+## <#/GAPDoc>
+##
+DeclareSynonym( "Subspace", Submodule );
+
+DeclareSynonym( "SubspaceNC", SubmoduleNC );
+
+
+#############################################################################
+##
+#O AsVectorSpace( , ) . . . . . . . . . view as -vector space
+##
+## <#GAPDoc Label="AsVectorSpace">
+##
+##
+##
+##
+## Let F be a division ring and D a domain.
+## If the elements in D form an F-vector space then
+## returns this F-vector space,
+## otherwise fail is returned.
+##
+## can be used for example to view a given
+## vector space as a vector space over a smaller or larger division ring.
+## V:= FullRowSpace( GF( 27 ), 3 );
+## ( GF(3^3)^3 )
+## gap> Dimension( V ); LeftActingDomain( V );
+## 3
+## GF(3^3)
+## gap> W:= AsVectorSpace( GF( 3 ), V );
+##
+## gap> Dimension( W ); LeftActingDomain( W );
+## 9
+## GF(3)
+## gap> AsVectorSpace( GF( 9 ), V );
+## fail
+## ]]>
+##
+##
+## <#/GAPDoc>
+##
+DeclareSynonym( "AsVectorSpace", AsLeftModule );
+
+
+#############################################################################
+##
+#O AsSubspace( , ) . . . . . . . . . . . view as subspace of
+##
+## <#GAPDoc Label="AsSubspace">
+##
+##
+##
+##
+## Let V be an F-vector space, and U a collection.
+## If U is a subset of V such that the elements of U
+## form an F-vector space then returns this
+## vector space, with parent set to V
+## (see ).
+## Otherwise fail is returned.
+## V:= VectorSpace( Rationals, [ [ 1, 2, 3 ], [ 1, 1, 1 ] ] );;
+## gap> W:= VectorSpace( Rationals, [ [ 1/2, 1/2, 1/2 ] ] );;
+## gap> U:= AsSubspace( V, W );
+##
+## gap> Parent( U ) = V;
+## true
+## gap> AsSubspace( V, [ [ 1, 1, 1 ] ] );
+## fail
+## ]]>
+##
+##
+## <#/GAPDoc>
+##
+DeclareOperation( "AsSubspace", [ IsVectorSpace, IsCollection ] );
+
+
+#############################################################################
+##
+#F Intersection2Spaces( , , )
+##
+##
+##
+##
+##
+## is a function that takes two arguments V and W which must
+## be finite dimensional vector spaces,
+## and returns the intersection of V and W.
+##
+## If the left acting domains are different then let F be their
+## intersection.
+## The intersection of V and W is computed as intersection of
+## AsStruct( F, V ) and
+## AsStruct( F, V ).
+##
+## If the left acting domains are equal to F then the intersection of
+## V and W is returned either as F-Substruct
+## with the common parent of V and W or as
+## F-Struct, in both cases with known basis.
+##
+## This function is used to handle the intersections of two vector spaces,
+## two algebras, two algebras-with-one, two left ideals, two right ideals,
+## two two-sided ideals.
+##
+##
+##
+DeclareGlobalFunction( "Intersection2Spaces" );
+
+
+#############################################################################
+##
+#F FullRowSpace( , )
+##
+## <#GAPDoc Label="FullRowSpace">
+##
+##
+##
+##
+##
+## For a field F and a nonnegative integer n,
+## returns the F-vector space that
+## consists of all row vectors (see ) of
+## length n with entries in F.
+##
+## An alternative to construct this vector space is via
+## F^n.
+## FullRowSpace( GF( 9 ), 3 );
+## ( GF(3^2)^3 )
+## gap> GF(9)^3; # the same as above
+## ( GF(3^2)^3 )
+## ]]>
+##
+##
+## <#/GAPDoc>
+##
+DeclareSynonym( "FullRowSpace", FullRowModule );
+DeclareSynonym( "RowSpace", FullRowModule );
+
+
+#############################################################################
+##
+#F FullMatrixSpace( , , )
+##
+## <#GAPDoc Label="FullMatrixSpace">
+##
+##
+##
+##
+##
+## For a field F and two positive integers m and n,
+## returns the F-vector space that
+## consists of all m by n matrices
+## (see ) with entries in F.
+##
+## If m = n then the result is in fact an algebra
+## (see ).
+##
+## An alternative to construct this vector space is via
+## F^[m,n].
+## FullMatrixSpace( GF(2), 4, 5 );
+## ( GF(2)^[ 4, 5 ] )
+## gap> GF(2)^[ 4, 5 ]; # the same as above
+## ( GF(2)^[ 4, 5 ] )
+## ]]>
+##
+##
+## <#/GAPDoc>
+##
+DeclareSynonym( "FullMatrixSpace", FullMatrixModule );
+DeclareSynonym( "MatrixSpace", FullMatrixModule );
+DeclareSynonym( "MatSpace", FullMatrixModule );
+
+
+#############################################################################
+##
+#C IsSubspacesVectorSpace( )
+##
+## <#GAPDoc Label="IsSubspacesVectorSpace">
+##
+##
+##
+##
+## The domain of all subspaces of a (finite) vector space or of all
+## subspaces of fixed dimension, as returned by
+## (see ) lies in the category
+## .
+## D:= Subspaces( GF(3)^3 );
+## Subspaces( ( GF(3)^3 ) )
+## gap> Size( D );
+## 28
+## gap> iter:= Iterator( D );;
+## gap> NextIterator( iter );
+##
+## gap> NextIterator( iter );
+##
+## gap> IsSubspacesVectorSpace( D );
+## true
+## ]]>
+##
+##
+## <#/GAPDoc>
+##
+DeclareCategory( "IsSubspacesVectorSpace", IsDomain );
+
+
+#############################################################################
+##
+#M IsFinite( ) . . . . . . . . . . . . . . . . . for a subspaces domain
+##
+## Returns `true' if is finite.
+## We allow subspaces domains in `IsSubspacesVectorSpace' only for finite
+## vector spaces.
+##
+InstallTrueMethod( IsFinite, IsSubspacesVectorSpace );
+
+
+#############################################################################
+##
+#A Subspaces( [, ] )
+##
+## <#GAPDoc Label="Subspaces">
+##
+##
+##
+##
+## Called with a finite vector space v,
+## returns the domain of all subspaces of V.
+##
+## Called with V and a nonnegative integer k,
+## returns the domain of all k-dimensional
+## subspaces of V.
+##
+## Special and methods are
+## provided for these domains.
+##
+##
+##
+## <#/GAPDoc>
+##
+DeclareAttribute( "Subspaces", IsLeftModule );
+DeclareOperation( "Subspaces", [ IsLeftModule, IsInt ] );
+
+
+#############################################################################
+##
+#F IsSubspace( , )
+##
+##
+##
+##
+##
+## check that U is a vector space that is contained in V
+##
+##
+##
+##
+DeclareGlobalFunction( "IsSubspace" );
+
+
+#############################################################################
+##
+#A OrthogonalSpaceInFullRowSpace( )
+##
+##
+##
+##
+##
+## For a Gaussian row space U over F,
+##
+## returns a complement of U in the full row space of same vector
+## dimension as U over F.
+##
+##
+##
+DeclareAttribute( "OrthogonalSpaceInFullRowSpace", IsGaussianSpace );
+
+
+#############################################################################
+##
+#P IsVectorSpaceHomomorphism( |