Help:GeSHi: Difference between revisions

From Rosetta Code
Content added Content deleted
m (==Initial examples==)
(Replaced with a redirect to Help:Syntax Highlighting, since what little useful content was here is now there.)
 
(43 intermediate revisions by 12 users not shown)
Line 1: Line 1:
#REDIRECT [[Help:Syntax Highlighting]]
[[Category:Less Than 20 Examples]]{{task}}[[Category:Prime Numbers]]
The following are examples of typical code formated with GeSHi, the '''Ge'''neric '''S'''yntax '''Hi'''lighter.

==Supported source tags==
GeSHi currently supports the following tags: [[actionscript-french]], [[actionscript]], [[ada]], [[apache]], [[applescript]], [[asm]], [[asp]], [[bash]], [[blitzbasic]], [[caddcl]], [[cadlisp]], [[c_mac]], [[c]], [[C++|cpp]], [[csharp]], [[css]], [[delphi]], [[diff]], [[dos]], [[d]], [[eiffel]], [[freebasic]], [[gml]], [[html4strict]], [[ini]], [[inno]], [[java]], [[javascript]], [[lisp]], [[lua]], [[matlab]], [[mpasm]], [[mysql]], [[nsis]], [[objc]], [[ocaml-brief]], [[ocaml]], [[oobas]], [[oracle8]], [[pascal]], [[perl]], [[php-brief]], [[php]], [[python]], [[qbasic]], [[ruby]], [[scheme]], [[sdlbasic]], [[smarty]], [[sql]], [[vbnet]], [[vb]], [[vhdl]], [[visualfoxpro]] & [[xml]].

Use trial division. Even numbers may be eliminated right away. A loop from 3 to √(n) will suffice, but other loops are allowed.

==Initial examples==
==={{header|Ada}}===
<Ada>
function Is_Prime(Item : Positive) return Boolean is
Result : Boolean := True;
Test : Natural;
begin
if Item /= 2 and Item mod 2 = 0 then
Result := False;
else
Test := 3;
while Test < Integer(Sqrt(Float(Item))) loop
if Item mod Test = 0 then
Result := False;
exit;
end if;
Test := Test + 2;
end loop;
end if;
return Result;
end Is_Prime;
</Ada>

==={{header|ALGOL 68}}===
<ALGOL_68>
main:(
PROC is prime = ( INT n )BOOL:
(
IF n = 2 THEN
TRUE
ELIF n <= 1 OR n MOD 2 = 0 THEN
FALSE
ELSE
BOOL prime := TRUE;
FOR i FROM 3 BY 2 TO ENTIER sqrt(n) WHILE prime := n MOD i /= 0 DO
SKIP
OD;
prime
FI
);
INT upb=100;
printf(($" The primes up to "g(-3)" are:"l$,upb));
FOR i TO upb DO
IF is prime(i) THEN
printf(($g(-4)$,i))
FI
OD;
printf($l$)
)
Output:
</ALGOL_68>
The primes up to 100 are:
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
==={{header|BASIC}}===
{{works with|QuickBasic|4.5}}

Going with the classic 1 for "true" and 0 for "false":
<qbasic>
FUNCTION prime% (n!)
IF n = 2 THEN prime = 1
IF n <= 1 OR n MOD 2 = 0 THEN prime = 0
FOR a = 3 TO INT(SQR(n)) STEP 2
IF n MOD a = 0 THEN prime = 0
NEXT a
prime = 1
END FUNCTION
</qbasic>

==={{header|C}}===
<C>
<source lang=C>
#include <math.h>
#define FALSE 0
#define TRUE 1
int isPrime( unsigned int n )
{
unsigned int i;
if ( n === 2 )
return TRUE;
if ( n <= 1 || ( n & 1 ) === 0 )
return FALSE;
for ( i = 3 ; i <= sqrt( n ) ; i += 2 )
if ( n % i === 0 )
return FALSE;
return TRUE;
}
</C>
==={{header|Common Lisp}}===
<lisp>
(defun primep (a)
(cond ((= a 2) T)
((or (<= a 1) (= (mod a 2) 0)) nil)
((loop for i from 3 to (sqrt a) by 2 do
(if (= (mod a i) 0)
(return nil))) nil)
(T T)))
</lisp>

