Skip to content

Instantly share code, notes, and snippets.

View flyx's full-sized avatar

Felix Krause flyx

View GitHub Profile
@flyx
flyx / foo.adb
Created January 28, 2012 16:36
Yields "foo.adb:12:04: warning: types for unchecked conversion have different sizes"
with Ada.Unchecked_Conversion;
with Interfaces.C;
with Ada.Text_IO;
procedure Foo is
type Bar is (Kol, Ra, Bi);
for Bar use (Kol => 1, Ra => 2, Bi => 3);
for Bar'Size use Interfaces.C.int'Size;
subtype Cocktail_Bar is Bar range Kol .. Ra;
@flyx
flyx / foo-bar.adb
Created January 28, 2012 17:00
This serves as example to show Ada syntax highlighting bugs in pygments
package Foo is
end Foo;
package Foo.Bar is
type Hurz is (Kol, Ra, Bi);
for Hurz use (Kol => 1, Ra => 2, Bi => 3);
end Foo.Bar;
@flyx
flyx / whatev.ads
Created February 5, 2012 11:09
Example interfacing with C and arrays in Ada
with Interfaces.C;
package Whatev is
package C renames Interfaces.C;
type Vector_Index is (X, Y, Z, W);
type Vector is array (Vector_Index range <>) of aliased C.double;
pragma Convention (C, Vector);
procedure Vertex (Value : Vector);
<?php
/**
* concerts
*/
class Concert extends ORMBase {
/**
* INT(10)
*/
aggregate project OpenCLAda is
type Toggle is ("Enabled", "Disabled");
GL_Support : Toggle := external ("GL_BINDING"; "Disabled");
case GL_Support is
when "Enabled" =>
for Project_Files use ("openclada_gl_binding.gpr");
when "Disabled" =>
for Project_Files use ("openclada_core.gpr");
end case;
end OpenCLAda;
FILE "siedler2.iso" BINARY
TRACK 01 MODE1/2048
INDEX 01 00:00:00
FILE "track02.ogg" MP3
TRACK 02 AUDIO
PREGAP 00:02:00
INDEX 01 00:00:00
FILE "track03.ogg" MP3
TRACK 03 AUDIO
INDEX 01 00:00:00
class A {
void method(A someObj) {
// .. do something here
}
}
class B extends A {
// .. declare something here
}
generic
-- defines maximum depth of tree
type Node_Level is <>;
package Tree is
-- it's a binary tree. for now.
type Tree_Direction is (Left, Right);
type Direction_Array is array (Node_Level range <>) of Tree_Direction;
with Ada.Containers.Hashed_Maps;
with Interfaces.C;
package Example is
type UInt is new Interfaces.C.unsigned;
type Whatever is new Integer;
function Hash (Key : UInt) return Ada.Containers.Hash_Type;
package My_Maps is new Ada.Containers.Hashed_Maps (
@flyx
flyx / test.php
Created April 9, 2012 14:58
PHP doesn't care about array index ordering (expected output: "hurrdurrwarbl"; actual output: "hurrwarbldurr")
<?php
$arr = array();
$arr[0] = "hurr";
$arr[2] = "warbl";
$arr[1] = "durr";
foreach($arr as $item) {
echo $item;
}
?>