mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	Merge branch 'master' into inc-extension
This commit is contained in:
		
							
								
								
									
										6
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
								
							| @@ -629,6 +629,9 @@ | ||||
| [submodule "vendor/grammars/jflex.tmbundle"] | ||||
| 	path = vendor/grammars/jflex.tmbundle | ||||
| 	url = https://github.com/jflex-de/jflex.tmbundle.git | ||||
| [submodule "vendor/grammars/Sublime-Modula-2"] | ||||
| 	path = vendor/grammars/Sublime-Modula-2 | ||||
| 	url = https://github.com/harogaston/Sublime-Modula-2 | ||||
| [submodule "vendor/grammars/ada.tmbundle"] | ||||
| 	path = vendor/grammars/ada.tmbundle | ||||
| 	url = https://github.com/textmate/ada.tmbundle | ||||
| @@ -647,3 +650,6 @@ | ||||
| [submodule "vendor/grammars/atom-fsharp"] | ||||
| 	path = vendor/grammars/atom-fsharp | ||||
| 	url = https://github.com/fsprojects/atom-fsharp | ||||
| [submodule "vendor/grammars/SMT.tmbundle"] | ||||
| 	path = vendor/grammars/SMT.tmbundle | ||||
| 	url = https://github.com/SRI-CSL/SMT.tmbundle.git | ||||
|   | ||||
| @@ -2,9 +2,27 @@ | ||||
|  | ||||
| Hi there! We're thrilled that you'd like to contribute to this project. Your help is essential for keeping it great. The majority of contributions won't need to touch any Ruby code at all. | ||||
|  | ||||
|  | ||||
| ## Adding an extension to a language | ||||
|  | ||||
| We try only to add new extensions once they have some usage on GitHub. In most cases we prefer that extensions be in use in hundreds of repositories before supporting them in Linguist. | ||||
|  | ||||
| To add support for a new extension: | ||||
|  | ||||
| 0. Add your extension to the language entry in [`languages.yml`][languages]. | ||||
| 0. Add at least one sample for your extension to the [samples directory][samples] in the correct subdirectory. | ||||
| 0. Open a pull request, linking to a [GitHub search result](https://github.com/search?utf8=%E2%9C%93&q=extension%3Aboot+NOT+nothack&type=Code&ref=searchresults) showing in-the-wild usage. | ||||
|  | ||||
| In addition, if this extension is already listed in [`languages.yml`][languages] then sometimes a few more steps will need to be taken: | ||||
|  | ||||
| 0. Make sure that example `.yourextension` files are present in the [samples directory][samples] for each language that uses `.yourextension`. | ||||
| 0. Test the performance of the Bayesian classifier with a relatively large number (1000s) of sample `.yourextension` files. (ping @arfon or @bkeepers to help with this) to ensure we're not misclassifying files. | ||||
| 0. If the Bayesian classifier does a bad job with the sample `.yourextension` files then a [heuristic](https://github.com/github/linguist/blob/master/lib/linguist/heuristics.rb) may need to be written to help. | ||||
|  | ||||
|  | ||||
| ## Adding a language | ||||
|  | ||||
| We try only to add languages once they have some usage on GitHub. In most cases we prefer that languages be in use in hundreds of repositories before supporting them in Linguist. | ||||
| We try only to add languages once they have some usage on GitHub. In most cases we prefer that each new file extension be in use in hundreds of repositories before supporting them in Linguist. | ||||
|  | ||||
| To add support for a new language: | ||||
|  | ||||
| @@ -23,12 +41,14 @@ In addition, if your new language defines an extension that's already listed in | ||||
|  | ||||
| Remember, the goal here is to try and avoid false positives! | ||||
|  | ||||
|  | ||||
| ## Fixing a misclassified language | ||||
|  | ||||
| Most languages are detected by their file extension defined in [languages.yml][languages].  For disambiguating between files with common extensions, linguist applies some [heuristics](/lib/linguist/heuristics.rb) and a [statistical classifier](lib/linguist/classifier.rb). This process can help differentiate between, for example, `.h` files which could be either C, C++, or Obj-C. | ||||
|  | ||||
| Misclassifications can often be solved by either adding a new filename or extension for the language or adding more [samples][samples] to make the classifier smarter. | ||||
|  | ||||
|  | ||||
| ## Fixing syntax highlighting | ||||
|  | ||||
| Syntax highlighting in GitHub is performed using TextMate-compatible grammars. These are the same grammars that TextMate, Sublime Text and Atom use. Every language in [languages.yml][languages] is mapped to its corresponding TM `scope`. This scope will be used when picking up a grammar for highlighting. | ||||
| @@ -55,6 +75,7 @@ Sometimes getting the tests running can be too much work, especially if you don' | ||||
|  | ||||
| Here's our current build status: [](http://travis-ci.org/github/linguist) | ||||
|  | ||||
|  | ||||
| ## Releasing | ||||
|  | ||||
| If you are the current maintainer of this gem: | ||||
|   | ||||
| @@ -16,7 +16,7 @@ Gem::Specification.new do |s| | ||||
|   s.add_dependency 'charlock_holmes', '~> 0.7.3' | ||||
|   s.add_dependency 'escape_utils',    '~> 1.1.0' | ||||
|   s.add_dependency 'mime-types',      '>= 1.19' | ||||
|   s.add_dependency 'rugged',          '~> 0.23.0b1' | ||||
|   s.add_dependency 'rugged',          '>= 0.23.0b' | ||||
|  | ||||
|   s.add_development_dependency 'minitest', '>= 5.0' | ||||
|   s.add_development_dependency 'mocha' | ||||
|   | ||||
| @@ -85,6 +85,8 @@ vendor/grammars/Racket: | ||||
| - source.racket | ||||
| vendor/grammars/SCSS.tmbundle: | ||||
| - source.scss | ||||
| vendor/grammars/SMT.tmbundle: | ||||
| - source.smt | ||||
| vendor/grammars/Scalate.tmbundle: | ||||
| - source.scaml | ||||
| - text.html.ssp | ||||
| @@ -107,6 +109,8 @@ vendor/grammars/Sublime-Logos: | ||||
| - source.logos | ||||
| vendor/grammars/Sublime-Loom: | ||||
| - source.loomscript | ||||
| vendor/grammars/Sublime-Modula-2/: | ||||
| - source.modula2 | ||||
| vendor/grammars/Sublime-Nit: | ||||
| - source.nit | ||||
| vendor/grammars/Sublime-QML: | ||||
|   | ||||
| @@ -69,8 +69,9 @@ module Linguist | ||||
|       generated_protocol_buffer? || | ||||
|       generated_apache_thrift? || | ||||
|       generated_jni_header? || | ||||
|       generated_unity3d_meta? || | ||||
|       vcr_cassette? | ||||
|       vcr_cassette? || | ||||
|       generated_module? || | ||||
|       generated_unity3d_meta? | ||||
|     end | ||||
|  | ||||
|     # Internal: Is the blob an Xcode file? | ||||
| @@ -324,6 +325,24 @@ module Linguist | ||||
|       return lines[0].include?("Generated by Cython") | ||||
|     end | ||||
|  | ||||
|     # Internal: Is it a KiCAD or GFortran module file? | ||||
|     # | ||||
|     # KiCAD module files contain: | ||||
|     # PCBNEW-LibModule-V1  yyyy-mm-dd h:mm:ss XM | ||||
|     # on the first line. | ||||
|     # | ||||
|     # GFortran module files contain: | ||||
|     # GFORTRAN module version 'x' created from  | ||||
|     # on the first line. | ||||
|     # | ||||
|     # Return true of false | ||||
|     def generated_module? | ||||
|       return false unless extname == '.mod' | ||||
|       return false unless lines.count > 1 | ||||
|       return lines[0].include?("PCBNEW-LibModule-V") ||  | ||||
|               lines[0].include?("GFORTRAN module version '") | ||||
|     end | ||||
|  | ||||
|     # Internal: Is this a metadata file from Unity3D? | ||||
|     # | ||||
|     # Unity3D Meta files start with: | ||||
|   | ||||
| @@ -274,6 +274,16 @@ module Linguist | ||||
|       end | ||||
|     end | ||||
|  | ||||
|     disambiguate "XML", "Modula-2", "Linux Kernel Module", "AMPL" do |data| | ||||
|       if data.include?('<!ENTITY ') | ||||
|         Language["XML"] | ||||
|       elsif /MODULE\s\w+\s*;/i.match(data) || /^\s*END \w+;$/i.match(data) | ||||
|         Language["Modula-2"] | ||||
|       else | ||||
|         [Language["Linux Kernel Module"], Language["AMPL"]] | ||||
|       end | ||||
|     end | ||||
|  | ||||
|     disambiguate "NL", "NewLisp" do |data| | ||||
|       if /^(b|g)[0-9]+ /.match(data) | ||||
|         Language["NL"] | ||||
|   | ||||
| @@ -49,6 +49,7 @@ AMPL: | ||||
|   color: "#E6EFBB" | ||||
|   extensions: | ||||
|   - .ampl | ||||
|   - .mod | ||||
|   tm_scope: source.ampl | ||||
|   ace_mode: text | ||||
|  | ||||
| @@ -1478,6 +1479,14 @@ Isabelle: | ||||
|   tm_scope: source.isabelle.theory | ||||
|   ace_mode: text | ||||
|  | ||||
| Isabelle ROOT: | ||||
|   type: programming | ||||
|   group: Isabelle | ||||
|   filenames: | ||||
|   - ROOT | ||||
|   tm_scope: source.isabelle.root | ||||
|   ace_mode: text | ||||
|  | ||||
| J: | ||||
|   type: programming | ||||
|   color: "#9EEDFF" | ||||
| @@ -1762,6 +1771,13 @@ Linker Script: | ||||
|   tm_scope: none | ||||
|   ace_mode: text | ||||
|  | ||||
| Linux Kernel Module: | ||||
|   type: data | ||||
|   extensions: | ||||
|   - .mod | ||||
|   tm_scope: none | ||||
|   ace_mode: text | ||||
|  | ||||
| Liquid: | ||||
|   type: markup | ||||
|   extensions: | ||||
| @@ -2028,6 +2044,13 @@ Modelica: | ||||
|   tm_scope: source.modelica | ||||
|   ace_mode: text | ||||
|  | ||||
| Modula-2: | ||||
|   type: programming | ||||
|   extensions: | ||||
|   - .mod | ||||
|   tm_scope: source.modula2 | ||||
|   ace_mode: text | ||||
|  | ||||
| Module Management System: | ||||
|   type: programming | ||||
|   extensions: | ||||
| @@ -2924,6 +2947,25 @@ SCSS: | ||||
|   extensions: | ||||
|   - .scss | ||||
|  | ||||
| SMT: | ||||
|   type: programming | ||||
|   extensions: | ||||
|   - .smt2 | ||||
|   - .smt | ||||
|   interpreters: | ||||
|   - boolector | ||||
|   - cvc4 | ||||
|   - mathsat5 | ||||
|   - opensmt | ||||
|   - smtinterpol | ||||
|   - smt-rat | ||||
|   - stp | ||||
|   - verit | ||||
|   - yices2 | ||||
|   - z3 | ||||
|   tm_scope: source.smt | ||||
|   ace_mode: text | ||||
|  | ||||
| SPARQL: | ||||
|   type: data | ||||
|   tm_scope: source.sparql | ||||
| @@ -3513,6 +3555,7 @@ XML: | ||||
|   - .launch | ||||
|   - .mdpolicy | ||||
|   - .mm | ||||
|   - .mod | ||||
|   - .mxml | ||||
|   - .nproj | ||||
|   - .nuspec | ||||
|   | ||||
| @@ -150,9 +150,10 @@ module Linguist | ||||
|         next if delta.binary | ||||
|  | ||||
|         if [:added, :modified].include? delta.status | ||||
|           # Skip submodules | ||||
|           # Skip submodules and symlinks | ||||
|           mode = delta.new_file[:mode] | ||||
|           next if (mode & 040000) != 0 | ||||
|           mode_format = (mode & 0170000) | ||||
|           next if mode_format == 0120000 || mode_format == 040000 || mode_format == 0160000 | ||||
|  | ||||
|           blob = Linguist::LazyBlob.new(repository, delta.new_file[:oid], new, mode.to_s(8)) | ||||
|  | ||||
|   | ||||
| @@ -70,6 +70,7 @@ | ||||
| - 3rd[-_]?party/ | ||||
| - vendors?/ | ||||
| - extern(al)?/ | ||||
| - (^|/)[Vv]+endor/ | ||||
|  | ||||
| # Debian packaging | ||||
| - ^debian/ | ||||
| @@ -172,6 +173,13 @@ | ||||
| # Sparkle | ||||
| - (^|/)Sparkle/ | ||||
|  | ||||
| # Crashlytics | ||||
| - Crashlytics.framework/ | ||||
|  | ||||
| # Fabric | ||||
| - Fabric.framework/ | ||||
|  | ||||
|  | ||||
| ## Groovy ## | ||||
|  | ||||
| # Gradle | ||||
|   | ||||
| @@ -1,3 +1,3 @@ | ||||
| module Linguist | ||||
|   VERSION = "4.5.6" | ||||
|   VERSION = "4.5.7" | ||||
| end | ||||
|   | ||||
							
								
								
									
										58
									
								
								samples/AMPL/CT2.mod
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								samples/AMPL/CT2.mod
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,58 @@ | ||||
| param num_beams;                  # number of beams | ||||
|  | ||||
| param num_rows >= 1, integer;     # number of rows | ||||
| param num_cols >= 1, integer;     # number of columns  | ||||
|  | ||||
| set BEAMS   := 1 .. num_beams;    # set of beams | ||||
|  | ||||
| set ROWS    := 1 .. num_rows;	  # set of rows | ||||
| set COLUMNS := 1 .. num_cols;	  # set of columns | ||||
|  | ||||
| # values for entries of each beam | ||||
| param beam_values {BEAMS, ROWS, COLUMNS} >= 0;  | ||||
|  | ||||
| # values of tumor | ||||
| param tumor_values {ROWS, COLUMNS} >= 0;  | ||||
|  | ||||
| # values of critical area | ||||
| param critical_values {ROWS, COLUMNS} >= 0;  | ||||
|  | ||||
| # critical maximum dosage requirement | ||||
| param critical_max; | ||||
|  | ||||
| # tumor minimum dosage requirement | ||||
| param tumor_min; | ||||
|  | ||||
| # dosage scalar of each beam | ||||
| var X {i in BEAMS} >= 0; | ||||
|  | ||||
|  | ||||
| # define the tumor area which includes the locations where tumor exists | ||||
| set tumor_area := {k in ROWS, h in COLUMNS: tumor_values[k,h] > 0}; | ||||
|  | ||||
| # define critical area  | ||||
| set critical_area := {k in ROWS, h in COLUMNS: critical_values[k,h] > 0}; | ||||
|  | ||||
| var S {(k,h) in tumor_area} >= 0; | ||||
| var T {(k,h) in critical_area} >= 0; | ||||
|  | ||||
| # maximize total dosage in tumor area | ||||
| maximize total_tumor_dosage: sum {i in BEAMS} sum {(k,h) in tumor_area} X[i] * beam_values[i,k,h]; | ||||
|  | ||||
| # minimize total dosage in critical area | ||||
| minimize total_critical_dosage: sum {i in BEAMS} sum {(k,h) in critical_area} X[i] * beam_values[i,k,h]; | ||||
|  | ||||
| # minimize total tumor slack | ||||
| minimize total_tumor_slack: sum {(k,h) in tumor_area} S[k,h]; | ||||
|  | ||||
| # minimize total critical area slack | ||||
| minimize total_critical_slack: sum {(k,h) in critical_area} T[k,h]; | ||||
|  | ||||
| # total dosage at each tumor location [k,h] should be >= min tumor dosage with slack variable | ||||
| subject to tumor_limit {(k,h) in tumor_area} : sum {i in BEAMS} X[i] * beam_values[i,k,h] == tumor_min - S[k,h]; | ||||
|  | ||||
| # total dosage at each critical location [k,h] should be = max critical dosage with slack variable | ||||
| subject to critical_limit {(k,h) in critical_area} : sum {i in BEAMS} X[i] * beam_values[i,k,h] == critical_max + T[k,h]; | ||||
|  | ||||
|  | ||||
|  | ||||
							
								
								
									
										25912
									
								
								samples/G-code/lm.g
									
									
									
									
									
								
							
							
						
						
									
										25912
									
								
								samples/G-code/lm.g
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										29735
									
								
								samples/G-code/rm.g
									
									
									
									
									
								
							
							
						
						
									
										29735
									
								
								samples/G-code/rm.g
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										1104
									
								
								samples/Isabelle ROOT/filenames/ROOT
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1104
									
								
								samples/Isabelle ROOT/filenames/ROOT
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										2
									
								
								samples/Linux Kernel Module/bcm4334x.mod
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								samples/Linux Kernel Module/bcm4334x.mod
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/bcm4334x.ko | ||||
| /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/dhd_pno.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/dhd_common.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/dhd_ip.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/dhd_custom_gpio.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/dhd_linux.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/dhd_linux_sched.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/dhd_cfg80211.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/dhd_linux_wq.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/aiutils.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/bcmevent.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/bcmutils.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/bcmwifi_channels.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/hndpmu.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/linux_osl.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/sbutils.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/siutils.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/wl_android.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/wl_cfg80211.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/wl_cfgp2p.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/wl_cfg_btcoex.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/wldev_common.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/wl_linux_mon.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/dhd_linux_platdev.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/bcmsdh.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/bcmsdh_linux.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/bcmsdh_sdmmc.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/bcmsdh_sdmmc_linux.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/dhd_cdc.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/dhd_wlfc.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/dhd_sdio.o | ||||
							
								
								
									
										2
									
								
								samples/Linux Kernel Module/mbcache.mod
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								samples/Linux Kernel Module/mbcache.mod
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| fs/mbcache.ko | ||||
| fs/mbcache.o | ||||
							
								
								
									
										2
									
								
								samples/Linux Kernel Module/md5.mod
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								samples/Linux Kernel Module/md5.mod
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| crypto/md5.ko | ||||
| crypto/md5.o | ||||
							
								
								
									
										329
									
								
								samples/Modula-2/HuffChan.mod
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										329
									
								
								samples/Modula-2/HuffChan.mod
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,329 @@ | ||||
| IMPLEMENTATION MODULE HuffChan; | ||||
|  | ||||
| (* | ||||
|  This module shows how to redefine standard IO file functions. It provides | ||||
|  functions for reading and writing packed files opened in Raw mode. | ||||
| *) | ||||
|  | ||||
| IMPORT IOChan, IOLink, ChanConsts, IOConsts, SYSTEM, Strings; | ||||
| FROM Storage IMPORT ALLOCATE, DEALLOCATE; | ||||
|  | ||||
| CONST | ||||
|   rbldFrq = 512;	(* means: every 512 bytes rebuild table *) | ||||
|  | ||||
| TYPE | ||||
|   charTap  = POINTER TO ARRAY [0..MAX(INTEGER)-1] OF CHAR; | ||||
|   smbTp = POINTER TO smbT; | ||||
|  | ||||
|   smbT = RECORD			(* Huffman's tree *) | ||||
|     ch			: CHAR; | ||||
|     n			: CARDINAL; (* frequncy of char ch *) | ||||
|     left,right,next	: smbTp; | ||||
|   END; | ||||
|  | ||||
|   tblT = RECORD		(* bit sequence for code *) | ||||
|     vl		: CARDINAL;	(* bit sequence *) | ||||
|     cnt		: INTEGER;	(* it length *) | ||||
|   END; | ||||
|  | ||||
|   lclDataT = RECORD	(* channel's local data *) | ||||
|     tRoot 	: smbTp; | ||||
|     htbl	: ARRAY [0..255] OF tblT;     (* code -> bit sequence table *) | ||||
|     ftbl  	: ARRAY [0..255] OF CARDINAL; (* frequncey table *) | ||||
|     wBf,rb1,rb2	: CARDINAL; | ||||
|     wbc,rbc,smc	: INTEGER; | ||||
|     chid	: IOChan.ChanId; | ||||
|   END; | ||||
|   lclDataTp = POINTER TO lclDataT; | ||||
|   charp     = POINTER TO CHAR; | ||||
|  | ||||
| VAR | ||||
|   did	: IOLink.DeviceId; | ||||
|   ldt	: lclDataTp; | ||||
|  | ||||
|  | ||||
| PROCEDURE Shf(a:CARDINAL; b : INTEGER) : CARDINAL; (* shl a,b (or shr) *) | ||||
| BEGIN | ||||
|   RETURN SYSTEM.CAST(CARDINAL,SYSTEM.SHIFT(SYSTEM.CAST(BITSET,a),b)); | ||||
| END Shf; | ||||
|  | ||||
| PROCEDURE wrDword(a:CARDINAL);	(* write 4 bytes to file *) | ||||
| BEGIN | ||||
|   IOChan.RawWrite(ldt^.chid,SYSTEM.ADR(a),4); | ||||
| END wrDword; | ||||
|  | ||||
| PROCEDURE rdDword() : CARDINAL;  (* read 4 bytes from file *) | ||||
| VAR | ||||
|   a,z : CARDINAL; | ||||
| BEGIN | ||||
|   a:=0; | ||||
|   IOChan.RawRead(ldt^.chid,SYSTEM.ADR(a),4,z); | ||||
|   RETURN a; | ||||
| END rdDword; | ||||
|  | ||||
| PROCEDURE wrSmb(ch : CHAR);	(* write bit sequence for code ch *) | ||||
| VAR | ||||
|   v,h : CARDINAL; | ||||
|   b,c : INTEGER; | ||||
| BEGIN | ||||
|   WITH ldt^ DO | ||||
|     v:=htbl[ORD(ch)].vl; | ||||
|     c:=htbl[ORD(ch)].cnt; | ||||
|     IF c+wbc<=32 THEN | ||||
|       wBf:=Shf(wBf,c); | ||||
|       wBf:=wBf+v; | ||||
|       wbc:=wbc+c; | ||||
|       IF wbc=32 THEN | ||||
| 	wrDword(wBf); | ||||
| 	wBf:=0; wbc:=0; | ||||
|       END; | ||||
|       RETURN; | ||||
|     END; | ||||
|     b:=c+wbc-32; | ||||
|     h:=Shf(v,-b); | ||||
|     wBf:=Shf(wBf,32-wbc)+h; | ||||
|     wrDword(wBf); | ||||
|     wBf:=v-Shf(h,b); | ||||
|     wbc:=b; | ||||
|   END; | ||||
| END wrSmb; | ||||
|  | ||||
| PROCEDURE flush();	(* write data in buffer *) | ||||
| BEGIN | ||||
|   WITH ldt^ DO | ||||
|     wBf:=Shf(wBf,32-wbc); | ||||
|     wrDword(wBf); | ||||
|   END; | ||||
| END flush; | ||||
|  | ||||
| PROCEDURE getSym() : CHAR; (* find code for first bit sequence in buffer *) | ||||
| VAR | ||||
|   t,i : CARDINAL; | ||||
|   b   : INTEGER; | ||||
| BEGIN | ||||
|   WITH ldt^ DO | ||||
|     IF rbc<=32 THEN | ||||
|       rb2:=rdDword(); | ||||
|       t:=Shf(rb2,-rbc); | ||||
|       IF rbc=32 THEN t:=0; END; | ||||
|       rb1:=rb1+t; | ||||
|       rb2:=Shf(rb2,32-rbc); | ||||
|       IF rbc=0 THEN rb2:=0; END; | ||||
|       rbc:=rbc+32; | ||||
|     END; | ||||
|     FOR i:=0 TO 255 DO | ||||
|       t:=Shf(rb1,htbl[i].cnt-32); | ||||
|       IF t=htbl[i].vl THEN | ||||
| 	rb1:=Shf(rb1,htbl[i].cnt); | ||||
| 	b:=32-htbl[i].cnt; | ||||
| 	t:=Shf(rb2,-b); | ||||
| 	rb1:=rb1+t; | ||||
| 	rb2:=Shf(rb2,32-b); | ||||
| 	rbc:=rbc+b-32; | ||||
| 	RETURN CHR(i); | ||||
|       END; | ||||
|     END; | ||||
|   END; | ||||
| END getSym; | ||||
|  | ||||
| PROCEDURE Insert(s : smbTp); (* insert new character in Huffman's tree *) | ||||
| VAR | ||||
|   cr : smbTp; | ||||
| BEGIN | ||||
|   WITH ldt^ DO | ||||
|     IF tRoot=NIL THEN | ||||
|       cr:=tRoot; | ||||
|       tRoot:=s; | ||||
|       s^.next:=cr; | ||||
|       RETURN; | ||||
|     ELSIF tRoot^.n<=s^.n THEN | ||||
|       cr:=tRoot; | ||||
|       tRoot:=s; | ||||
|       s^.next:=cr; | ||||
|       RETURN; | ||||
|     END; | ||||
|     cr:=tRoot; | ||||
|     WHILE (cr^.next<>NIL) & (cr^.next^.n>s^.n) DO | ||||
|       cr:=cr^.next; | ||||
|     END; | ||||
|     s^.next:=cr^.next; | ||||
|     cr^.next:=s; | ||||
|   END; | ||||
| END Insert; | ||||
|  | ||||
| PROCEDURE BuildTree(); (* build Huffman's tree *) | ||||
| VAR | ||||
|   cr,ocr,ncr : smbTp; | ||||
| BEGIN | ||||
|   WITH ldt^ DO | ||||
|     LOOP | ||||
|       ocr:=NIL; cr:=tRoot; | ||||
|       WHILE cr^.next^.next<>NIL  DO | ||||
| 	ocr:=cr; cr:=cr^.next; | ||||
|       END; | ||||
|       NEW(ncr); | ||||
|       ncr^.n:=cr^.n+cr^.next^.n; | ||||
|       ncr^.left:=cr; | ||||
|       ncr^.right:=cr^.next; | ||||
|       IF ocr<>NIL THEN | ||||
| 	ocr^.next:=NIL; | ||||
| 	Insert(ncr); | ||||
|       ELSE | ||||
| 	tRoot:=NIL; | ||||
| 	Insert(ncr); | ||||
| 	EXIT; | ||||
|       END; | ||||
|     END; | ||||
|   END; | ||||
| END BuildTree; | ||||
|  | ||||
| PROCEDURE BuildTable(cr: smbTp; vl,n: CARDINAL); (* build table: code -> bit sequence *) | ||||
| BEGIN | ||||
|   WITH ldt^ DO | ||||
|     IF cr^.left=NIL THEN | ||||
|       htbl[ORD(cr^.ch)].vl:=vl; | ||||
|       htbl[ORD(cr^.ch)].cnt:=n; | ||||
|       DISPOSE(cr); | ||||
|       RETURN; | ||||
|     END; | ||||
|     vl:=vl*2; | ||||
|     BuildTable(cr^.left,vl,n+1); | ||||
|     BuildTable(cr^.right,vl+1,n+1); | ||||
|     DISPOSE(cr); | ||||
|   END; | ||||
| END BuildTable; | ||||
|  | ||||
| PROCEDURE clcTab(); (* build code/bitseq. table from frequency table *) | ||||
| VAR | ||||
|   i : CARDINAL; | ||||
|   s : smbTp; | ||||
| BEGIN | ||||
|   WITH ldt^ DO | ||||
|     tRoot:=NIL; | ||||
|     FOR i:=0 TO 255 DO | ||||
|       NEW(s); | ||||
|       s^.ch:=CHR(i); | ||||
|       s^.n:=ftbl[i]; | ||||
|       s^.left:=NIL; s^.right:=NIL; s^.next:=NIL; | ||||
|       Insert(s); | ||||
|     END; | ||||
|     BuildTree(); | ||||
|     BuildTable(tRoot,0,0); | ||||
|   END; | ||||
| END clcTab; | ||||
|  | ||||
| PROCEDURE iniHuf(); | ||||
| VAR | ||||
|   i : CARDINAL; | ||||
| BEGIN | ||||
|   WITH ldt^ DO | ||||
|     FOR i:=0 TO 255 DO | ||||
|       ftbl[i]:=1; | ||||
|     END; | ||||
|     wBf:=0; wbc:=0; rb1:=0; rb2:=0; rbc:=0; | ||||
|     smc:=0; | ||||
|     clcTab(); | ||||
|   END; | ||||
| END iniHuf; | ||||
|  | ||||
|  | ||||
| PROCEDURE RawWrite(x: IOLink.DeviceTablePtr; buf: SYSTEM.ADDRESS; | ||||
| 		len: CARDINAL); | ||||
| VAR | ||||
|   i	: CARDINAL; | ||||
|   ch	: CHAR; | ||||
|   cht	: charTap; | ||||
| BEGIN | ||||
|   IF len = 0 THEN RETURN; END; | ||||
|   ldt:=SYSTEM.CAST(lclDataTp,x^.cd); | ||||
|   cht:=SYSTEM.CAST(charTap,buf); | ||||
|   WITH ldt^ DO | ||||
|     FOR i:=0 TO len-1 DO | ||||
|       ch:=cht^[i]; | ||||
|       wrSmb(ch); | ||||
|       IF ch = 377C THEN wrSmb(ch); END; | ||||
|       ftbl[ORD(ch)]:=ftbl[ORD(ch)]+1; smc:=smc+1; | ||||
|       IF smc=rbldFrq THEN | ||||
| 	clcTab(); | ||||
| 	smc:=0; | ||||
|       END; | ||||
|     END; | ||||
|   END; | ||||
|   x^.result:=IOChan.ReadResult(ldt^.chid); | ||||
| END RawWrite; | ||||
|  | ||||
| PROCEDURE RawRead(x: IOLink.DeviceTablePtr; buf: SYSTEM.ADDRESS; | ||||
| 		blen: CARDINAL; VAR len: CARDINAL); | ||||
| VAR | ||||
|   i	: CARDINAL; | ||||
|   cht	: charTap; | ||||
|   ch	: CHAR; | ||||
| BEGIN | ||||
|   ldt:=SYSTEM.CAST(lclDataTp,x^.cd); | ||||
|   cht:=SYSTEM.CAST(charTap,buf); | ||||
|   IF (blen=0) OR (x^.result<>IOConsts.allRight) THEN len:=0; RETURN; END; | ||||
|   WITH ldt^ DO | ||||
|     FOR i:=0 TO blen-1 DO | ||||
|       ch:=getSym(); | ||||
|       IF ch = 377C THEN | ||||
| 	ch:=getSym(); | ||||
| 	IF ch = 0C THEN | ||||
| 	  x^.result:=IOConsts.endOfInput; | ||||
| 	  len:=i; cht^[i]:=0C; | ||||
| 	  RETURN; | ||||
| 	END; | ||||
|       END; | ||||
|       cht^[i]:=ch; | ||||
|       ftbl[ORD(ch)]:=ftbl[ORD(ch)]+1; smc:=smc+1; | ||||
|       IF smc=rbldFrq THEN | ||||
| 	clcTab(); | ||||
| 	smc:=0; | ||||
|       END; | ||||
|     END; | ||||
|     len:=blen; | ||||
|   END; | ||||
| END RawRead; | ||||
|  | ||||
| PROCEDURE CreateAlias(VAR cid: ChanId; io: ChanId; VAR res: OpenResults); | ||||
| VAR | ||||
|   x	: IOLink.DeviceTablePtr; | ||||
| BEGIN | ||||
|   IOLink.MakeChan(did,cid); | ||||
|   IF cid = IOChan.InvalidChan() THEN | ||||
|     res:=ChanConsts.outOfChans | ||||
|   ELSE | ||||
|     NEW(ldt); | ||||
|     IF ldt=NIL THEN | ||||
|       IOLink.UnMakeChan(did,cid); | ||||
|       res:=ChanConsts.outOfChans; | ||||
|       RETURN; | ||||
|     END; | ||||
|     x:=IOLink.DeviceTablePtrValue(cid,did,IOChan.notAvailable,""); | ||||
|     ldt^.chid:=io; | ||||
|     x^.cd:=ldt; | ||||
|     x^.doRawWrite:=RawWrite; | ||||
|     x^.doRawRead:=RawRead; | ||||
|     res:=ChanConsts.opened; | ||||
|     iniHuf(); | ||||
|     x^.result:=IOConsts.allRight; | ||||
|   END; | ||||
| END CreateAlias; | ||||
|  | ||||
| PROCEDURE DeleteAlias(VAR cid: ChanId); | ||||
| VAR | ||||
|   x	: IOLink.DeviceTablePtr; | ||||
| BEGIN | ||||
|   x:=IOLink.DeviceTablePtrValue(cid,did,IOChan.notAvailable,""); | ||||
|   ldt:=x^.cd; | ||||
|   IF ldt^.rbc=0 THEN | ||||
|     wrSmb(377C); | ||||
|     wrSmb(0C); | ||||
|     flush(); | ||||
|   END; | ||||
|   DISPOSE(ldt); | ||||
|   IOLink.UnMakeChan(did,cid); | ||||
| END DeleteAlias; | ||||
|  | ||||
| BEGIN | ||||
|   IOLink.AllocateDeviceId(did); | ||||
| END HuffChan. | ||||
							
								
								
									
										6
									
								
								samples/PHP/root.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								samples/PHP/root.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | ||||
| <?php | ||||
|   //////////////////////////////////// | ||||
|   // I am not Isabelle ROOT         // | ||||
|   //////////////////////////////////// | ||||
|  | ||||
| ?> | ||||
| @@ -1,4 +1,5 @@ | ||||
| use Test::Base; | ||||
| use Test::More; | ||||
|  | ||||
| __DATA__ | ||||
| === Strict Test | ||||
|   | ||||
| @@ -73,26 +73,6 @@ Here's some POD!  Wooo | ||||
|  | ||||
| say('this is not!'); | ||||
|  | ||||
| =table | ||||
|     Of role things | ||||
|  | ||||
| say('not in your table'); | ||||
| #= A single line declarator "block" (with a keyword like role) | ||||
| #| Another single line declarator "block" (with a keyword like role) | ||||
| #={ | ||||
|     A declarator block (with a keyword like role) | ||||
|   } | ||||
| #|{ | ||||
|     Another declarator block (with a keyword like role) | ||||
|   } | ||||
| #= { A single line declarator "block" with a brace (with a keyword like role) | ||||
| #=« | ||||
|     More declarator blocks! (with a keyword like role) | ||||
|   » | ||||
| #|« | ||||
|     More declarator blocks! (with a keyword like role) | ||||
|   » | ||||
|  | ||||
| say 'Moar code!'; | ||||
|  | ||||
| my $don't = 16; | ||||
|   | ||||
							
								
								
									
										20
									
								
								samples/SMT/bignum_lia1.smt2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								samples/SMT/bignum_lia1.smt2
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,20 @@ | ||||
| (set-logic QF_LIA) | ||||
| (set-info :source | SMT-COMP'06 organizers |) | ||||
| (set-info :smt-lib-version 2.0) | ||||
| (set-info :category "check") | ||||
| (set-info :status unsat) | ||||
| (set-info :notes |This benchmark is designed to check if the DP supports bignumbers.|) | ||||
| (declare-fun x1 () Int) | ||||
| (declare-fun x2 () Int) | ||||
| (declare-fun x3 () Int) | ||||
| (declare-fun x4 () Int) | ||||
| (declare-fun x5 () Int) | ||||
| (declare-fun x6 () Int) | ||||
| (assert (and (or (>= x1 1000) (>= x1 1002))  | ||||
|              (or (>= x2 (* 1230 x1)) (>= x2 (* 1003 x1)))  | ||||
| 			 (or (>= x3 (* 1310 x2)) (>= x3 (* 1999 x2))) | ||||
| 			 (or (>= x4 (* 4000 x3)) (>= x4 (* 8000 x3)))  | ||||
| 			 (or (<= x5 (* (- 4000) x4)) (<= x5 (* (- 8000) x4))) | ||||
| 			 (or (>= x6 (* (- 3) x5)) (>= x6 (* (- 2) x5))) (< x6 0))) | ||||
| (check-sat) | ||||
| (exit) | ||||
							
								
								
									
										20
									
								
								samples/SMT/list4.smt2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								samples/SMT/list4.smt2
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,20 @@ | ||||
| (set-logic AUFLIRA) | ||||
| (set-info :source | Buggy list theorem |) | ||||
| (set-info :smt-lib-version 2.0) | ||||
| (set-info :category "crafted") | ||||
| (set-info :status sat) | ||||
| (declare-sort List 0) | ||||
| (declare-fun cons (Real List) List) | ||||
| (declare-fun nil () List) | ||||
| (declare-fun car (List) Real) | ||||
| (declare-fun cdr (List) List) | ||||
| (declare-fun len (List) Int) | ||||
| (assert (forall ((?x Real) (?y List)) (= (car (cons ?x ?y)) ?x))) | ||||
| (assert (forall ((?x Real) (?y List)) (= (cdr (cons ?x ?y)) ?y))) | ||||
| (assert (= (len nil) 0)) | ||||
| (assert (forall ((?x Real) (?y List)) (= (len (cons ?x ?y)) (+ (len ?y) 1)))) | ||||
| (declare-fun append (List List) List) | ||||
| (assert (forall ((?x Real) (?y1 List) (?y2 List)) (= (append (cons ?x ?y1) ?y2) (cons ?x (append ?y1 ?y2))))) | ||||
| (assert (not (forall ((?x Real) (?y List)) (= (append (cons ?x nil) ?y) (cons ?x ?y))))) | ||||
| (check-sat) | ||||
| (exit) | ||||
							
								
								
									
										123
									
								
								samples/SMT/queen10-1.smt2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										123
									
								
								samples/SMT/queen10-1.smt2
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,123 @@ | ||||
| (set-logic QF_IDL) | ||||
| (set-info :source | | ||||
| Queens benchmarks generated by Hyondeuk Kim in SMT-LIB format. | ||||
| |) | ||||
| (set-info :smt-lib-version 2.0) | ||||
| (set-info :category "crafted") | ||||
| (set-info :status sat) | ||||
| (declare-fun x0 () Int) | ||||
| (declare-fun x1 () Int) | ||||
| (declare-fun x2 () Int) | ||||
| (declare-fun x3 () Int) | ||||
| (declare-fun x4 () Int) | ||||
| (declare-fun x5 () Int) | ||||
| (declare-fun x6 () Int) | ||||
| (declare-fun x7 () Int) | ||||
| (declare-fun x8 () Int) | ||||
| (declare-fun x9 () Int) | ||||
| (declare-fun x10 () Int) | ||||
| (assert  | ||||
|   (let  | ||||
|     ((?v_0 (- x0 x10))  | ||||
|      (?v_1 (- x1 x10))  | ||||
|      (?v_2 (- x2 x10)) | ||||
|      (?v_3 (- x3 x10)) | ||||
|      (?v_4 (- x4 x10)) | ||||
|      (?v_5 (- x5 x10)) | ||||
|      (?v_6 (- x6 x10)) | ||||
|      (?v_7 (- x7 x10)) | ||||
|      (?v_8 (- x8 x10))  | ||||
|      (?v_9 (- x9 x10))  | ||||
|      (?v_10 (- x0 x1)) | ||||
|      (?v_11 (- x0 x2)) | ||||
|      (?v_12 (- x0 x3))  | ||||
|      (?v_13 (- x0 x4)) | ||||
|      (?v_14 (- x0 x5)) | ||||
|      (?v_15 (- x0 x6)) | ||||
|      (?v_16 (- x0 x7)) | ||||
|      (?v_17 (- x0 x8)) | ||||
|      (?v_18 (- x0 x9)) | ||||
|      (?v_19 (- x1 x2)) | ||||
|      (?v_20 (- x1 x3)) | ||||
|      (?v_21 (- x1 x4)) | ||||
|      (?v_22 (- x1 x5)) | ||||
|      (?v_23 (- x1 x6)) | ||||
|      (?v_24 (- x1 x7))  | ||||
|      (?v_25 (- x1 x8))  | ||||
|      (?v_26 (- x1 x9)) | ||||
|      (?v_27 (- x2 x3))  | ||||
|      (?v_28 (- x2 x4)) | ||||
|      (?v_29 (- x2 x5)) | ||||
|      (?v_30 (- x2 x6)) | ||||
|      (?v_31 (- x2 x7)) | ||||
|      (?v_32 (- x2 x8)) | ||||
|      (?v_33 (- x2 x9)) | ||||
|      (?v_34 (- x3 x4)) | ||||
|      (?v_35 (- x3 x5)) | ||||
|      (?v_36 (- x3 x6)) | ||||
|      (?v_37 (- x3 x7)) | ||||
|      (?v_38 (- x3 x8)) | ||||
|      (?v_39 (- x3 x9)) | ||||
|      (?v_40 (- x4 x5)) | ||||
|      (?v_41 (- x4 x6)) | ||||
|      (?v_42 (- x4 x7)) | ||||
|      (?v_43 (- x4 x8)) | ||||
|      (?v_44 (- x4 x9)) | ||||
|      (?v_45 (- x5 x6)) | ||||
|      (?v_46 (- x5 x7)) | ||||
|      (?v_47 (- x5 x8))  | ||||
|      (?v_48 (- x5 x9)) | ||||
|      (?v_49 (- x6 x7)) | ||||
|      (?v_50 (- x6 x8)) | ||||
|      (?v_51 (- x6 x9)) | ||||
|      (?v_52 (- x7 x8)) | ||||
|      (?v_53 (- x7 x9))  | ||||
|      (?v_54 (- x8 x9)))  | ||||
|   (and (<= ?v_0 9) (>= ?v_0 0) (<= ?v_1 9) (>= ?v_1 0) (<= ?v_2 9) (>= ?v_2 0)  | ||||
|        (<= ?v_3 9) (>= ?v_3 0) (<= ?v_4 9) (>= ?v_4 0) (<= ?v_5 9) (>= ?v_5 0)  | ||||
|        (<= ?v_6 9) (>= ?v_6 0) (<= ?v_7 9) (>= ?v_7 0) (<= ?v_8 9) (>= ?v_8 0)  | ||||
|        (<= ?v_9 9) (>= ?v_9 0) | ||||
|        (not (= x0 x1)) (not (= x0 x2)) (not (= x0 x3)) (not (= x0 x4)) | ||||
|        (not (= x0 x5)) (not (= x0 x6)) (not (= x0 x7)) (not (= x0 x8))  | ||||
|        (not (= x0 x9)) (not (= x1 x2)) (not (= x1 x3)) (not (= x1 x4))  | ||||
|        (not (= x1 x5)) (not (= x1 x6)) (not (= x1 x7)) (not (= x1 x8))  | ||||
|        (not (= x1 x9)) (not (= x2 x3)) (not (= x2 x4)) (not (= x2 x5))  | ||||
|        (not (= x2 x6)) (not (= x2 x7)) (not (= x2 x8)) (not (= x2 x9)) | ||||
|        (not (= x3 x4)) (not (= x3 x5)) (not (= x3 x6)) (not (= x3 x7))  | ||||
|        (not (= x3 x8)) (not (= x3 x9)) (not (= x4 x5)) (not (= x4 x6))  | ||||
|        (not (= x4 x7)) (not (= x4 x8)) (not (= x4 x9)) (not (= x5 x6))  | ||||
|        (not (= x5 x7)) (not (= x5 x8)) (not (= x5 x9)) (not (= x6 x7))  | ||||
|        (not (= x6 x8)) (not (= x6 x9)) (not (= x7 x8)) (not (= x7 x9))  | ||||
|        (not (= x8 x9))  | ||||
|        (not (= ?v_10 1)) (not (= ?v_10 (- 1))) (not (= ?v_11 2))  | ||||
|        (not (= ?v_11 (- 2))) (not (= ?v_12 3)) (not (= ?v_12 (- 3)))  | ||||
|        (not (= ?v_13 4)) (not (= ?v_13 (- 4))) (not (= ?v_14 5))  | ||||
|        (not (= ?v_14 (- 5))) (not (= ?v_15 6)) (not (= ?v_15 (- 6))) | ||||
|        (not (= ?v_16 7)) (not (= ?v_16 (- 7))) (not (= ?v_17 8))  | ||||
|        (not (= ?v_17 (- 8))) (not (= ?v_18 9)) (not (= ?v_18 (- 9)))  | ||||
|        (not (= ?v_19 1)) (not (= ?v_19 (- 1))) (not (= ?v_20 2))  | ||||
|        (not (= ?v_20 (- 2))) (not (= ?v_21 3)) (not (= ?v_21 (- 3)))  | ||||
|        (not (= ?v_22 4)) (not (= ?v_22 (- 4))) (not (= ?v_23 5))  | ||||
|        (not (= ?v_23 (- 5))) (not (= ?v_24 6)) (not (= ?v_24 (- 6)))  | ||||
|        (not (= ?v_25 7)) (not (= ?v_25 (- 7))) (not (= ?v_26 8))  | ||||
|        (not (= ?v_26 (- 8))) (not (= ?v_27 1)) (not (= ?v_27 (- 1)))  | ||||
|        (not (= ?v_28 2)) (not (= ?v_28 (- 2))) (not (= ?v_29 3))  | ||||
|        (not (= ?v_29 (- 3))) (not (= ?v_30 4)) (not (= ?v_30 (- 4)))  | ||||
|        (not (= ?v_31 5)) (not (= ?v_31 (- 5))) (not (= ?v_32 6)) | ||||
|        (not (= ?v_32 (- 6))) (not (= ?v_33 7)) (not (= ?v_33 (- 7)))  | ||||
|        (not (= ?v_34 1)) (not (= ?v_34 (- 1))) (not (= ?v_35 2))  | ||||
|        (not (= ?v_35 (- 2))) (not (= ?v_36 3)) (not (= ?v_36 (- 3))) | ||||
|        (not (= ?v_37 4)) (not (= ?v_37 (- 4))) (not (= ?v_38 5))  | ||||
|        (not (= ?v_38 (- 5))) (not (= ?v_39 6)) (not (= ?v_39 (- 6)))  | ||||
|        (not (= ?v_40 1)) (not (= ?v_40 (- 1))) (not (= ?v_41 2))  | ||||
|        (not (= ?v_41 (- 2))) (not (= ?v_42 3)) (not (= ?v_42 (- 3))) | ||||
|        (not (= ?v_43 4)) (not (= ?v_43 (- 4))) (not (= ?v_44 5)) | ||||
|        (not (= ?v_44 (- 5))) (not (= ?v_45 1)) (not (= ?v_45 (- 1)))  | ||||
|        (not (= ?v_46 2)) (not (= ?v_46 (- 2))) (not (= ?v_47 3))  | ||||
|        (not (= ?v_47 (- 3))) (not (= ?v_48 4)) (not (= ?v_48 (- 4)))  | ||||
|        (not (= ?v_49 1)) (not (= ?v_49 (- 1))) (not (= ?v_50 2))  | ||||
|        (not (= ?v_50 (- 2))) (not (= ?v_51 3)) (not (= ?v_51 (- 3)))  | ||||
|        (not (= ?v_52 1)) (not (= ?v_52 (- 1))) (not (= ?v_53 2))  | ||||
|        (not (= ?v_53 (- 2))) (not (= ?v_54 1)) (not (= ?v_54 (- 1)))))) | ||||
| (check-sat) | ||||
| (exit) | ||||
							
								
								
									
										2104
									
								
								samples/SMT/shufflevector.smt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2104
									
								
								samples/SMT/shufflevector.smt
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										125
									
								
								samples/XML/xhtml-struct-1.mod
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										125
									
								
								samples/XML/xhtml-struct-1.mod
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,125 @@ | ||||
| <!-- ...................................................................... --> | ||||
| <!-- XHTML Structure Module  .............................................. --> | ||||
| <!-- file: xhtml-struct-1.mod | ||||
|  | ||||
|      This is XHTML, a reformulation of HTML as a modular XML application. | ||||
|      Copyright 1998-2000 W3C (MIT, INRIA, Keio), All Rights Reserved. | ||||
|      Revision: $Id: xhtml-struct-1.mod,v 1.1.1.1 2006/01/09 19:23:30 rcrews Exp $ SMI | ||||
|  | ||||
|      This DTD module is identified by the PUBLIC and SYSTEM identifiers: | ||||
|  | ||||
|        PUBLIC "-//W3C//ELEMENTS XHTML Document Structure 1.0//EN" | ||||
|        SYSTEM "http://www.w3.org/TR/xhtml-modulatization/DTD/xhtml-struct-1.mod" | ||||
|  | ||||
|      Revisions: | ||||
|      (none) | ||||
|      ....................................................................... --> | ||||
|  | ||||
| <!-- Document Structure | ||||
|  | ||||
|         title, head, body, html | ||||
|  | ||||
|      The Structure Module defines the major structural elements and  | ||||
|      their attributes. | ||||
|  | ||||
|      Note that the content model of the head element type is redeclared  | ||||
|      when the Base Module is included in the DTD. | ||||
|  | ||||
|      The parameter entity containing the XML namespace URI value used  | ||||
|      for XHTML is '%XHTML.xmlns;', defined in the Qualified Names module. | ||||
| --> | ||||
|  | ||||
| <!-- title: Document Title ............................. --> | ||||
|  | ||||
| <!-- The title element is not considered part of the flow of text. | ||||
|      It should be displayed, for example as the page header or | ||||
|      window title. Exactly one title is required per document. | ||||
| --> | ||||
|  | ||||
| <!ENTITY % title.element  "INCLUDE" > | ||||
| <![%title.element;[ | ||||
| <!ENTITY % title.content  "( #PCDATA )" > | ||||
| <!ENTITY % title.qname  "title" > | ||||
| <!ELEMENT %title.qname;  %title.content; > | ||||
| <!-- end of title.element -->]]> | ||||
|  | ||||
| <!ENTITY % title.attlist  "INCLUDE" > | ||||
| <![%title.attlist;[ | ||||
| <!ATTLIST %title.qname; | ||||
|       %XHTML.xmlns.attrib;  | ||||
|       %I18n.attrib; | ||||
| > | ||||
| <!-- end of title.attlist -->]]> | ||||
|  | ||||
| <!-- head: Document Head ............................... --> | ||||
|  | ||||
| <!ENTITY % head.element  "INCLUDE" > | ||||
| <![%head.element;[ | ||||
| <!ENTITY % head.content | ||||
|     "( %HeadOpts.mix;, %title.qname;, %HeadOpts.mix; )" | ||||
| > | ||||
| <!ENTITY % head.qname  "head" > | ||||
| <!ELEMENT %head.qname;  %head.content; > | ||||
| <!-- end of head.element -->]]> | ||||
|  | ||||
| <!ENTITY % head.attlist  "INCLUDE" > | ||||
| <![%head.attlist;[ | ||||
| <!-- reserved for future use with document profiles | ||||
| --> | ||||
| <!ENTITY % profile.attrib | ||||
|      "profile      %URI.datatype;           '%XHTML.profile;'" | ||||
| > | ||||
|  | ||||
| <!ATTLIST %head.qname; | ||||
|       %XHTML.xmlns.attrib;  | ||||
|       %I18n.attrib; | ||||
|       %profile.attrib; | ||||
| > | ||||
| <!-- end of head.attlist -->]]> | ||||
|  | ||||
| <!-- body: Document Body ............................... --> | ||||
|  | ||||
| <!ENTITY % body.element  "INCLUDE" > | ||||
| <![%body.element;[ | ||||
| <!ENTITY % body.content | ||||
|      "( %Block.mix; )+" | ||||
| > | ||||
| <!ENTITY % body.qname  "body" > | ||||
| <!ELEMENT %body.qname;  %body.content; > | ||||
| <!-- end of body.element -->]]> | ||||
|  | ||||
| <!ENTITY % body.attlist  "INCLUDE" > | ||||
| <![%body.attlist;[ | ||||
| <!ATTLIST %body.qname; | ||||
|       %Common.attrib; | ||||
| > | ||||
| <!-- end of body.attlist -->]]> | ||||
|  | ||||
| <!-- html: XHTML Document Element ...................... --> | ||||
|  | ||||
| <!ENTITY % html.element  "INCLUDE" > | ||||
| <![%html.element;[ | ||||
| <!ENTITY % html.content  "( %head.qname;, %body.qname; )" > | ||||
| <!ENTITY % html.qname  "html" > | ||||
| <!ELEMENT %html.qname;  %html.content; > | ||||
| <!-- end of html.element -->]]> | ||||
|  | ||||
| <!ENTITY % html.attlist  "INCLUDE" > | ||||
| <![%html.attlist;[ | ||||
| <!-- version attribute value defined in driver | ||||
| --> | ||||
| <!ENTITY % XHTML.version.attrib | ||||
|      "version      %FPI.datatype;           #FIXED '%XHTML.version;'" | ||||
| > | ||||
|  | ||||
| <!-- see the Qualified Names module for information  | ||||
|      on how to extend XHTML using XML namespaces  | ||||
| --> | ||||
| <!ATTLIST %html.qname; | ||||
|       %XHTML.xmlns.attrib;  | ||||
|       %XHTML.version.attrib; | ||||
|       %I18n.attrib; | ||||
| > | ||||
| <!-- end of html.attlist -->]]> | ||||
|  | ||||
| <!-- end of xhtml-struct-1.mod --> | ||||
							
								
								
									
										50
									
								
								test/fixtures/Generated/ABM8G.mod
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								test/fixtures/Generated/ABM8G.mod
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,50 @@ | ||||
| PCBNEW-LibModule-V1  Wed 10 Aug 2011 05:57:27 PM COT | ||||
| # encoding utf-8 | ||||
| $INDEX | ||||
| ABM8G | ||||
| $EndINDEX | ||||
| $MODULE ABM8G | ||||
| Po 0 0 0 15 4E430CBD 4E430CC5 ~~ | ||||
| Li ABM8G | ||||
| Sc 4E430CC5 | ||||
| AR  | ||||
| Op 0 0 0 | ||||
| T0 591 -1378 354 354 0 39 N V 21 N "ABM8G" | ||||
| T1 0 787 354 354 0 39 N V 21 N "VAL**" | ||||
| DS -591 394 1299 394 79 21 | ||||
| DS 1299 394 1299 -1063 79 21 | ||||
| DS 1299 -1063 -472 -1063 79 21 | ||||
| DS -472 -1063 -472 472 79 21 | ||||
| DS -472 472 -472 551 79 21 | ||||
| DS -472 551 -591 551 79 21 | ||||
| DS -591 551 -591 433 79 21 | ||||
| $PAD | ||||
| Sh "1" R 551 472 0 0 0 | ||||
| Dr 0 0 0 | ||||
| At SMD N 00888000 | ||||
| Ne 0 "" | ||||
| Po 0 0 | ||||
| $EndPAD | ||||
| $PAD | ||||
| Sh "2" R 551 472 0 0 0 | ||||
| Dr 0 0 0 | ||||
| At SMD N 00888000 | ||||
| Ne 0 "" | ||||
| Po 866 0 | ||||
| $EndPAD | ||||
| $PAD | ||||
| Sh "3" R 551 472 0 0 0 | ||||
| Dr 0 0 0 | ||||
| At SMD N 00888000 | ||||
| Ne 0 "" | ||||
| Po 866 -669 | ||||
| $EndPAD | ||||
| $PAD | ||||
| Sh "4" R 551 472 0 0 0 | ||||
| Dr 0 0 0 | ||||
| At SMD N 00888000 | ||||
| Ne 0 "" | ||||
| Po 0 -669 | ||||
| $EndPAD | ||||
| $EndMODULE  ABM8G | ||||
| $EndLIBRARY | ||||
							
								
								
									
										19
									
								
								test/fixtures/Generated/ms2.mod
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								test/fixtures/Generated/ms2.mod
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,19 @@ | ||||
| GFORTRAN module version '0' created from ms2.f90 on Thu Sep  5 10:09:19 2013 | ||||
| MD5:8a80cd5db1bc612a28603959302dbf37 -- If you edit this, you'll get what you deserve. | ||||
|  | ||||
| (() () () () () () () () () () () () () () () () () () () () () () () () | ||||
| () () ()) | ||||
|  | ||||
| () | ||||
|  | ||||
| () | ||||
|  | ||||
| () | ||||
|  | ||||
| () | ||||
|  | ||||
| (2 'ms2' 'ms2' 'ms2' 1 ((MODULE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN | ||||
| UNKNOWN) (UNKNOWN 0 0 0 UNKNOWN ()) 0 0 () () 0 () () () 0 0) | ||||
| ) | ||||
|  | ||||
| ('ms2' 0 2) | ||||
							
								
								
									
										1
									
								
								test/fixtures/SVG/alg_schema.link.svg
									
									
									
									
										vendored
									
									
										Symbolic link
									
								
							
							
						
						
									
										1
									
								
								test/fixtures/SVG/alg_schema.link.svg
									
									
									
									
										vendored
									
									
										Symbolic link
									
								
							| @@ -0,0 +1 @@ | ||||
| alg_schema.svg | ||||
							
								
								
									
										269
									
								
								test/fixtures/SVG/alg_schema.svg
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										269
									
								
								test/fixtures/SVG/alg_schema.svg
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,269 @@ | ||||
| <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||||
| <!-- Created with Inkscape (http://www.inkscape.org/) --> | ||||
|  | ||||
| <svg | ||||
|    xmlns:dc="http://purl.org/dc/elements/1.1/" | ||||
|    xmlns:cc="http://creativecommons.org/ns#" | ||||
|    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" | ||||
|    xmlns:svg="http://www.w3.org/2000/svg" | ||||
|    xmlns="http://www.w3.org/2000/svg" | ||||
|    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" | ||||
|    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" | ||||
|    width="744.09448819" | ||||
|    height="1052.3622047" | ||||
|    id="svg2" | ||||
|    version="1.1" | ||||
|    inkscape:version="0.48.0 r9654" | ||||
|    sodipodi:docname="alg_schema.svg"> | ||||
|   <defs | ||||
|      id="defs4" /> | ||||
|   <sodipodi:namedview | ||||
|      id="base" | ||||
|      pagecolor="#ffffff" | ||||
|      bordercolor="#666666" | ||||
|      borderopacity="1.0" | ||||
|      inkscape:pageopacity="0.0" | ||||
|      inkscape:pageshadow="2" | ||||
|      inkscape:zoom="0.834386" | ||||
|      inkscape:cx="409.42881" | ||||
|      inkscape:cy="681.83774" | ||||
|      inkscape:document-units="px" | ||||
|      inkscape:current-layer="g3759" | ||||
|      showgrid="false" | ||||
|      inkscape:window-width="1280" | ||||
|      inkscape:window-height="993" | ||||
|      inkscape:window-x="1280" | ||||
|      inkscape:window-y="31" | ||||
|      inkscape:window-maximized="0" | ||||
|      showguides="true" | ||||
|      inkscape:snap-global="false"> | ||||
|     <inkscape:grid | ||||
|        type="xygrid" | ||||
|        id="grid3914" /> | ||||
|   </sodipodi:namedview> | ||||
|   <metadata | ||||
|      id="metadata7"> | ||||
|     <rdf:RDF> | ||||
|       <cc:Work | ||||
|          rdf:about=""> | ||||
|         <dc:format>image/svg+xml</dc:format> | ||||
|         <dc:type | ||||
|            rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> | ||||
|         <dc:title></dc:title> | ||||
|       </cc:Work> | ||||
|     </rdf:RDF> | ||||
|   </metadata> | ||||
|   <g | ||||
|      inkscape:label="Layer 1" | ||||
|      inkscape:groupmode="layer" | ||||
|      id="layer1"> | ||||
|     <g | ||||
|        id="g3759" | ||||
|        transform="translate(-3.3909149,-21.218048)"> | ||||
|       <rect | ||||
|          ry="11.855058" | ||||
|          rx="14.468504" | ||||
|          y="138.58023" | ||||
|          x="108.08632" | ||||
|          height="66.263969" | ||||
|          width="247.48737" | ||||
|          id="rect2985" | ||||
|          style="fill:#1f3d55;fill-opacity:1;fill-rule:evenodd;stroke:#3f5d75;stroke-width:5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> | ||||
|       <text | ||||
|          sodipodi:linespacing="125%" | ||||
|          id="text3755" | ||||
|          y="163.58023" | ||||
|          x="238.39091" | ||||
|          style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans" | ||||
|          xml:space="preserve"><tspan | ||||
|            style="font-size:24px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1" | ||||
|            y="163.58023" | ||||
|            x="238.39091" | ||||
|            id="tspan3757" | ||||
|            sodipodi:role="line">Sequence KEY</tspan><tspan | ||||
|            style="font-size:24px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1" | ||||
|            y="193.58023" | ||||
|            x="238.39091" | ||||
|            sodipodi:role="line" | ||||
|            id="tspan4055">256 bits</tspan></text> | ||||
|     </g> | ||||
|     <g | ||||
|        id="g3870" | ||||
|        transform="translate(-0.73178617,29.27145)"> | ||||
|       <g | ||||
|          id="g3759-5" | ||||
|          transform="translate(-0.40143056,286.32219)"> | ||||
|         <rect | ||||
|            style="fill:#1f3d55;fill-opacity:1;fill-rule:evenodd;stroke:#3f5d75;stroke-width:5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" | ||||
|            id="rect2985-5" | ||||
|            width="247.48737" | ||||
|            height="74.751289" | ||||
|            x="108.08632" | ||||
|            y="130.09291" | ||||
|            rx="14.468504" | ||||
|            ry="13.373494" /> | ||||
|         <flowRoot | ||||
|            transform="translate(2.4712344,-292.01415)" | ||||
|            style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans" | ||||
|            id="flowRoot3797" | ||||
|            xml:space="preserve"><flowRegion | ||||
|              id="flowRegion3799"><rect | ||||
|                style="font-size:24px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1" | ||||
|                y="428.79074" | ||||
|                x="125" | ||||
|                height="58.346195" | ||||
|                width="86.479271" | ||||
|                id="rect3801" /></flowRegion><flowPara | ||||
|              id="flowPara3805">Salt</flowPara><flowPara | ||||
|              id="flowPara3841">96 bits</flowPara></flowRoot>        <flowRoot | ||||
|            transform="translate(115.26831,-291.40674)" | ||||
|            style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans" | ||||
|            id="flowRoot3797-6" | ||||
|            xml:space="preserve"><flowRegion | ||||
|              id="flowRegion3799-5"><rect | ||||
|                style="font-size:24px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1" | ||||
|                y="428.79074" | ||||
|                x="125" | ||||
|                height="60.933453" | ||||
|                width="104.07261" | ||||
|                id="rect3801-6" /></flowRegion><flowPara | ||||
|              id="flowPara3805-9">Counter</flowPara><flowPara | ||||
|              id="flowPara3809-3">32 bits</flowPara></flowRoot>        <path | ||||
|            inkscape:connector-curvature="0" | ||||
|            id="path3845" | ||||
|            d="m 229.11476,138.88943 0,57.95451" | ||||
|            style="fill:none;stroke:#ffffff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> | ||||
|       </g> | ||||
|     </g> | ||||
|     <g | ||||
|        transform="matrix(0.6979728,0,0,0.6979728,71.363842,197.71804)" | ||||
|        id="g3759-7"> | ||||
|       <rect | ||||
|          ry="13.373494" | ||||
|          rx="14.297379" | ||||
|          y="130.09291" | ||||
|          x="108.08632" | ||||
|          height="74.751289" | ||||
|          width="244.56023" | ||||
|          id="rect2985-4" | ||||
|          style="fill:#1f3d55;fill-opacity:1;fill-rule:evenodd;stroke:#3f5d75;stroke-width:7.16360283;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> | ||||
|       <text | ||||
|          sodipodi:linespacing="125%" | ||||
|          id="text3755-5" | ||||
|          y="178.58023" | ||||
|          x="141.31805" | ||||
|          style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#beff83;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans" | ||||
|          xml:space="preserve"><tspan | ||||
|            style="font-size:32px;fill:#beff83;fill-opacity:1" | ||||
|            y="178.58023" | ||||
|            x="141.31805" | ||||
|            id="tspan3757-2" | ||||
|            sodipodi:role="line">AES Cipher</tspan></text> | ||||
|     </g> | ||||
|     <path | ||||
|        style="fill:#6ea1cc;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1" | ||||
|        d="m 225,437.36218 0,-50 -15,5 25,-35 25,35 -15,-5 0,50 z" | ||||
|        id="path3912" | ||||
|        inkscape:connector-curvature="0" | ||||
|        sodipodi:nodetypes="cccccccc" /> | ||||
|     <path | ||||
|        style="fill:#6ea1cc;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" | ||||
|        d="m 340,302.36218 50,0 -5,-15 35,25 -35,25 5,-15 -50,0 z" | ||||
|        id="path3912-5" | ||||
|        inkscape:connector-curvature="0" | ||||
|        sodipodi:nodetypes="cccccccc" /> | ||||
|     <path | ||||
|        style="fill:#6ea1cc;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" | ||||
|        d="m 245,192.36218 0,50 15,-5 -25,35 -25,-35 15,5 0,-50 z" | ||||
|        id="path3912-4" | ||||
|        inkscape:connector-curvature="0" | ||||
|        sodipodi:nodetypes="cccccccc" /> | ||||
|     <g | ||||
|        transform="matrix(0.6979728,0,0,0.6979728,361.36384,197.71804)" | ||||
|        id="g3759-7-7"> | ||||
|       <rect | ||||
|          ry="13.373494" | ||||
|          rx="17.857012" | ||||
|          y="130.09291" | ||||
|          x="108.08632" | ||||
|          height="74.751289" | ||||
|          width="305.44867" | ||||
|          id="rect2985-4-4" | ||||
|          style="fill:#1f3d55;fill-opacity:1;fill-rule:evenodd;stroke:#3f5d75;stroke-width:7.16360283;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> | ||||
|       <text | ||||
|          sodipodi:linespacing="125%" | ||||
|          id="text3755-5-4" | ||||
|          y="159.80484" | ||||
|          x="255.9357" | ||||
|          style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#beff83;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans" | ||||
|          xml:space="preserve"><tspan | ||||
|            style="font-size:25.78897095px;text-align:center;text-anchor:middle;fill:#beff83;fill-opacity:1" | ||||
|            y="159.80484" | ||||
|            x="255.9357" | ||||
|            sodipodi:role="line" | ||||
|            id="tspan3979">Secure random data</tspan><tspan | ||||
|            style="font-size:25.78897095px;text-align:center;text-anchor:middle;fill:#beff83;fill-opacity:1" | ||||
|            y="192.04105" | ||||
|            x="255.9357" | ||||
|            sodipodi:role="line" | ||||
|            id="tspan3983">128 bits</tspan></text> | ||||
|     </g> | ||||
|     <path | ||||
|        style="fill:#6ea1cc;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;opacity:0.45614035" | ||||
|        d="m 550,352.36218 0,50 15,-5 -25,35 -25,-35 15,5 0,-50 z" | ||||
|        id="path3912-5-0" | ||||
|        inkscape:connector-curvature="0" | ||||
|        sodipodi:nodetypes="cccccccc" /> | ||||
|     <text | ||||
|        xml:space="preserve" | ||||
|        style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans" | ||||
|        x="540" | ||||
|        y="382.36218" | ||||
|        id="text4003" | ||||
|        sodipodi:linespacing="125%"><tspan | ||||
|          sodipodi:role="line" | ||||
|          x="540" | ||||
|          y="382.36218" | ||||
|          id="tspan4007" | ||||
|          style="font-size:16px;text-align:center;text-anchor:middle">Division by alphabet length</tspan><tspan | ||||
|          sodipodi:role="line" | ||||
|          x="540" | ||||
|          y="402.36218" | ||||
|          style="font-size:16px;text-align:center;text-anchor:middle" | ||||
|          id="tspan4053">repeated passcode-length times.</tspan></text> | ||||
|     <g | ||||
|        transform="matrix(0.6979728,0,0,0.6979728,344.55869,369.3865)" | ||||
|        id="g3759-7-7-7"> | ||||
|       <g | ||||
|          id="g4045" | ||||
|          transform="translate(-1.21417,-6.070852)"> | ||||
|         <rect | ||||
|            style="fill:#1f3d55;fill-opacity:1;fill-rule:evenodd;stroke:#3f5d75;stroke-width:7.16360283;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" | ||||
|            id="rect2985-4-4-8" | ||||
|            width="305.44867" | ||||
|            height="74.751289" | ||||
|            x="131.15555" | ||||
|            y="130.09291" | ||||
|            rx="17.857012" | ||||
|            ry="13.373494" /> | ||||
|         <text | ||||
|            xml:space="preserve" | ||||
|            style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#beff83;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans" | ||||
|            x="283.77673" | ||||
|            y="158.71724" | ||||
|            id="text3755-5-4-6" | ||||
|            sodipodi:linespacing="125%"><tspan | ||||
|              id="tspan3983-8" | ||||
|              sodipodi:role="line" | ||||
|              x="283.77673" | ||||
|              y="158.71724" | ||||
|              style="font-size:25.78897095px;text-align:center;text-anchor:middle;fill:#beff83;fill-opacity:1">Passcode</tspan><tspan | ||||
|              id="tspan4043" | ||||
|              sodipodi:role="line" | ||||
|              x="283.77673" | ||||
|              y="190.95346" | ||||
|              style="font-size:25.78897095px;text-align:center;text-anchor:middle;fill:#beff83;fill-opacity:1">2-16 characters</tspan></text> | ||||
|       </g> | ||||
|     </g> | ||||
|   </g> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 12 KiB | 
| @@ -279,6 +279,9 @@ class TestBlob < Minitest::Test | ||||
|     # Rails vendor/ | ||||
|     assert sample_blob("vendor/plugins/will_paginate/lib/will_paginate.rb").vendored? | ||||
|  | ||||
|     # Vendor/ | ||||
|     assert sample_blob("Vendor/my_great_file.h").vendored? | ||||
|  | ||||
|     # 'thirdparty' directory | ||||
|     assert sample_blob("thirdparty/lib/main.c").vendored? | ||||
|  | ||||
| @@ -480,6 +483,12 @@ class TestBlob < Minitest::Test | ||||
|  | ||||
|     # Vagrant | ||||
|     assert sample_blob("puphpet/file.pp").vendored? | ||||
|  | ||||
|     # Fabric.io | ||||
|     assert sample_blob("Fabric.framework/Fabric.h").vendored? | ||||
|  | ||||
|     # Crashlytics | ||||
|     assert sample_blob("Crashlytics.framework/Crashlytics.h").vendored? | ||||
|   end | ||||
|  | ||||
|   def test_documentation | ||||
| @@ -551,6 +560,8 @@ class TestBlob < Minitest::Test | ||||
|         blob = fixture_blob(filepath) | ||||
|         if language == 'Data' | ||||
|           assert blob.language.nil?, "A language was found for #{filepath}" | ||||
|         elsif language == 'Generated' | ||||
|           assert blob.generated?, "#{filepath} is not a generated file" | ||||
|         else | ||||
|           assert blob.language, "No language for #{filepath}" | ||||
|           assert_equal language, blob.language.name, blob.name | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/grammars/Handlebars
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								vendor/grammars/Handlebars
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/Handlebars updated: e331daf059...60532f35cf
									
								
							
							
								
								
									
										2
									
								
								vendor/grammars/NimLime
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								vendor/grammars/NimLime
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/NimLime updated: 4ab90608c1...4acce8b67b
									
								
							
							
								
								
									
										1
									
								
								vendor/grammars/SMT.tmbundle
									
									
									
									
										vendored
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								vendor/grammars/SMT.tmbundle
									
									
									
									
										vendored
									
									
										Submodule
									
								
							 Submodule vendor/grammars/SMT.tmbundle added at 5b8231f516
									
								
							
							
								
								
									
										1
									
								
								vendor/grammars/Sublime-Modula-2
									
									
									
									
										vendored
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								vendor/grammars/Sublime-Modula-2
									
									
									
									
										vendored
									
									
										Submodule
									
								
							 Submodule vendor/grammars/Sublime-Modula-2 added at f30f2fbe3b
									
								
							
							
								
								
									
										2
									
								
								vendor/grammars/atom-fsharp
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								vendor/grammars/atom-fsharp
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/atom-fsharp updated: 919a4d895a...55785b6af0
									
								
							
							
								
								
									
										2
									
								
								vendor/grammars/carto-atom
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								vendor/grammars/carto-atom
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/carto-atom updated: 60c8774b02...9895909323
									
								
							
							
								
								
									
										2
									
								
								vendor/grammars/css.tmbundle
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								vendor/grammars/css.tmbundle
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/css.tmbundle updated: 2ce91736ca...94f7111c29
									
								
							
							
								
								
									
										2
									
								
								vendor/grammars/d.tmbundle
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								vendor/grammars/d.tmbundle
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/d.tmbundle updated: ccb8b6ba11...f7953e41fd
									
								
							
							
								
								
									
										2
									
								
								vendor/grammars/factor
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								vendor/grammars/factor
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/factor updated: 3705d6e387...0124e630f0
									
								
							
							
								
								
									
										2
									
								
								vendor/grammars/haxe-sublime-bundle
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								vendor/grammars/haxe-sublime-bundle
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/haxe-sublime-bundle updated: 7fb8855dd6...810b34b259
									
								
							
							
								
								
									
										2
									
								
								vendor/grammars/jade-tmbundle
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								vendor/grammars/jade-tmbundle
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/jade-tmbundle updated: 4197de8b70...9ad91309a4
									
								
							
							
								
								
									
										2
									
								
								vendor/grammars/language-clojure
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								vendor/grammars/language-clojure
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/language-clojure updated: 81e089cc55...04e308ae4c
									
								
							
							
								
								
									
										2
									
								
								vendor/grammars/language-javascript
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								vendor/grammars/language-javascript
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/language-javascript updated: 601cb6cb8f...e26b8c50a3
									
								
							
							
								
								
									
										2
									
								
								vendor/grammars/language-jsoniq
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								vendor/grammars/language-jsoniq
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/language-jsoniq updated: 20214d61b4...7a971acf1c
									
								
							
							
								
								
									
										2
									
								
								vendor/grammars/language-python
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								vendor/grammars/language-python
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/language-python updated: db14372b47...7271315c85
									
								
							
							
								
								
									
										2
									
								
								vendor/grammars/perl.tmbundle
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								vendor/grammars/perl.tmbundle
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/perl.tmbundle updated: 4b768e2ce1...fd81fe586b
									
								
							
							
								
								
									
										2
									
								
								vendor/grammars/sas.tmbundle
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								vendor/grammars/sas.tmbundle
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/sas.tmbundle updated: a9689f436f...43a05b10fc
									
								
							
							
								
								
									
										2
									
								
								vendor/grammars/sublime-mask
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								vendor/grammars/sublime-mask
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/sublime-mask updated: a7f3baacf6...bd37c4e753
									
								
							
							
								
								
									
										2
									
								
								vendor/grammars/sublime-text-ox
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								vendor/grammars/sublime-text-ox
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/sublime-text-ox updated: 10ca88362c...ed96fb6afc
									
								
							
		Reference in New Issue
	
	Block a user