==={{header|D}}===
<D>
import std.math: sqrt;
bool isPrime(int n) {
if (n === 2)
return true;
if (n <= 1 || (n & 1) === 0)
return false;
for(int i = 3; i <= sqrt(cast(float)n); i += 2)
if (n % i === 0)
return false;
return true;
}
</D>
==={{header|Forth}}===
<Forth>
: prime? ( n -- ? )
dup 2 < if drop false
else dup 2 = if drop true
else dup 1 and 0= if drop false
else 3
begin 2dup dup * >=
while 2dup mod 0=
if 2drop false exit
then 2 +
repeat 2drop true
then then then ;
</Forth>
==={{header|Haskell}}===

Without square roots:
<Haskell>
divides k n = n `mod` k === 0
isPrime :: Integer -> Bool
isPrime n | n < 2 = False
isPrime n = not $ any (`divides` n) $ takeWhile (\k -> k*k <= n) [2..]
</Haskell>
==={{header|J}}===

Actually <tt>1&p:</tt> would do, but the task calls for trial division, so:
<J>
isprime=: 3 : 'if. 3>:y do. 1<y else. 0 *./@:< y|~2+i.<.%:y end.'
</J>
==={{header|Java}}===
<Java>
public static boolean prime(double a){
if(a === 2){
return true;
}else if(a <= 1 || a % 2 === 0){
return false;
}
for(long n= 3; n <= (long)Math.sqrt(a); n+= 2){
if(a % n === 0){ return false; }
}
return true;
}
</Java>
==={{header|LSE64}}===
<LSE64>
over : 2 pick
2dup : over over
even? : 1 & 0 =
# trial n d yields "n d 0/1 false" or "n d+2 true"
trial : 2 + true
trial : 2dup % 0 = then 0 false
trial : 2dup dup * < then 1 false
trial-loop : trial &repeat
# prime? n yields flag
prime? : 3 trial-loop >flag drop drop
prime? : dup even? then drop false
prime? : dup 2 = then drop true
prime? : dup 2 < then drop false
</LSE64>
==={{header|MAXScript}}===
<MAXScript>
fn isPrime n =
(
if n === 2 then
(
return true
)
else if (n <= 1) OR (mod n 2 === 0) then
(
return false
)
for i in 3 to (sqrt n) by 2 do
(
if mod n i === 0 then return false
)
true
)
</MAXScript>
==={{header|Perl}}===
<Perl>
sub prime {
$a = shift;
if ($a === 2) {
return 1;
}
if ($a <= 1 || $a % 2 === 0) {
return 0;
}
$d = 3;
while ($d <= sqrt($a)) {
if ($a % $d === 0) {
return 0;
}
$d += 2;
}
return 1;
}
</Perl>
==={{header|Python}}===
The simplest primality test, using trial division:

{{works with|Python|2.5}}
<Python>
def prime(a):
return not (a < 2 or any(a % x === 0 for x in range(2, int(a**0.5) + 1)))
</Python>

Another test. Exclude even numbers first:

<Python>
def prime2(a):
if a === 2: return True
if a < 2 or a % 2 === 0: return False
return not any(a % x === 0 for x in range(3, int(a**0.5) + 1, 2))
</Python>

Yet another test. Exclude multiples of 2 and 3, see http://www.devx.com/vb2themax/Tip/19051:

{{works with|Python|2.4}}
<Python>
def prime3(a):
if a < 2: return False
if a === 2 or a === 3: return True # manually test 2 and 3
if a % 2 === 0 or a % 3 === 0: return False # exclude multiples of 2 and 3

maxDivisor = a**0.5
d, i = 5, 2
while d <= maxDivisor:
if a % d === 0: return False
d += i
i = 6 - i # this modifies 2 into 4 and viceversa

return True
</Python>

