mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	
							
								
								
									
										3
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.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 | ||||
|   | ||||
| @@ -109,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 | ||||
|  | ||||
| @@ -1767,6 +1768,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: | ||||
| @@ -2033,6 +2041,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: | ||||
| @@ -3533,6 +3548,7 @@ XML: | ||||
|   - .launch | ||||
|   - .mdpolicy | ||||
|   - .mm | ||||
|   - .mod | ||||
|   - .mxml | ||||
|   - .nproj | ||||
|   - .nuspec | ||||
|   | ||||
							
								
								
									
										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]; | ||||
|  | ||||
|  | ||||
|  | ||||
							
								
								
									
										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. | ||||
							
								
								
									
										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) | ||||
| @@ -560,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 | ||||
|   | ||||
							
								
								
									
										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
									
								
							
		Reference in New Issue
	
	Block a user