==={{header|Ruby}}===
<Ruby>
def prime(a)
if a===2
return true
end
if a<=1 || a%2===0
return false
end
d=3
while d <= Math.sqrt(a) do
if a%d===0
return false
end
d+=2
end
return true
end
</Ruby>
==={{header|TI-83 BASIC}}===
Calculator symbol translations:

"STO" arrow: →

Square root sign: √
<TI-83 BASIC>
Prompt A
If A=2:Then
Disp "PRIME"
Stop
End
If (fPart(A/2)=0 and A>0) or A<2:Then
Disp "NOT PRIME"
Stop
End
1→P
For(B,3,√(A))
If FPart(A/B)=0:Then
0→P
√(A)→B
End
B+1→B
End
If P=1:Then
Disp "PRIME"
Else
Disp "NOT PRIME"
End
</TI-83 BASIC>
== Geshi supported formats ==
==={{header|Actionscript}}===
Web page:[http://www.actionscript.org/|Actionscript]

Sample:
<actionscript>
Insert code here: ?
</actionscript>
<actionscript-french>
Insert code here: ?
</actionscript-french>
==={{header|ADA}}===

Sample:
<ada>
Insert code here: ?
</ada>
==={{header|AppleScript}}===
Web page:[http://www.apple.com/macosx/features/applescript/|AppleScript]

Sample:
<applescript>
Insert code here: ?
</applescript>
==={{header|ASM}}===

Sample:
<asm>
Insert code here: ?
</asm>
==={{header|ASP}}===
Web page:[http://www.asp.net/|ASP]

Sample:
<asp>
Insert code here: ?
</asp>
==={{header|AutoIT}}===
Web page:[http://www.autoitscript.com/|AutoIT]

Sample:
<AutoIT>
Check tag and insert here: ?
</AutoIT>
==={{header|Backus-Naur form}}===
Web page:[http://en.wikipedia.org/wiki/Backus-Naur_form|Backus-Naur form]

Sample:
<Backus-Naur>
Check tag and insert here: ?
</Backus-Naur>
==={{header|Bash}}===
Web page:[http://www.gnu.org/software/bash/bash.html|Bash]

Sample:
<bash>
Insert code here: ?
</bash>
==={{header|BlitzBasic}}===
Web page:[http://blitzbasic.com/|BlitzBasic]

Sample:
<blitzbasic>
Insert code here: ?
</blitzbasic>
==={{header|CAD DCL}}===
Web page:[http://www.intellicad.org/|CAD DCL]

Sample:
==={{header|CadLisp}}===
Web page:[http://www.intellicad.org/|CadLisp]

Sample:
<cadlisp>
Insert code here: ?
</cadlisp>
==={{header|CFDG}}===
Web page:[http://www.contextfreeart.org/wiki/|CFDG]

Sample:
<CFDG>
Check tag and insert here: ?
</CFDG>
==={{header|C for Macs}}===

Sample:
<c_mac>
Insert code here: ?
</c_mac>
==={{header|ColdFusion}}===
Web page:[http://www.macromedia.com/software/coldfusion/|ColdFusion]

Sample:
==={{header|C#}}===

Sample:
<csharp>
Insert code here: ?
</csharp>
==={{header|CSS}}===
Web page:[http://www.w3.org/Style/|CSS]

Sample:
<css>
Insert code here: ?
</css>
==={{header|C++}}===
Web page:[http://www.cplusplus.com/|C++]

Sample:
<cpp>
Insert code here: ?
</cpp>
==={{header|C}}===
Web page:[http://www.cprogramming.org/|C]

Sample:
<c>
Insert code here: ?
</c>
==={{header|Delphi}}===
Web page:[http://www.borland.com/|Delphi]

Sample:
<delphi>
Insert code here: ?
</delphi>
==={{header|DIV}}===
Web page:[http://div-arena.com/|DIV]

Sample:
<diff>
Insert code here: ?
</diff>
==={{header|DOS}}===

Sample:
<dos>
Insert code here: ?
</dos>
==={{header|D}}===

Sample:
<d>
Insert code here: ?
</d>
==={{header|Eiffel}}===
Web page:[http://eiffel.com/|Eiffel]

Sample:
<eiffel>
Insert code here: ?
</eiffel>
==={{header|Fortran}}===
Web page:[http://en.wikipedia.org/wiki/Fortran|Fortran]

Sample:
<Fortran>
==={{header|FreeBasic}}===
Web page:[http://www.freebasic.net/|FreeBasic]

Sample:
<freebasic>
Insert code here: ?
</freebasic>
==={{header|GML}}===
Web page:[http://www.gamemaker.nl/|GML]

Sample:
<gml>
Insert code here: ?
</gml>
==={{header|Groovy}}===
Web page:[http://groovy.codehaus.org/|Groovy]

Sample:
<Groovy>
Check tag and insert here: ?
</Groovy>
==={{header|HTML}}===
Web page:[http://www.w3.org/TR/REC-html40/|HTML]

Sample:
<html4strict>
Insert code here: ?
</html4strict>
==={{header|Inno}}===
Web page:[http://www.jrsoftware.org/isinfo.php|Inno]

Sample:
<inno>
Insert code here: ?
</inno>
==={{header|IO}}===
Web page:[http://www.iolanguage.com/about/|IO]

Sample:
<IO>
Insert code here: ?
</IO>
==={{header|Java 5}}===
Web page:[http://java.sun.com/|Java 5]

Sample:
<java>
Insert code here: ?
</java>
==={{header|Javascript}}===
Web page:[http://www.javascript.com/|Javascript]

Sample:
<javascript>
Insert code here: ?
</javascript>
==={{header|Java}}===
Web page:[http://java.sun.com/|Java]

Sample:
<java>
Insert code here: ?
</java>
==={{header|LaTeX}}===
Web page:[http://www.latex-project.org/|LaTeX]

Sample:
<LaTeX>
==={{header|Lisp}}===
Web page:[http://www.lisp.org/|Lisp]

Sample:
<lisp>
Insert code here: ?
</lisp>
==={{header|Lua}}===
Web page:[http://www.lua.org/|Lua]

Sample:
<lua>
Insert code here: ?
</lua>
==={{header|MatLab}}===

Sample:
<matlab>
Insert code here: ?
</matlab>
==={{header|Microprocessor ASM}}===
==={{header|mpasm}}===

Sample:
<mpasm>
Insert code here: ?
</mpasm>
==={{header|MySQL}}===
Web page:[http://mysql.com/|MySQL]

Sample:
<mysql>
Insert code here: ?
</mysql>
==={{header|NSIS}}===
Web page:[http://nsis.sourceforge.net/|NSIS]

Sample:
<nsis>
Insert code here: ?
</nsis>
==={{header|Objective C}}===

Sample:
<objc>
Insert code here: ?
</objc>
==={{header|OCaml}}===
Web page:[http://caml.inria.fr/|OCaml]

Sample:
<ocaml-brief>
Insert code here: ?
</ocaml-brief>
<ocaml>
Insert code here: ?
</ocaml>
==={{header|OpenOffice BASIC}}===
Web page:[http://www.openoffice.org/|OpenOffice BASIC]

Sample:
<oobas>
Insert code here: ?
</oobas>
==={{header|Oracle 8 SQL}}===
Web page:[http://www.oracle.com/|Oracle 8 SQL]

Sample:
<oracle8>
Insert code here: ?
</oracle8>
==={{header|Pascal}}===

Sample:
<pascal>
Insert code here: ?
</pascal>
==={{header|Perl}}===
Web page:[http://www.perl.com/|Perl]

Sample:
<perl>
Insert code here: ?
</perl>
==={{header|PHP}}===
Web page:[http://www.php.net/|PHP]

Sample:
<php>
Insert code here: ?
</php>
<php-brief>
Insert code here: ?
</php-brief>
==={{header|PL/SQL}}===
Web page:[http://en.wikipedia.org/wiki/PL/SQL|PL/SQL]

Sample:
<PLSQL>
Check tag and insert here: ?
</PLSQL>
==={{header|Python}}===
Web page:[http://www.python.org/|Python]

Sample:
<python>
Insert code here: ?
</python>
==={{header|QBASIC}}===
Web page:[http://qbnz.com/|Q(uick)BASIC]

Sample:
<qbasic>
Insert code here: ?
</qbasic>
==={{header|Ruby}}===
Web page:[http://ruby-lang.org/|Ruby]

Sample:
<ruby>
Insert code here: ?
</ruby>
==={{header|SAS}}===
<SAS>
Check tag and insert here: ?
</SAS>
Web page:[http://en.wikipedia.org/wiki/SAS_programming_language|SAS]
==={{header|Scheme}}===
Web page:[http://schemers.org/|Scheme]

Sample:
<scheme>
Insert code here: ?
</scheme>
==={{header|SDLBasic}}===
Web page:[http://sdlbasic.sf.net/|SDLBasic]

Sample:
<sdlbasic>
Insert code here: ?
</sdlbasic>
==={{header|Smalltalk}}===
Web page:[http://en.wikipedia.org/wiki/Smalltalk_programming_language|Smalltalk]

Sample:
<Smalltalk>
Check tag and insert here: ?
</Smalltalk>
==={{header|Smarty}}===
Web page:[http://smarty.php.net/|Smarty]

Sample:
<smarty>
Insert code here: ?
</smarty>
==={{header|SQL}}===

Sample:
<sql>
Insert code here: ?
</sql>
==={{header|TCL}}===
Web page:[http://www.tcl.tk/|TCL]

Sample:
<TCL>
Check tag and insert here: ?
</TCL>
==={{header|thinBasic}}===
Web page:[http://www.thinbasic.com/|thinBasic]

Sample:
<ThinBasic>
Check tag and insert here: ?
</ThinBasic>
==={{header|T-SQL}}===
<T-SQL>
Check tag and insert here: ?
</T-SQL>
==={{header|Uno IDL}}===
Web page:[http://wiki.services.openoffice.org/wiki/Uno/Article/Understanding_Uno|Uno IDL]

Sample:
<Uno IDL>
Check tag and insert here: ?
</Uno IDL>
==={{header|VB.NET}}===
Web page:[http://msdn.microsoft.com/|VB.NET]

Sample:
<vb>
Insert code here: ?
</vb>
==={{header|Visual BASIC}}===
Web page:[http://msdn.microsoft.com/vbasic/|Visual BASIC]

Sample:
<vbnet>
Insert code here: ?
</vbnet>
==={{header|Visual Fox Pro}}===
Web page:[http://msdn.microsoft.com/vfoxpro/|Visual Fox Pro]

Sample:
<visualfoxpro>
Insert code here: ?
</visualfoxpro>
==={{header|Visual VHDL}}===

Sample:
<vhdl>
Insert code here: ?
</vhdl>
==={{header|Winbatch}}===
Web page:[http://winbatch.com/|Winbatch]

Sample:
<Winbatch>
Check tag and insert here: ?
</Winbatch>
==={{header|X++}}=== <Xpp>
Web page:[http://msdn2.microsoft.com/en-us/library/aa867122.aspx|X++]
<Xpl>
Insert code here: ?
</Xpl>
==={{header|Z80 ASM}}===
Web page:[http://en.wikipedia.org/wiki/Zilog_Z80#The_Z80_assembly_language|Z80 ASM]

Sample:
== Other GeSHi file formats ==
==={{header|Apache Log}}===
Web page:[http://www.apache.org/|Apache Log]

Sample:
<apache>
Insert code here: ?
</apache>
==={{header|Ini}}===

Sample:
<ini>
Insert code here: ?
</ini>
==={{header|mIRC}}===
Web page:[http://mirc.com/|mIRC]

Sample:
<mIRC>
Check tag and insert here: ?
</mIRC>
==={{header|robots.txt}}===
Web page:[http://www.robotstxt.org/wc/norobots.html|robots.txt]

Sample:
<robots.txt>
Check tag and insert here: ?
</robots.txt>
==={{header|XML}}===
Web page:[http://www.xml.com/|XML]

Sample:
<xml>
Insert code here: ?
</xml>

Latest revision as of 21:42, 7 December 2009