[SCM] Lisaac library examples branch, master, updated. 282043cfdef5aaf225a6eb5cf22ecbe890a42213
Damien Bouvarel
dams.bouvarel at wanadoo.fr
Wed Aug 26 23:49:08 UTC 2009
The following commit has been merged in the master branch:
commit 282043cfdef5aaf225a6eb5cf22ecbe890a42213
Author: Damien Bouvarel <dams.bouvarel at wanadoo.fr>
Date: Thu Aug 27 01:48:45 2009 +0200
start 0.14 update
diff --git a/chess/.project b/chess/.project
new file mode 100644
index 0000000..0fe0ba6
--- /dev/null
+++ b/chess/.project
@@ -0,0 +1,309 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>chess</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.lisaac.ldt.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.lisaac.ldt.lisaac</nature>
+ </natures>
+ <linkedResources>
+ <link>
+ <name>lib/abstract_keycode.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/framework/low_level/abstract_keycode.li</location>
+ </link>
+ <link>
+ <name>lib/abstract_matrix.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/math/low_level/abstract_matrix.li</location>
+ </link>
+ <link>
+ <name>lib/arrayed.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/arrayed.li</location>
+ </link>
+ <link>
+ <name>lib/arrayed_collection.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/arrayed_collection.li</location>
+ </link>
+ <link>
+ <name>lib/blending.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/abstract_renderer/blending.li</location>
+ </link>
+ <link>
+ <name>lib/block.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/base/block.li</location>
+ </link>
+ <link>
+ <name>lib/boolean.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/base/boolean.li</location>
+ </link>
+ <link>
+ <name>lib/bounce_plane.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/3D/particles/bounce_plane.li</location>
+ </link>
+ <link>
+ <name>lib/camera.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/3D/camera.li</location>
+ </link>
+ <link>
+ <name>lib/capabilities.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/abstract_renderer/capabilities.li</location>
+ </link>
+ <link>
+ <name>lib/collection.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/collection.li</location>
+ </link>
+ <link>
+ <name>lib/collection2.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/collection2.li</location>
+ </link>
+ <link>
+ <name>lib/event_listener.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/framework/event_listener.li</location>
+ </link>
+ <link>
+ <name>lib/fast_array.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/collection/fast_array.li</location>
+ </link>
+ <link>
+ <name>lib/fast_array2.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/collection/fast_array2.li</location>
+ </link>
+ <link>
+ <name>lib/float_real.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/number/low_level/float_real.li</location>
+ </link>
+ <link>
+ <name>lib/font.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/abstract_renderer/font.li</location>
+ </link>
+ <link>
+ <name>lib/framework.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/framework/framework.li</location>
+ </link>
+ <link>
+ <name>lib/framework_any.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/framework/low_level/framework_any.li</location>
+ </link>
+ <link>
+ <name>lib/framework_event.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/framework/windows/framework_event.li</location>
+ </link>
+ <link>
+ <name>lib/i_dont_know_prototyping.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/kernel/i_dont_know_prototyping.li</location>
+ </link>
+ <link>
+ <name>lib/image.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/images/image.li</location>
+ </link>
+ <link>
+ <name>lib/integer.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/number/integer.li</location>
+ </link>
+ <link>
+ <name>lib/keycode.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/framework/windows/keycode.li</location>
+ </link>
+ <link>
+ <name>lib/light.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/abstract_renderer/light.li</location>
+ </link>
+ <link>
+ <name>lib/log.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/framework/log.li</location>
+ </link>
+ <link>
+ <name>lib/material.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/abstract_renderer/material.li</location>
+ </link>
+ <link>
+ <name>lib/matrix4.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/math/matrix4.li</location>
+ </link>
+ <link>
+ <name>lib/noise.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/3D/noise.li</location>
+ </link>
+ <link>
+ <name>lib/numeric.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/number/low_level/numeric.li</location>
+ </link>
+ <link>
+ <name>lib/object.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/kernel/object.li</location>
+ </link>
+ <link>
+ <name>lib/opengl.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/framework/windows/opengl.li</location>
+ </link>
+ <link>
+ <name>lib/opengl_abstract.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/opengl/opengl_abstract.li</location>
+ </link>
+ <link>
+ <name>lib/opengl_specific.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/opengl/opengl_specific.li</location>
+ </link>
+ <link>
+ <name>lib/particle_system.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/3D/particles/particle_system.li</location>
+ </link>
+ <link>
+ <name>lib/plane.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/abstract_renderer/plane.li</location>
+ </link>
+ <link>
+ <name>lib/platform.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/framework/windows/platform.li</location>
+ </link>
+ <link>
+ <name>lib/point_force.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/3D/particles/point_force.li</location>
+ </link>
+ <link>
+ <name>lib/real.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/number/real.li</location>
+ </link>
+ <link>
+ <name>lib/real_32.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/number/real_32.li</location>
+ </link>
+ <link>
+ <name>lib/renderer.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/abstract_renderer/renderer.li</location>
+ </link>
+ <link>
+ <name>lib/reshape.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/abstract_renderer/reshape.li</location>
+ </link>
+ <link>
+ <name>lib/rgb.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/abstract_renderer/rgb.li</location>
+ </link>
+ <link>
+ <name>lib/safe_equal.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/kernel/safe_equal.li</location>
+ </link>
+ <link>
+ <name>lib/scene.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/framework/scene.li</location>
+ </link>
+ <link>
+ <name>lib/shader.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/abstract_renderer/shader.li</location>
+ </link>
+ <link>
+ <name>lib/skybox.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/3D/skybox.li</location>
+ </link>
+ <link>
+ <name>lib/sphere.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/3D/primitives/sphere.li</location>
+ </link>
+ <link>
+ <name>lib/state.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/abstract_renderer/state.li</location>
+ </link>
+ <link>
+ <name>lib/string.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/string/string.li</location>
+ </link>
+ <link>
+ <name>lib/texture.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/abstract_renderer/texture.li</location>
+ </link>
+ <link>
+ <name>lib/traversable.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/traversable.li</location>
+ </link>
+ <link>
+ <name>lib/uinteger_32.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/number/uinteger_32.li</location>
+ </link>
+ <link>
+ <name>lib/unsigned_integer.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/number/low_level/unsigned_integer.li</location>
+ </link>
+ <link>
+ <name>lib/vector3.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/math/vector3.li</location>
+ </link>
+ <link>
+ <name>lib/vector4.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/math/vector4.li</location>
+ </link>
+ <link>
+ <name>lib/vertex.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/abstract_renderer/vertex.li</location>
+ </link>
+ <link>
+ <name>lib/viewport.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/abstract_renderer/viewport.li</location>
+ </link>
+ </linkedResources>
+</projectDescription>
diff --git a/chess/bishop.li b/chess/bishop.li
index f5b5da5..9f74b0d 100644
--- a/chess/bishop.li
+++ b/chess/bishop.li
@@ -32,19 +32,19 @@ Section Inherit
+ parent_piece:Expanded PIECE;
Section Public
-
+
- name:STRING_CONSTANT := "bishop";
- model:MODEL; // shared model
-
+
- check_move orig:SQUARE to dest:SQUARE :BOOLEAN <-
// is legal move?
- ( + result:BOOLEAN;
-
+ ( + result:BOOLEAN;
+
((dest.piece = NULL) || {player != dest.piece.player}).if {
((dest.x - orig.x).abs = (dest.y - orig.y).abs).if {
- result := check_path_between orig and dest;
- };
+ //result := check_path_between orig and dest;
+ };
};
result
);
\ No newline at end of file
diff --git a/chess/chess.li b/chess/chess.li
index 605f4e0..0b773e7 100644
--- a/chess/chess.li
+++ b/chess/chess.li
@@ -19,7 +19,7 @@
// http://isaacproject.u-strasbg.fr/ //
///////////////////////////////////////////////////////////////////////////////
-Section Header
+Section Header
+ name := CHESS;
@@ -62,10 +62,10 @@ Section Public
- square_size:INTEGER := 32;
// pieces
- - p1:FAST_ARRAY[PIECE];
- - p2:FAST_ARRAY[PIECE];
+ - p1:FAST_ARRAY(PIECE);
+ - p2:FAST_ARRAY(PIECE);
- - chessboard:FAST_ARRAY[PIECE];
+ - chessboard:FAST_ARRAY(PIECE);
- gamestate:GAMESTATE := GAMESTATE;
@@ -87,7 +87,7 @@ Section Public
- illegal_move_color:COLOR := RGB.create (0.8,0,0);
- light:LIGHT;
- - light_pos:VECTOR3[REAL_32];
+ - light_pos:VECTOR3(REAL_32);
- light_shader:SHADER;
- loc_texture:INTEGER;
@@ -97,24 +97,24 @@ Section Public
- piece_material:MATERIAL;
- board_material:MATERIAL;
- - shadow_matrix:MATRIX4[REAL_32];
+ - shadow_matrix:MATRIX4(REAL_32);
- shadow_plane:PLANE;
- particle_system:PARTICLE_SYSTEM;// when capture is on
- particle_texture:TEXTURE;
- - modelview:MATRIX4[REAL_32];
- - dx:VECTOR3[REAL_32] := VECTOR3[REAL_32].zero;
- - dy:VECTOR3[REAL_32] := VECTOR3[REAL_32].zero;
+ - modelview:MATRIX4(REAL_32);
+ - dx:VECTOR3(REAL_32) := VECTOR3(REAL_32).zero;
+ - dy:VECTOR3(REAL_32) := VECTOR3(REAL_32).zero;
- logo:TEXTURE;
- initialize:BOOLEAN <-
( + infolog:STRING;
- + board:FAST_ARRAY[UINTEGER_8];
+ + board:FAST_ARRAY(UINTEGER_8);
+ dim:INTEGER;
- + orig,pf_pos:VECTOR3[REAL_32];
+ + orig,pf_pos:VECTOR3(REAL_32);
+ ambient,diffuse,specular,emission:RGB;
+ shine:REAL_32;
+ constraint:CONSTRAINT;
@@ -128,7 +128,7 @@ Section Public
dim := 256;
- board := FAST_ARRAY[UINTEGER_8].create (dim*dim);
+ board := FAST_ARRAY(UINTEGER_8).create (dim*dim);
// procedural image
0.to (dim-1) do { i:INTEGER;
@@ -148,9 +148,9 @@ Section Public
// load models
//
- p1 := FAST_ARRAY[PIECE].create_with_capacity 16;
- p2 := FAST_ARRAY[PIECE].create_with_capacity 16;
- chessboard := FAST_ARRAY[PIECE].create 64;
+ p1 := FAST_ARRAY(PIECE).create_with_capacity 16;
+ p2 := FAST_ARRAY(PIECE).create_with_capacity 16;
+ chessboard := FAST_ARRAY(PIECE).create 64;
0.to 7 do { i:INTEGER;
load_piece PAWN at (i,6) in p1 player 1;
@@ -186,17 +186,17 @@ Section Public
//
// intro motion (rotate around chessboard..)
//
- orig := VECTOR3[REAL_32].zero;
- camera.add_waypoint (VECTOR3[REAL_32].create (0, 100, -800));
+ orig := VECTOR3(REAL_32).zero;
+ camera.add_waypoint (VECTOR3(REAL_32).create (0, 100, -800));
camera.add_waypoint orig;
- camera.add_waypoint (VECTOR3[REAL_32].create (0,150,-300));
+ camera.add_waypoint (VECTOR3(REAL_32).create (0,150,-300));
camera.add_waypoint orig;
- camera.add_waypoint (VECTOR3[REAL_32].create (500, 250, 0));
- camera.add_waypoint (VECTOR3[REAL_32].create (0, 100, 50));
+ camera.add_waypoint (VECTOR3(REAL_32).create (500, 250, 0));
+ camera.add_waypoint (VECTOR3(REAL_32).create (0, 100, 50));
- camera.add_waypoint (VECTOR3[REAL_32].create (0,200,300));
+ camera.add_waypoint (VECTOR3(REAL_32).create (0,200,300));
camera.add_waypoint orig;
//
@@ -207,12 +207,12 @@ Section Public
particle_system.set_size (2, 0.5);
particle_system.set_spawn_rate 4;
- pf_pos := VECTOR3[REAL_32].create (0, 80, 0); // attraction point
+ pf_pos := VECTOR3(REAL_32).create (0, 80, 0); // attraction point
constraint := POINT_FORCE.create (pf_pos,0.005,0,0.001);
particle_system.add_constraint constraint;
- constraint := BOUNCE_PLANE.create (VECTOR3[REAL_32].create (0,1,0), 20);
+ constraint := BOUNCE_PLANE.create (VECTOR3(REAL_32).create (0,1,0), 20);
particle_system.add_constraint constraint;
@@ -221,7 +221,7 @@ Section Public
particle_texture := renderer.texture2d.create_from (IMAGE.create "textures/particle.bmp");
renderer.texture2d.set_wrapping_mode (renderer.texture2d.repeat);
- modelview := MATRIX4[REAL_32].create;
+ modelview := MATRIX4(REAL_32).create;
//
// Board lighting
@@ -247,7 +247,7 @@ Section Public
};
// create OpenGL light (also used in light shader)
- light_pos := VECTOR3[REAL_32].create (50,300,-30);
+ light_pos := VECTOR3(REAL_32).create (50,300,-30);
ambient := RGB.create (0.2, 0.2, 0.2);
diffuse := RGB.create (1.0, 1.0, 1.0);
specular := RGB.create (1.0, 1.0, 1.0);
@@ -280,14 +280,14 @@ Section Public
renderer.stencil_buffer.set_clear_value 0.0;
// for shadow casting
- shadow_matrix := MATRIX4[REAL_32].create;
+ shadow_matrix := MATRIX4(REAL_32).create;
// cast shadow on board plane
shadow_plane := renderer.plane.create (0,1,0,0);
TRUE
);
- - load_piece type:PIECE at (x,y:INTEGER) in p:FAST_ARRAY[PIECE] player pl:INTEGER <-
+ - load_piece type:PIECE at (x,y:INTEGER) in p:FAST_ARRAY(PIECE) player pl:INTEGER <-
( + piece:PIECE;
piece := type.create (x,y,pl) index (p.count);
@@ -625,7 +625,7 @@ Section Public
// Selection.
//
- - hits:FAST_ARRAY[UINTEGER_32] := FAST_ARRAY[UINTEGER_32].create 512;
+ - hits:FAST_ARRAY(UINTEGER_32) := FAST_ARRAY(UINTEGER_32).create 512;
- select_piece (x,y:UINTEGER_32) :PIECE <-
// selection from camera view vector
@@ -701,7 +701,7 @@ Section Public
- select_square (x,y:UINTEGER_32) :SQUARE <-
// selection from camera view vector
( + result:SQUARE;
- + target:VECTOR3[REAL_32];
+ + target:VECTOR3(REAL_32);
+ fraction,start_dist,end_dist,start_frac,end_frac,epsilon:REAL_32;
+ x_col,z_col:REAL_32;
+ px,py:INTEGER;
diff --git a/chess/chesscam.li b/chess/chesscam.li
index e18d29b..ae4a419 100644
--- a/chess/chesscam.li
+++ b/chess/chesscam.li
@@ -33,26 +33,26 @@ Section Inherit
Section Public
- - waypoints:LINKED_LIST[VECTOR3[REAL_32]] := LINKED_LIST[VECTOR3[REAL_32]].create;
+ - waypoints:LINKED_LIST(VECTOR3(REAL_32)) := LINKED_LIST(VECTOR3(REAL_32)).create;
- lerp:REAL_32;
- - is_traveling:BOOLEAN <- waypoints.count > 0;
+ - is_traveling:BOOLEAN <- (waypoints.count > 0);
- - add_waypoint p:VECTOR3[REAL_32] <-
+ - add_waypoint p:VECTOR3(REAL_32) <-
(
waypoints.add_last p;
);
- add_waypoint3f (x,y,z:REAL_32) <-
(
- waypoints.add_last (VECTOR3[REAL_32].create (x, y, z));
+ waypoints.add_last (VECTOR3(REAL_32).create (x, y, z));
);
- animate t:REAL_32 <-
(
- + u,v:VECTOR3[REAL_32];
+ + u,v:VECTOR3(REAL_32);
waypoints.is_empty.if {
update_with_mouse;
@@ -92,5 +92,5 @@ Section Public
};
);
- - std_up:VECTOR3[REAL_32] := VECTOR3[REAL_32].create (0,1,0);
+ - std_up:VECTOR3(REAL_32) := VECTOR3(REAL_32).create (0,1,0);
diff --git a/chess/current_path.txt b/chess/current_path.txt
new file mode 100644
index 0000000..1fc7ff0
--- /dev/null
+++ b/chess/current_path.txt
@@ -0,0 +1,349 @@
+C:/files/GIT/examples/chess/bishop.li
+C:/files/GIT/examples/chess/chess.li
+C:/files/GIT/examples/chess/chesscam.li
+C:/files/GIT/examples/chess/gamestate.li
+C:/files/GIT/examples/chess/king.li
+C:/files/GIT/examples/chess/knight.li
+C:/files/GIT/examples/chess/pawn.li
+C:/files/GIT/examples/chess/piece.li
+C:/files/GIT/examples/chess/queen.li
+C:/files/GIT/examples/chess/rook.li
+C:/files/GIT/examples/chess/square.li
+C:/files/GIT/examples/chess/world1.li
+C:/files/GIT/opengl-binding/3D/camera.li
+C:/files/GIT/opengl-binding/3D/model.li
+C:/files/GIT/opengl-binding/3D/models/md2_frame.li
+C:/files/GIT/opengl-binding/3D/models/md2_model.li
+C:/files/GIT/opengl-binding/3D/models/md2_normals.li
+C:/files/GIT/opengl-binding/3D/models/md2_triangle.li
+C:/files/GIT/opengl-binding/3D/models/md2_vertex.li
+C:/files/GIT/opengl-binding/3D/noise.li
+C:/files/GIT/opengl-binding/3D/particles/bounce_plane.li
+C:/files/GIT/opengl-binding/3D/particles/constraint.li
+C:/files/GIT/opengl-binding/3D/particles/kill_plane.li
+C:/files/GIT/opengl-binding/3D/particles/particle.li
+C:/files/GIT/opengl-binding/3D/particles/particle_system.li
+C:/files/GIT/opengl-binding/3D/particles/point_force.li
+C:/files/GIT/opengl-binding/3D/primitives/cone.li
+C:/files/GIT/opengl-binding/3D/primitives/cylinder.li
+C:/files/GIT/opengl-binding/3D/primitives/sphere.li
+C:/files/GIT/opengl-binding/3D/skybox.li
+C:/files/GIT/opengl-binding/3D/terrain.li
+C:/files/GIT/opengl-binding/abstract_renderer/abstract_evaluator.li
+C:/files/GIT/opengl-binding/abstract_renderer/accum_buffer.li
+C:/files/GIT/opengl-binding/abstract_renderer/alpha_test.li
+C:/files/GIT/opengl-binding/abstract_renderer/blending.li
+C:/files/GIT/opengl-binding/abstract_renderer/capabilities.li
+C:/files/GIT/opengl-binding/abstract_renderer/color.li
+C:/files/GIT/opengl-binding/abstract_renderer/color_buffer.li
+C:/files/GIT/opengl-binding/abstract_renderer/culling.li
+C:/files/GIT/opengl-binding/abstract_renderer/depth_buffer.li
+C:/files/GIT/opengl-binding/abstract_renderer/display_list.li
+C:/files/GIT/opengl-binding/abstract_renderer/error.li
+C:/files/GIT/opengl-binding/abstract_renderer/evaluator1d.li
+C:/files/GIT/opengl-binding/abstract_renderer/evaluator2d.li
+C:/files/GIT/opengl-binding/abstract_renderer/fog.li
+C:/files/GIT/opengl-binding/abstract_renderer/font.li
+C:/files/GIT/opengl-binding/abstract_renderer/index_buffer.li
+C:/files/GIT/opengl-binding/abstract_renderer/light.li
+C:/files/GIT/opengl-binding/abstract_renderer/material.li
+C:/files/GIT/opengl-binding/abstract_renderer/name_stack.li
+C:/files/GIT/opengl-binding/abstract_renderer/plane.li
+C:/files/GIT/opengl-binding/abstract_renderer/quadrics.li
+C:/files/GIT/opengl-binding/abstract_renderer/renderer.li
+C:/files/GIT/opengl-binding/abstract_renderer/reshape.li
+C:/files/GIT/opengl-binding/abstract_renderer/rgb.li
+C:/files/GIT/opengl-binding/abstract_renderer/rgba.li
+C:/files/GIT/opengl-binding/abstract_renderer/scissor.li
+C:/files/GIT/opengl-binding/abstract_renderer/shader.li
+C:/files/GIT/opengl-binding/abstract_renderer/state.li
+C:/files/GIT/opengl-binding/abstract_renderer/stencil_buffer.li
+C:/files/GIT/opengl-binding/abstract_renderer/texture.li
+C:/files/GIT/opengl-binding/abstract_renderer/transform.li
+C:/files/GIT/opengl-binding/abstract_renderer/vertex.li
+C:/files/GIT/opengl-binding/abstract_renderer/vertex_buffer.li
+C:/files/GIT/opengl-binding/abstract_renderer/viewport.li
+C:/files/GIT/opengl-binding/framework/event_listener.li
+C:/files/GIT/opengl-binding/framework/framework.li
+C:/files/GIT/opengl-binding/framework/log.li
+C:/files/GIT/opengl-binding/framework/low_level/abstract_keycode.li
+C:/files/GIT/opengl-binding/framework/low_level/framework_any.li
+C:/files/GIT/opengl-binding/framework/scene.li
+C:/files/GIT/opengl-binding/framework/unix/framework_event.li
+C:/files/GIT/opengl-binding/framework/unix/gl_font.li
+C:/files/GIT/opengl-binding/framework/unix/keycode.li
+C:/files/GIT/opengl-binding/framework/unix/opengl.li
+C:/files/GIT/opengl-binding/framework/unix/platform.li
+C:/files/GIT/opengl-binding/framework/windows/framework_event.li
+C:/files/GIT/opengl-binding/framework/windows/gl_font.li
+C:/files/GIT/opengl-binding/framework/windows/keycode.li
+C:/files/GIT/opengl-binding/framework/windows/opengl.li
+C:/files/GIT/opengl-binding/framework/windows/platform.li
+C:/files/GIT/opengl-binding/glspec2li.li
+C:/files/GIT/opengl-binding/gui/gl_desk.li
+C:/files/GIT/opengl-binding/gui/gl_driver.li
+C:/files/GIT/opengl-binding/gui/g_gldraw.li
+C:/files/GIT/opengl-binding/gui/unix/gl_event_system.li
+C:/files/GIT/opengl-binding/gui/windows/gl_event_system.li
+C:/files/GIT/opengl-binding/images/bmp.li
+C:/files/GIT/opengl-binding/images/image.li
+C:/files/GIT/opengl-binding/images/image_format.li
+C:/files/GIT/opengl-binding/images/tga.li
+C:/files/GIT/opengl-binding/images/tga_header.li
+C:/files/GIT/opengl-binding/opengl/extensions/arb_fragment_shader.li
+C:/files/GIT/opengl-binding/opengl/extensions/arb_multitexture.li
+C:/files/GIT/opengl-binding/opengl/extensions/arb_shader_object.li
+C:/files/GIT/opengl-binding/opengl/extensions/arb_shading_language_100.li
+C:/files/GIT/opengl-binding/opengl/extensions/arb_vertex_buffer_object.li
+C:/files/GIT/opengl-binding/opengl/extensions/arb_vertex_shader.li
+C:/files/GIT/opengl-binding/opengl/gl.li
+C:/files/GIT/opengl-binding/opengl/gl_abstract_texture.li
+C:/files/GIT/opengl-binding/opengl/gl_accum_buffer.li
+C:/files/GIT/opengl-binding/opengl/gl_alpha_test.li
+C:/files/GIT/opengl-binding/opengl/gl_blending.li
+C:/files/GIT/opengl-binding/opengl/gl_color_buffer.li
+C:/files/GIT/opengl-binding/opengl/gl_culling.li
+C:/files/GIT/opengl-binding/opengl/gl_depth_buffer.li
+C:/files/GIT/opengl-binding/opengl/gl_display_list.li
+C:/files/GIT/opengl-binding/opengl/gl_error.li
+C:/files/GIT/opengl-binding/opengl/gl_evaluator1d.li
+C:/files/GIT/opengl-binding/opengl/gl_evaluator2d.li
+C:/files/GIT/opengl-binding/opengl/gl_extension.li
+C:/files/GIT/opengl-binding/opengl/gl_fog.li
+C:/files/GIT/opengl-binding/opengl/gl_font_abstract.li
+C:/files/GIT/opengl-binding/opengl/gl_index_buffer.li
+C:/files/GIT/opengl-binding/opengl/gl_light.li
+C:/files/GIT/opengl-binding/opengl/gl_material.li
+C:/files/GIT/opengl-binding/opengl/gl_name_stack.li
+C:/files/GIT/opengl-binding/opengl/gl_plane.li
+C:/files/GIT/opengl-binding/opengl/gl_quadrics.li
+C:/files/GIT/opengl-binding/opengl/gl_scissor.li
+C:/files/GIT/opengl-binding/opengl/gl_shader.li
+C:/files/GIT/opengl-binding/opengl/gl_stencil_buffer.li
+C:/files/GIT/opengl-binding/opengl/gl_texture1d.li
+C:/files/GIT/opengl-binding/opengl/gl_texture2d.li
+C:/files/GIT/opengl-binding/opengl/gl_transform.li
+C:/files/GIT/opengl-binding/opengl/gl_vertex_array.li
+C:/files/GIT/opengl-binding/opengl/gl_vertex_buffer.li
+C:/files/GIT/opengl-binding/opengl/opengl_abstract.li
+C:/files/GIT/opengl-binding/opengl/opengl_specific.li
+C:/files/GIT/math/low_level/abstract_matrix.li
+C:/files/GIT/math/matrix.li
+C:/files/GIT/math/matrix4.li
+C:/files/GIT/math/vector2.li
+C:/files/GIT/math/vector3.li
+C:/files/GIT/math/vector4.li
+C:/files/lisaac_damien/lisaac_damien/lib2/base/block.li
+C:/files/lisaac_damien/lisaac_damien/lib2/base/boolean.li
+C:/files/lisaac_damien/lisaac_damien/lib2/base/character.li
+C:/files/lisaac_damien/lisaac_damien/lib2/base/char_unicode.li
+C:/files/lisaac_damien/lisaac_damien/lib2/base/enum.li
+C:/files/lisaac_damien/lisaac_damien/lib2/base/false.li
+C:/files/lisaac_damien/lisaac_damien/lib2/base/low_level/character_ref.li
+C:/files/lisaac_damien/lisaac_damien/lib2/base/reference.li
+C:/files/lisaac_damien/lisaac_damien/lib2/base/tools.li
+C:/files/lisaac_damien/lisaac_damien/lib2/base/true.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/array.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/array2.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/array3.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/avl_dictionary.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/avl_set.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/fast_array.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/fast_array2.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/fast_array3.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/hashed_dictionary.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/hashed_set.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/iterator.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/linked2_list.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/linked_list.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/linked_xor_list.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/any_avl_dictionary_node.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/any_avl_set_node.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/any_hashed_bijective_dictionary_node.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/any_hashed_dictionary_node.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/any_hashed_set_node.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/any_linked_list_node.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/any_two_way_linked_list_node.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/arrayed.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/arrayed_collection.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/avl_constants.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/avl_dictionary_node.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/avl_set_node.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/avl_tree.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/avl_tree_node.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/collection.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/collection2.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/collection3.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/dictionary.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/hashed_dictionary_node.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/hashed_set_node.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/hash_table_size.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/linked2_list_node.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/linked_collection.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/linked_list_node.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/linked_xor_node.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/native_array.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/native_array_volatile.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/set.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/simple_dictionary.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/traversable.li
+C:/files/lisaac_damien/lisaac_damien/lib2/file_system/directory.li
+C:/files/lisaac_damien/lisaac_damien/lib2/file_system/entry.li
+C:/files/lisaac_damien/lisaac_damien/lib2/file_system/fs_min.li
+C:/files/lisaac_damien/lisaac_damien/lib2/file_system/std_file.li
+C:/files/lisaac_damien/lisaac_damien/lib2/format/ai/ai_alias.li
+C:/files/lisaac_damien/lisaac_damien/lib2/format/ai/ai_bezier.li
+C:/files/lisaac_damien/lisaac_damien/lib2/format/ai/ai_color.li
+C:/files/lisaac_damien/lisaac_damien/lib2/format/ai/ai_file.li
+C:/files/lisaac_damien/lisaac_damien/lib2/format/ai/ai_layer.li
+C:/files/lisaac_damien/lisaac_damien/lib2/format/ai/ai_line.li
+C:/files/lisaac_damien/lisaac_damien/lib2/format/ai/ai_move.li
+C:/files/lisaac_damien/lisaac_damien/lib2/format/ai/ai_operation.li
+C:/files/lisaac_damien/lisaac_damien/lib2/format/ai/ai_parser.li
+C:/files/lisaac_damien/lisaac_damien/lib2/format/bmp/bmp_file.li
+C:/files/lisaac_damien/lisaac_damien/lib2/format/bmp/bmp_header.li
+C:/files/lisaac_damien/lisaac_damien/lib2/format/bmp/format_bmp.li
+C:/files/lisaac_damien/lisaac_damien/lib2/format/format_img.li
+C:/files/lisaac_damien/lisaac_damien/lib2/graphics/bitmap.li
+C:/files/lisaac_damien/lisaac_damien/lib2/graphics/bmp_line.li
+C:/files/lisaac_damien/lisaac_damien/lib2/graphics/edge.li
+C:/files/lisaac_damien/lisaac_damien/lib2/graphics/low_level/abstract_bitmap.li
+C:/files/lisaac_damien/lisaac_damien/lib2/graphics/low_level/abstract_bmp_line.li
+C:/files/lisaac_damien/lisaac_damien/lib2/graphics/low_level/pixel.li
+C:/files/lisaac_damien/lisaac_damien/lib2/graphics/pixel_15.li
+C:/files/lisaac_damien/lisaac_damien/lib2/graphics/pixel_16.li
+C:/files/lisaac_damien/lisaac_damien/lib2/graphics/pixel_24.li
+C:/files/lisaac_damien/lisaac_damien/lib2/graphics/pixel_32.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/clipping/area.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/clipping/area_mask.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/clipping/clip.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/clipping/limit_x.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/clipping/limit_y.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/clipping/plan.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/desk.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/event/event.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/event/event_gui.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/event/event_keyboard.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/event/event_mouse.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/event/event_timer.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/g_button.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/g_check.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/g_img.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/g_in.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/g_out.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/g_raw.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/g_win_in.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/g_win_out.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/g_win_out_trans_test.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/input/input.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/input/input_keyboard.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/low_level/g_binary_expr.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/low_level/g_div_expr.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/low_level/g_elevator.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/low_level/g_expr.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/low_level/g_group.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/low_level/g_or_expr.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/low_level/g_win_in_intern.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/low_level/inbox.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/low_level/virtual_screen.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/old/group_in/grp_tree.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/old/label/lab_key.li
+C:/files/lisaac_damien/lisaac_damien/lib2/guii/action.li
+C:/files/lisaac_damien/lisaac_damien/lib2/guii/check.li
+C:/files/lisaac_damien/lisaac_damien/lib2/guii/dimension.li
+C:/files/lisaac_damien/lisaac_damien/lib2/guii/drop_down_menu.li
+C:/files/lisaac_damien/lisaac_damien/lib2/guii/essai_drop_down.li
+C:/files/lisaac_damien/lisaac_damien/lib2/guii/essai_light.li
+C:/files/lisaac_damien/lisaac_damien/lib2/guii/guii.li
+C:/files/lisaac_damien/lisaac_damien/lib2/guii/g_page.li
+C:/files/lisaac_damien/lisaac_damien/lib2/guii/inode.li
+C:/files/lisaac_damien/lisaac_damien/lib2/guii/internal_inode.li
+C:/files/lisaac_damien/lisaac_damien/lib2/guii/menu_bar.li
+C:/files/lisaac_damien/lisaac_damien/lib2/guii/menu_h.li
+C:/files/lisaac_damien/lisaac_damien/lib2/guii/menu_h_out.li
+C:/files/lisaac_damien/lisaac_damien/lib2/guii/menu_v.li
+C:/files/lisaac_damien/lisaac_damien/lib2/guii/menu_v_out.li
+C:/files/lisaac_damien/lisaac_damien/lib2/guii/page.li
+C:/files/lisaac_damien/lisaac_damien/lib2/guii/raw_h.li
+C:/files/lisaac_damien/lisaac_damien/lib2/guii/raw_v.li
+C:/files/lisaac_damien/lisaac_damien/lib2/guii/test.li
+C:/files/lisaac_damien/lisaac_damien/lib2/guii/test_gui2.li
+C:/files/lisaac_damien/lisaac_damien/lib2/guii/tool_bar.li
+C:/files/lisaac_damien/lisaac_damien/lib2/guii/window.li
+C:/files/lisaac_damien/lisaac_damien/lib2/guii/win_in.li
+C:/files/lisaac_damien/lisaac_damien/lib2/io/file_input_stream.li
+C:/files/lisaac_damien/lisaac_damien/lib2/io/file_output_stream.li
+C:/files/lisaac_damien/lisaac_damien/lib2/io/input_stream.li
+C:/files/lisaac_damien/lisaac_damien/lib2/io/io.li
+C:/files/lisaac_damien/lisaac_damien/lib2/io/output_stream.li
+C:/files/lisaac_damien/lisaac_damien/lib2/io/std_error.li
+C:/files/lisaac_damien/lisaac_damien/lib2/io/std_input.li
+C:/files/lisaac_damien/lisaac_damien/lib2/io/std_input_output.li
+C:/files/lisaac_damien/lisaac_damien/lib2/io/std_output.li
+C:/files/lisaac_damien/lisaac_damien/lib2/kernel/comparable.li
+C:/files/lisaac_damien/lisaac_damien/lib2/kernel/convert.li
+C:/files/lisaac_damien/lisaac_damien/lib2/kernel/hashable.li
+C:/files/lisaac_damien/lisaac_damien/lib2/kernel/i_dont_know_prototyping.li
+C:/files/lisaac_damien/lisaac_damien/lib2/kernel/object.li
+C:/files/lisaac_damien/lisaac_damien/lib2/kernel/pointer.li
+C:/files/lisaac_damien/lisaac_damien/lib2/kernel/safe_equal.li
+C:/files/lisaac_damien/lisaac_damien/lib2/memory/memory.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/integer.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/integer_16.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/integer_32.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/integer_64.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/integer_8.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/integer_big.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/low_level/fixed_real.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/low_level/float_map.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/low_level/float_map32.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/low_level/float_map64.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/low_level/float_map80.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/low_level/float_real.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/low_level/numeric.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/low_level/signed_fixed_real.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/low_level/signed_integer.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/low_level/unsigned_fixed_real.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/low_level/unsigned_integer.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/real.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/real_16_16.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/real_24_8.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/real_26_6.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/real_32.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/real_64.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/real_80.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/uinteger.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/uinteger_16.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/uinteger_32.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/uinteger_64.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/uinteger_8.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/uinteger_big.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/ureal_16_16.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/ureal_24_8.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/ureal_26_6.li
+C:/files/lisaac_damien/lisaac_damien/lib2/reflexivity/fifo_cop.li
+C:/files/lisaac_damien/lisaac_damien/lib2/reflexivity/view_object.li
+C:/files/lisaac_damien/lisaac_damien/lib2/reflexivity/view_slot.li
+C:/files/lisaac_damien/lisaac_damien/lib2/string/abstract_string.li
+C:/files/lisaac_damien/lisaac_damien/lib2/string/string.li
+C:/files/lisaac_damien/lisaac_damien/lib2/string/string_constant.li
+C:/files/lisaac_damien/lisaac_damien/lib2/system/command_line.li
+C:/files/lisaac_damien/lisaac_damien/lib2/system/system_detect.li
+C:/files/lisaac_damien/lisaac_damien/lib2/testing/unit_test.li
+C:/files/lisaac_damien/lisaac_damien/lib2/time/date.li
+C:/files/lisaac_damien/lisaac_damien/lib2/time/time.li
+C:/files/lisaac_damien/lisaac_damien/lib2_os/unix/system/clock.li
+C:/files/lisaac_damien/lisaac_damien/lib2_os/unix/system/environment.li
+C:/files/lisaac_damien/lisaac_damien/lib2_os/unix/system/float_processor.li
+C:/files/lisaac_damien/lisaac_damien/lib2_os/unix/system/processor.li
+C:/files/lisaac_damien/lisaac_damien/lib2_os/unix/system/system.li
+C:/files/lisaac_damien/lisaac_damien/lib2_os/unix/system/system_io.li
+C:/files/lisaac_damien/lisaac_damien/lib2_os/unix/file_system/directory_unix.li
+C:/files/lisaac_damien/lisaac_damien/lib2_os/unix/file_system/entry_unix.li
+C:/files/lisaac_damien/lisaac_damien/lib2_os/unix/file_system/file_system.li
+C:/files/lisaac_damien/lisaac_damien/lib2_os/unix/file_system/file_unix.li
+C:/files/lisaac_damien/lisaac_damien/lib2_os/unix/video/event_system.li
+C:/files/lisaac_damien/lisaac_damien/lib2_os/unix/video/keyboard.li
+C:/files/lisaac_damien/lisaac_damien/lib2_os/unix/video/mouse.li
+C:/files/lisaac_damien/lisaac_damien/lib2_os/unix/video/timer.li
+C:/files/lisaac_damien/lisaac_damien/lib2_os/unix/video/video.li
diff --git a/chess/gamestate.li b/chess/gamestate.li
index dff3721..b0c9690 100644
--- a/chess/gamestate.li
+++ b/chess/gamestate.li
@@ -124,7 +124,7 @@ Section Public
CHESS.camera.add_waypoint3f (0, 0, 0);
};
};
- );
+ );
- update square:SQUARE <-
(
@@ -186,7 +186,7 @@ Section Private
capture.if {
move_dest.piece.capture;
};
-
+
move_orig.clear;
move_dest.set_piece piece;
diff --git a/chess/king.li b/chess/king.li
index 30810b2..afd423b 100644
--- a/chess/king.li
+++ b/chess/king.li
@@ -36,7 +36,7 @@ Section Public
- name:STRING_CONSTANT := "king";
- model:MODEL; // shared model
-
+
- check_move orig:SQUARE to dest:SQUARE :BOOLEAN <-
// is legal move?
( + result:BOOLEAN;
diff --git a/chess/make.lip b/chess/make.lip
new file mode 100644
index 0000000..2045748
--- /dev/null
+++ b/chess/make.lip
@@ -0,0 +1,43 @@
+//
+// `chess` LIsaac Project file
+//
+Section Inherit
+
+ + parent:STRING;
+
+Section Private
+
+ + project_root:STRING := "/C:/files/GIT/examples/chess/";
+
+ - project_src_path <-
+ // Define the project path for source code.
+ (
+ path project_root;
+ );
+
+ - libopengl_path <-
+ (
+ path "C:/files/GIT/opengl-binding/*";
+ path "C:/files/GIT/math/*";
+ );
+
+ - front_end <-
+ // Executed by compiler, before compilation step.
+ (
+ project_src_path;
+ libopengl_path;
+ general_front_end;
+ );
+
+Section Public
+
+ - debug_mode <-
+ // Run in Debug Mode.
+ (
+ debug 15; // default level [1-20]
+ );
+
+ - clean <-
+ // Clean project.
+ (
+ );
diff --git a/chess/square.li b/chess/square.li
index 5b654a3..132dd19 100644
--- a/chess/square.li
+++ b/chess/square.li
@@ -30,7 +30,7 @@ Section Header
- comment := "square position on chessboard";
- type := `unsigned int`;
- - default := ( CONVERT[INTEGER,SQUARE].on 0 );
+ - default := ( CONVERT(INTEGER,SQUARE).on 0 );
Section Insert
@@ -38,7 +38,7 @@ Section Insert
Section Public
- - value:UINTEGER_32 <- CONVERT[SQUARE,UINTEGER_32].on Self;
+ - value:UINTEGER_32 <- CONVERT(SQUARE,UINTEGER_32).on Self;
//
// Creation.
@@ -50,7 +50,7 @@ Section Public
? {y.in_range 0 to 7};
cod := y*8 + x;
- CONVERT[UINTEGER_32,SQUARE].on cod
+ CONVERT(UINTEGER_32,SQUARE).on cod
);
//
diff --git a/chess/world1.li b/chess/world1.li
index a6e9b59..83a602c 100644
--- a/chess/world1.li
+++ b/chess/world1.li
@@ -43,7 +43,7 @@ Section Public
- water_resolution:INTEGER := 64;
- water_texture:TEXTURE;
- - water_surface:FAST_ARRAY[REAL_32];
+ - water_surface:FAST_ARRAY(REAL_32);
//
// shaded water effect
@@ -63,8 +63,8 @@ Section Public
- initialize:BOOLEAN <-
(
- + pos,dim:VECTOR3[REAL_32];
- + sky:FAST_ARRAY[TEXTURE];
+ + pos,dim:VECTOR3(REAL_32);
+ + sky:FAST_ARRAY(TEXTURE);
+ tex:TEXTURE;
+ infolog:STRING;
@@ -110,7 +110,7 @@ Section Public
noise := NOISE.create;
water_texture := renderer.texture2d.create_from (IMAGE.create "textures/water.bmp");
- water_surface := FAST_ARRAY[REAL_32].create (water_resolution*water_resolution);
+ water_surface := FAST_ARRAY(REAL_32).create (water_resolution*water_resolution);
// create noisy surface
0.to (water_resolution-1) do { j:INTEGER;
@@ -123,10 +123,10 @@ Section Public
// Sky
//
- pos := VECTOR3[REAL_32].create (0,0,0);
- dim := VECTOR3[REAL_32].create (1000,500,1000);
+ pos := VECTOR3(REAL_32).create (0,0,0);
+ dim := VECTOR3(REAL_32).create (1000,500,1000);
- sky := FAST_ARRAY[TEXTURE].create_with_capacity 5;
+ sky := FAST_ARRAY(TEXTURE).create_with_capacity 5;
// clamp sky textures to make invisible edges
// not supported on every GL implementation...
diff --git a/gl_test/.project b/gl_test/.project
new file mode 100644
index 0000000..a426735
--- /dev/null
+++ b/gl_test/.project
@@ -0,0 +1,499 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>gl_test</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.lisaac.ldt.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.lisaac.ldt.lisaac</nature>
+ </natures>
+ <linkedResources>
+ <link>
+ <name>lib/abstract_evaluator.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/abstract_renderer/abstract_evaluator.li</location>
+ </link>
+ <link>
+ <name>lib/abstract_keycode.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/framework/low_level/abstract_keycode.li</location>
+ </link>
+ <link>
+ <name>lib/abstract_string.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/string/abstract_string.li</location>
+ </link>
+ <link>
+ <name>lib/alpha_test.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/abstract_renderer/alpha_test.li</location>
+ </link>
+ <link>
+ <name>lib/arb_vertex_buffer_object.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/opengl/extensions/arb_vertex_buffer_object.li</location>
+ </link>
+ <link>
+ <name>lib/array.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/collection/array.li</location>
+ </link>
+ <link>
+ <name>lib/arrayed.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/arrayed.li</location>
+ </link>
+ <link>
+ <name>lib/arrayed_collection.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/arrayed_collection.li</location>
+ </link>
+ <link>
+ <name>lib/blending.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/abstract_renderer/blending.li</location>
+ </link>
+ <link>
+ <name>lib/block.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/base/block.li</location>
+ </link>
+ <link>
+ <name>lib/boolean.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/base/boolean.li</location>
+ </link>
+ <link>
+ <name>lib/camera.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/3D/camera.li</location>
+ </link>
+ <link>
+ <name>lib/capabilities.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/abstract_renderer/capabilities.li</location>
+ </link>
+ <link>
+ <name>lib/character.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/base/character.li</location>
+ </link>
+ <link>
+ <name>lib/character_ref.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/base/low_level/character_ref.li</location>
+ </link>
+ <link>
+ <name>lib/collection.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/collection.li</location>
+ </link>
+ <link>
+ <name>lib/color.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/abstract_renderer/color.li</location>
+ </link>
+ <link>
+ <name>lib/comparable.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/kernel/comparable.li</location>
+ </link>
+ <link>
+ <name>lib/cone.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/3D/primitives/cone.li</location>
+ </link>
+ <link>
+ <name>lib/convert.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/kernel/convert.li</location>
+ </link>
+ <link>
+ <name>lib/cylinder.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/3D/primitives/cylinder.li</location>
+ </link>
+ <link>
+ <name>lib/directory.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/file_system/directory.li</location>
+ </link>
+ <link>
+ <name>lib/display_list.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/abstract_renderer/display_list.li</location>
+ </link>
+ <link>
+ <name>lib/entry.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/file_system/entry.li</location>
+ </link>
+ <link>
+ <name>lib/error.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/abstract_renderer/error.li</location>
+ </link>
+ <link>
+ <name>lib/evaluator1d.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/abstract_renderer/evaluator1d.li</location>
+ </link>
+ <link>
+ <name>lib/evaluator2d.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/abstract_renderer/evaluator2d.li</location>
+ </link>
+ <link>
+ <name>lib/event_listener.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/framework/event_listener.li</location>
+ </link>
+ <link>
+ <name>lib/fast_array.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/collection/fast_array.li</location>
+ </link>
+ <link>
+ <name>lib/file_system.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2_os/unix/file_system/file_system.li</location>
+ </link>
+ <link>
+ <name>lib/float_map.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/number/low_level/float_map.li</location>
+ </link>
+ <link>
+ <name>lib/float_map32.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/number/low_level/float_map32.li</location>
+ </link>
+ <link>
+ <name>lib/float_real.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/number/low_level/float_real.li</location>
+ </link>
+ <link>
+ <name>lib/fog.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/abstract_renderer/fog.li</location>
+ </link>
+ <link>
+ <name>lib/font.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/abstract_renderer/font.li</location>
+ </link>
+ <link>
+ <name>lib/framework.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/framework/framework.li</location>
+ </link>
+ <link>
+ <name>lib/framework_any.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/framework/low_level/framework_any.li</location>
+ </link>
+ <link>
+ <name>lib/framework_event.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/framework/windows/framework_event.li</location>
+ </link>
+ <link>
+ <name>lib/fs_min.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/file_system/fs_min.li</location>
+ </link>
+ <link>
+ <name>lib/gl_display_list.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/opengl/gl_display_list.li</location>
+ </link>
+ <link>
+ <name>lib/gl_extension.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/opengl/gl_extension.li</location>
+ </link>
+ <link>
+ <name>lib/hashable.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/kernel/hashable.li</location>
+ </link>
+ <link>
+ <name>lib/i_dont_know_prototyping.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/kernel/i_dont_know_prototyping.li</location>
+ </link>
+ <link>
+ <name>lib/image.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/images/image.li</location>
+ </link>
+ <link>
+ <name>lib/image_format.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/images/image_format.li</location>
+ </link>
+ <link>
+ <name>lib/index_buffer.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/abstract_renderer/index_buffer.li</location>
+ </link>
+ <link>
+ <name>lib/integer.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/number/integer.li</location>
+ </link>
+ <link>
+ <name>lib/io.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/io/io.li</location>
+ </link>
+ <link>
+ <name>lib/keycode.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/framework/windows/keycode.li</location>
+ </link>
+ <link>
+ <name>lib/light.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/abstract_renderer/light.li</location>
+ </link>
+ <link>
+ <name>lib/linked_collection.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/linked_collection.li</location>
+ </link>
+ <link>
+ <name>lib/linked_list.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/collection/linked_list.li</location>
+ </link>
+ <link>
+ <name>lib/log.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/framework/log.li</location>
+ </link>
+ <link>
+ <name>lib/material.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/abstract_renderer/material.li</location>
+ </link>
+ <link>
+ <name>lib/md2_frame.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/3D/models/md2_frame.li</location>
+ </link>
+ <link>
+ <name>lib/md2_model.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/3D/models/md2_model.li</location>
+ </link>
+ <link>
+ <name>lib/md2_normals.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/3D/models/md2_normals.li</location>
+ </link>
+ <link>
+ <name>lib/md2_triangle.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/3D/models/md2_triangle.li</location>
+ </link>
+ <link>
+ <name>lib/md2_vertex.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/3D/models/md2_vertex.li</location>
+ </link>
+ <link>
+ <name>lib/model.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/3D/model.li</location>
+ </link>
+ <link>
+ <name>lib/native_array.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/native_array.li</location>
+ </link>
+ <link>
+ <name>lib/numeric.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/number/low_level/numeric.li</location>
+ </link>
+ <link>
+ <name>lib/object.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/kernel/object.li</location>
+ </link>
+ <link>
+ <name>lib/opengl.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/framework/windows/opengl.li</location>
+ </link>
+ <link>
+ <name>lib/opengl_abstract.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/opengl/opengl_abstract.li</location>
+ </link>
+ <link>
+ <name>lib/opengl_specific.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/opengl/opengl_specific.li</location>
+ </link>
+ <link>
+ <name>lib/output_stream.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/io/output_stream.li</location>
+ </link>
+ <link>
+ <name>lib/platform.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/framework/windows/platform.li</location>
+ </link>
+ <link>
+ <name>lib/real.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/number/real.li</location>
+ </link>
+ <link>
+ <name>lib/real_32.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/number/real_32.li</location>
+ </link>
+ <link>
+ <name>lib/renderer.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/abstract_renderer/renderer.li</location>
+ </link>
+ <link>
+ <name>lib/reshape.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/abstract_renderer/reshape.li</location>
+ </link>
+ <link>
+ <name>lib/rgb.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/abstract_renderer/rgb.li</location>
+ </link>
+ <link>
+ <name>lib/rgba.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/abstract_renderer/rgba.li</location>
+ </link>
+ <link>
+ <name>lib/scene.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/framework/scene.li</location>
+ </link>
+ <link>
+ <name>lib/scissor.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/abstract_renderer/scissor.li</location>
+ </link>
+ <link>
+ <name>lib/shader.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/abstract_renderer/shader.li</location>
+ </link>
+ <link>
+ <name>lib/sphere.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/3D/primitives/sphere.li</location>
+ </link>
+ <link>
+ <name>lib/state.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/abstract_renderer/state.li</location>
+ </link>
+ <link>
+ <name>lib/std_error.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/io/std_error.li</location>
+ </link>
+ <link>
+ <name>lib/std_file.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/file_system/std_file.li</location>
+ </link>
+ <link>
+ <name>lib/std_output.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/io/std_output.li</location>
+ </link>
+ <link>
+ <name>lib/string.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/string/string.li</location>
+ </link>
+ <link>
+ <name>lib/system_io.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2_os/unix/system/system_io.li</location>
+ </link>
+ <link>
+ <name>lib/terrain.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/3D/terrain.li</location>
+ </link>
+ <link>
+ <name>lib/texture.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/abstract_renderer/texture.li</location>
+ </link>
+ <link>
+ <name>lib/transform.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/abstract_renderer/transform.li</location>
+ </link>
+ <link>
+ <name>lib/traversable.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/traversable.li</location>
+ </link>
+ <link>
+ <name>lib/uinteger_32.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/number/uinteger_32.li</location>
+ </link>
+ <link>
+ <name>lib/unsigned_integer.li</name>
+ <type>1</type>
+ <location>C:/files/lisaac_damien/lisaac_damien/lib2/number/low_level/unsigned_integer.li</location>
+ </link>
+ <link>
+ <name>lib/vector2.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/math/vector2.li</location>
+ </link>
+ <link>
+ <name>lib/vector3.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/math/vector3.li</location>
+ </link>
+ <link>
+ <name>lib/vector4.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/math/vector4.li</location>
+ </link>
+ <link>
+ <name>lib/vertex.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/abstract_renderer/vertex.li</location>
+ </link>
+ <link>
+ <name>lib/vertex_buffer.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/abstract_renderer/vertex_buffer.li</location>
+ </link>
+ <link>
+ <name>lib/viewport.li</name>
+ <type>1</type>
+ <location>C:/files/GIT/opengl-binding/abstract_renderer/viewport.li</location>
+ </link>
+ </linkedResources>
+</projectDescription>
diff --git a/gl_test/current_path.txt b/gl_test/current_path.txt
new file mode 100644
index 0000000..939530c
--- /dev/null
+++ b/gl_test/current_path.txt
@@ -0,0 +1,355 @@
+C:/files/GIT/examples/gl_test/framework_test.li
+C:/files/GIT/examples/gl_test/gui_test.li
+C:/files/GIT/examples/gl_test/my_event_listener.li
+C:/files/GIT/examples/gl_test/my_object.li
+C:/files/GIT/examples/gl_test/my_scene1.li
+C:/files/GIT/examples/gl_test/my_scene10.li
+C:/files/GIT/examples/gl_test/my_scene11.li
+C:/files/GIT/examples/gl_test/my_scene12.li
+C:/files/GIT/examples/gl_test/my_scene2.li
+C:/files/GIT/examples/gl_test/my_scene3.li
+C:/files/GIT/examples/gl_test/my_scene4.li
+C:/files/GIT/examples/gl_test/my_scene5.li
+C:/files/GIT/examples/gl_test/my_scene6.li
+C:/files/GIT/examples/gl_test/my_scene7.li
+C:/files/GIT/examples/gl_test/my_scene8.li
+C:/files/GIT/examples/gl_test/my_scene9.li
+C:/files/GIT/examples/gl_test/test_any.li
+C:/files/GIT/examples/gl_test/test_scene.li
+C:/files/GIT/opengl-binding/3D/camera.li
+C:/files/GIT/opengl-binding/3D/model.li
+C:/files/GIT/opengl-binding/3D/models/md2_frame.li
+C:/files/GIT/opengl-binding/3D/models/md2_model.li
+C:/files/GIT/opengl-binding/3D/models/md2_normals.li
+C:/files/GIT/opengl-binding/3D/models/md2_triangle.li
+C:/files/GIT/opengl-binding/3D/models/md2_vertex.li
+C:/files/GIT/opengl-binding/3D/noise.li
+C:/files/GIT/opengl-binding/3D/particles/bounce_plane.li
+C:/files/GIT/opengl-binding/3D/particles/constraint.li
+C:/files/GIT/opengl-binding/3D/particles/kill_plane.li
+C:/files/GIT/opengl-binding/3D/particles/particle.li
+C:/files/GIT/opengl-binding/3D/particles/particle_system.li
+C:/files/GIT/opengl-binding/3D/particles/point_force.li
+C:/files/GIT/opengl-binding/3D/primitives/cone.li
+C:/files/GIT/opengl-binding/3D/primitives/cylinder.li
+C:/files/GIT/opengl-binding/3D/primitives/sphere.li
+C:/files/GIT/opengl-binding/3D/skybox.li
+C:/files/GIT/opengl-binding/3D/terrain.li
+C:/files/GIT/opengl-binding/abstract_renderer/abstract_evaluator.li
+C:/files/GIT/opengl-binding/abstract_renderer/accum_buffer.li
+C:/files/GIT/opengl-binding/abstract_renderer/alpha_test.li
+C:/files/GIT/opengl-binding/abstract_renderer/blending.li
+C:/files/GIT/opengl-binding/abstract_renderer/capabilities.li
+C:/files/GIT/opengl-binding/abstract_renderer/color.li
+C:/files/GIT/opengl-binding/abstract_renderer/color_buffer.li
+C:/files/GIT/opengl-binding/abstract_renderer/culling.li
+C:/files/GIT/opengl-binding/abstract_renderer/depth_buffer.li
+C:/files/GIT/opengl-binding/abstract_renderer/display_list.li
+C:/files/GIT/opengl-binding/abstract_renderer/error.li
+C:/files/GIT/opengl-binding/abstract_renderer/evaluator1d.li
+C:/files/GIT/opengl-binding/abstract_renderer/evaluator2d.li
+C:/files/GIT/opengl-binding/abstract_renderer/fog.li
+C:/files/GIT/opengl-binding/abstract_renderer/font.li
+C:/files/GIT/opengl-binding/abstract_renderer/index_buffer.li
+C:/files/GIT/opengl-binding/abstract_renderer/light.li
+C:/files/GIT/opengl-binding/abstract_renderer/material.li
+C:/files/GIT/opengl-binding/abstract_renderer/name_stack.li
+C:/files/GIT/opengl-binding/abstract_renderer/plane.li
+C:/files/GIT/opengl-binding/abstract_renderer/quadrics.li
+C:/files/GIT/opengl-binding/abstract_renderer/renderer.li
+C:/files/GIT/opengl-binding/abstract_renderer/reshape.li
+C:/files/GIT/opengl-binding/abstract_renderer/rgb.li
+C:/files/GIT/opengl-binding/abstract_renderer/rgba.li
+C:/files/GIT/opengl-binding/abstract_renderer/scissor.li
+C:/files/GIT/opengl-binding/abstract_renderer/shader.li
+C:/files/GIT/opengl-binding/abstract_renderer/state.li
+C:/files/GIT/opengl-binding/abstract_renderer/stencil_buffer.li
+C:/files/GIT/opengl-binding/abstract_renderer/texture.li
+C:/files/GIT/opengl-binding/abstract_renderer/transform.li
+C:/files/GIT/opengl-binding/abstract_renderer/vertex.li
+C:/files/GIT/opengl-binding/abstract_renderer/vertex_buffer.li
+C:/files/GIT/opengl-binding/abstract_renderer/viewport.li
+C:/files/GIT/opengl-binding/framework/event_listener.li
+C:/files/GIT/opengl-binding/framework/framework.li
+C:/files/GIT/opengl-binding/framework/log.li
+C:/files/GIT/opengl-binding/framework/low_level/abstract_keycode.li
+C:/files/GIT/opengl-binding/framework/low_level/framework_any.li
+C:/files/GIT/opengl-binding/framework/scene.li
+C:/files/GIT/opengl-binding/framework/unix/framework_event.li
+C:/files/GIT/opengl-binding/framework/unix/gl_font.li
+C:/files/GIT/opengl-binding/framework/unix/keycode.li
+C:/files/GIT/opengl-binding/framework/unix/opengl.li
+C:/files/GIT/opengl-binding/framework/unix/platform.li
+C:/files/GIT/opengl-binding/framework/windows/framework_event.li
+C:/files/GIT/opengl-binding/framework/windows/gl_font.li
+C:/files/GIT/opengl-binding/framework/windows/keycode.li
+C:/files/GIT/opengl-binding/framework/windows/opengl.li
+C:/files/GIT/opengl-binding/framework/windows/platform.li
+C:/files/GIT/opengl-binding/glspec2li.li
+C:/files/GIT/opengl-binding/gui/gl_desk.li
+C:/files/GIT/opengl-binding/gui/gl_driver.li
+C:/files/GIT/opengl-binding/gui/g_gldraw.li
+C:/files/GIT/opengl-binding/gui/unix/gl_event_system.li
+C:/files/GIT/opengl-binding/gui/windows/gl_event_system.li
+C:/files/GIT/opengl-binding/images/bmp.li
+C:/files/GIT/opengl-binding/images/image.li
+C:/files/GIT/opengl-binding/images/image_format.li
+C:/files/GIT/opengl-binding/images/tga.li
+C:/files/GIT/opengl-binding/images/tga_header.li
+C:/files/GIT/opengl-binding/opengl/extensions/arb_fragment_shader.li
+C:/files/GIT/opengl-binding/opengl/extensions/arb_multitexture.li
+C:/files/GIT/opengl-binding/opengl/extensions/arb_shader_object.li
+C:/files/GIT/opengl-binding/opengl/extensions/arb_shading_language_100.li
+C:/files/GIT/opengl-binding/opengl/extensions/arb_vertex_buffer_object.li
+C:/files/GIT/opengl-binding/opengl/extensions/arb_vertex_shader.li
+C:/files/GIT/opengl-binding/opengl/gl.li
+C:/files/GIT/opengl-binding/opengl/gl_abstract_texture.li
+C:/files/GIT/opengl-binding/opengl/gl_accum_buffer.li
+C:/files/GIT/opengl-binding/opengl/gl_alpha_test.li
+C:/files/GIT/opengl-binding/opengl/gl_blending.li
+C:/files/GIT/opengl-binding/opengl/gl_color_buffer.li
+C:/files/GIT/opengl-binding/opengl/gl_culling.li
+C:/files/GIT/opengl-binding/opengl/gl_depth_buffer.li
+C:/files/GIT/opengl-binding/opengl/gl_display_list.li
+C:/files/GIT/opengl-binding/opengl/gl_error.li
+C:/files/GIT/opengl-binding/opengl/gl_evaluator1d.li
+C:/files/GIT/opengl-binding/opengl/gl_evaluator2d.li
+C:/files/GIT/opengl-binding/opengl/gl_extension.li
+C:/files/GIT/opengl-binding/opengl/gl_fog.li
+C:/files/GIT/opengl-binding/opengl/gl_font_abstract.li
+C:/files/GIT/opengl-binding/opengl/gl_index_buffer.li
+C:/files/GIT/opengl-binding/opengl/gl_light.li
+C:/files/GIT/opengl-binding/opengl/gl_material.li
+C:/files/GIT/opengl-binding/opengl/gl_name_stack.li
+C:/files/GIT/opengl-binding/opengl/gl_plane.li
+C:/files/GIT/opengl-binding/opengl/gl_quadrics.li
+C:/files/GIT/opengl-binding/opengl/gl_scissor.li
+C:/files/GIT/opengl-binding/opengl/gl_shader.li
+C:/files/GIT/opengl-binding/opengl/gl_stencil_buffer.li
+C:/files/GIT/opengl-binding/opengl/gl_texture1d.li
+C:/files/GIT/opengl-binding/opengl/gl_texture2d.li
+C:/files/GIT/opengl-binding/opengl/gl_transform.li
+C:/files/GIT/opengl-binding/opengl/gl_vertex_array.li
+C:/files/GIT/opengl-binding/opengl/gl_vertex_buffer.li
+C:/files/GIT/opengl-binding/opengl/opengl_abstract.li
+C:/files/GIT/opengl-binding/opengl/opengl_specific.li
+C:/files/GIT/math/low_level/abstract_matrix.li
+C:/files/GIT/math/matrix.li
+C:/files/GIT/math/matrix4.li
+C:/files/GIT/math/vector2.li
+C:/files/GIT/math/vector3.li
+C:/files/GIT/math/vector4.li
+C:/files/lisaac_damien/lisaac_damien/lib2/base/block.li
+C:/files/lisaac_damien/lisaac_damien/lib2/base/boolean.li
+C:/files/lisaac_damien/lisaac_damien/lib2/base/character.li
+C:/files/lisaac_damien/lisaac_damien/lib2/base/char_unicode.li
+C:/files/lisaac_damien/lisaac_damien/lib2/base/enum.li
+C:/files/lisaac_damien/lisaac_damien/lib2/base/false.li
+C:/files/lisaac_damien/lisaac_damien/lib2/base/low_level/character_ref.li
+C:/files/lisaac_damien/lisaac_damien/lib2/base/reference.li
+C:/files/lisaac_damien/lisaac_damien/lib2/base/tools.li
+C:/files/lisaac_damien/lisaac_damien/lib2/base/true.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/array.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/array2.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/array3.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/avl_dictionary.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/avl_set.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/fast_array.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/fast_array2.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/fast_array3.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/hashed_dictionary.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/hashed_set.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/iterator.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/linked2_list.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/linked_list.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/linked_xor_list.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/any_avl_dictionary_node.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/any_avl_set_node.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/any_hashed_bijective_dictionary_node.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/any_hashed_dictionary_node.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/any_hashed_set_node.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/any_linked_list_node.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/any_two_way_linked_list_node.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/arrayed.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/arrayed_collection.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/avl_constants.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/avl_dictionary_node.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/avl_set_node.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/avl_tree.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/avl_tree_node.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/collection.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/collection2.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/collection3.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/dictionary.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/hashed_dictionary_node.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/hashed_set_node.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/hash_table_size.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/linked2_list_node.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/linked_collection.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/linked_list_node.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/linked_xor_node.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/native_array.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/native_array_volatile.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/set.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/simple_dictionary.li
+C:/files/lisaac_damien/lisaac_damien/lib2/collection/low_level/traversable.li
+C:/files/lisaac_damien/lisaac_damien/lib2/file_system/directory.li
+C:/files/lisaac_damien/lisaac_damien/lib2/file_system/entry.li
+C:/files/lisaac_damien/lisaac_damien/lib2/file_system/fs_min.li
+C:/files/lisaac_damien/lisaac_damien/lib2/file_system/std_file.li
+C:/files/lisaac_damien/lisaac_damien/lib2/format/ai/ai_alias.li
+C:/files/lisaac_damien/lisaac_damien/lib2/format/ai/ai_bezier.li
+C:/files/lisaac_damien/lisaac_damien/lib2/format/ai/ai_color.li
+C:/files/lisaac_damien/lisaac_damien/lib2/format/ai/ai_file.li
+C:/files/lisaac_damien/lisaac_damien/lib2/format/ai/ai_layer.li
+C:/files/lisaac_damien/lisaac_damien/lib2/format/ai/ai_line.li
+C:/files/lisaac_damien/lisaac_damien/lib2/format/ai/ai_move.li
+C:/files/lisaac_damien/lisaac_damien/lib2/format/ai/ai_operation.li
+C:/files/lisaac_damien/lisaac_damien/lib2/format/ai/ai_parser.li
+C:/files/lisaac_damien/lisaac_damien/lib2/format/bmp/bmp_file.li
+C:/files/lisaac_damien/lisaac_damien/lib2/format/bmp/bmp_header.li
+C:/files/lisaac_damien/lisaac_damien/lib2/format/bmp/format_bmp.li
+C:/files/lisaac_damien/lisaac_damien/lib2/format/format_img.li
+C:/files/lisaac_damien/lisaac_damien/lib2/graphics/bitmap.li
+C:/files/lisaac_damien/lisaac_damien/lib2/graphics/bmp_line.li
+C:/files/lisaac_damien/lisaac_damien/lib2/graphics/edge.li
+C:/files/lisaac_damien/lisaac_damien/lib2/graphics/low_level/abstract_bitmap.li
+C:/files/lisaac_damien/lisaac_damien/lib2/graphics/low_level/abstract_bmp_line.li
+C:/files/lisaac_damien/lisaac_damien/lib2/graphics/low_level/pixel.li
+C:/files/lisaac_damien/lisaac_damien/lib2/graphics/pixel_15.li
+C:/files/lisaac_damien/lisaac_damien/lib2/graphics/pixel_16.li
+C:/files/lisaac_damien/lisaac_damien/lib2/graphics/pixel_24.li
+C:/files/lisaac_damien/lisaac_damien/lib2/graphics/pixel_32.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/clipping/area.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/clipping/area_mask.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/clipping/clip.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/clipping/limit_x.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/clipping/limit_y.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/clipping/plan.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/desk.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/event/event.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/event/event_gui.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/event/event_keyboard.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/event/event_mouse.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/event/event_timer.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/g_button.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/g_check.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/g_img.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/g_in.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/g_out.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/g_raw.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/g_win_in.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/g_win_out.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/g_win_out_trans_test.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/input/input.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/input/input_keyboard.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/low_level/g_binary_expr.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/low_level/g_div_expr.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/low_level/g_elevator.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/low_level/g_expr.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/low_level/g_group.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/low_level/g_or_expr.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/low_level/g_win_in_intern.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/low_level/inbox.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/low_level/virtual_screen.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/old/group_in/grp_tree.li
+C:/files/lisaac_damien/lisaac_damien/lib2/gui/old/label/lab_key.li
+C:/files/lisaac_damien/lisaac_damien/lib2/guii/action.li
+C:/files/lisaac_damien/lisaac_damien/lib2/guii/check.li
+C:/files/lisaac_damien/lisaac_damien/lib2/guii/dimension.li
+C:/files/lisaac_damien/lisaac_damien/lib2/guii/drop_down_menu.li
+C:/files/lisaac_damien/lisaac_damien/lib2/guii/essai_drop_down.li
+C:/files/lisaac_damien/lisaac_damien/lib2/guii/essai_light.li
+C:/files/lisaac_damien/lisaac_damien/lib2/guii/guii.li
+C:/files/lisaac_damien/lisaac_damien/lib2/guii/g_page.li
+C:/files/lisaac_damien/lisaac_damien/lib2/guii/inode.li
+C:/files/lisaac_damien/lisaac_damien/lib2/guii/internal_inode.li
+C:/files/lisaac_damien/lisaac_damien/lib2/guii/menu_bar.li
+C:/files/lisaac_damien/lisaac_damien/lib2/guii/menu_h.li
+C:/files/lisaac_damien/lisaac_damien/lib2/guii/menu_h_out.li
+C:/files/lisaac_damien/lisaac_damien/lib2/guii/menu_v.li
+C:/files/lisaac_damien/lisaac_damien/lib2/guii/menu_v_out.li
+C:/files/lisaac_damien/lisaac_damien/lib2/guii/page.li
+C:/files/lisaac_damien/lisaac_damien/lib2/guii/raw_h.li
+C:/files/lisaac_damien/lisaac_damien/lib2/guii/raw_v.li
+C:/files/lisaac_damien/lisaac_damien/lib2/guii/test.li
+C:/files/lisaac_damien/lisaac_damien/lib2/guii/test_gui2.li
+C:/files/lisaac_damien/lisaac_damien/lib2/guii/tool_bar.li
+C:/files/lisaac_damien/lisaac_damien/lib2/guii/window.li
+C:/files/lisaac_damien/lisaac_damien/lib2/guii/win_in.li
+C:/files/lisaac_damien/lisaac_damien/lib2/io/file_input_stream.li
+C:/files/lisaac_damien/lisaac_damien/lib2/io/file_output_stream.li
+C:/files/lisaac_damien/lisaac_damien/lib2/io/input_stream.li
+C:/files/lisaac_damien/lisaac_damien/lib2/io/io.li
+C:/files/lisaac_damien/lisaac_damien/lib2/io/output_stream.li
+C:/files/lisaac_damien/lisaac_damien/lib2/io/std_error.li
+C:/files/lisaac_damien/lisaac_damien/lib2/io/std_input.li
+C:/files/lisaac_damien/lisaac_damien/lib2/io/std_input_output.li
+C:/files/lisaac_damien/lisaac_damien/lib2/io/std_output.li
+C:/files/lisaac_damien/lisaac_damien/lib2/kernel/comparable.li
+C:/files/lisaac_damien/lisaac_damien/lib2/kernel/convert.li
+C:/files/lisaac_damien/lisaac_damien/lib2/kernel/hashable.li
+C:/files/lisaac_damien/lisaac_damien/lib2/kernel/i_dont_know_prototyping.li
+C:/files/lisaac_damien/lisaac_damien/lib2/kernel/object.li
+C:/files/lisaac_damien/lisaac_damien/lib2/kernel/pointer.li
+C:/files/lisaac_damien/lisaac_damien/lib2/kernel/safe_equal.li
+C:/files/lisaac_damien/lisaac_damien/lib2/memory/memory.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/integer.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/integer_16.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/integer_32.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/integer_64.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/integer_8.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/integer_big.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/low_level/fixed_real.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/low_level/float_map.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/low_level/float_map32.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/low_level/float_map64.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/low_level/float_map80.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/low_level/float_real.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/low_level/numeric.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/low_level/signed_fixed_real.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/low_level/signed_integer.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/low_level/unsigned_fixed_real.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/low_level/unsigned_integer.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/real.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/real_16_16.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/real_24_8.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/real_26_6.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/real_32.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/real_64.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/real_80.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/uinteger.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/uinteger_16.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/uinteger_32.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/uinteger_64.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/uinteger_8.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/uinteger_big.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/ureal_16_16.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/ureal_24_8.li
+C:/files/lisaac_damien/lisaac_damien/lib2/number/ureal_26_6.li
+C:/files/lisaac_damien/lisaac_damien/lib2/reflexivity/fifo_cop.li
+C:/files/lisaac_damien/lisaac_damien/lib2/reflexivity/view_object.li
+C:/files/lisaac_damien/lisaac_damien/lib2/reflexivity/view_slot.li
+C:/files/lisaac_damien/lisaac_damien/lib2/string/abstract_string.li
+C:/files/lisaac_damien/lisaac_damien/lib2/string/string.li
+C:/files/lisaac_damien/lisaac_damien/lib2/string/string_constant.li
+C:/files/lisaac_damien/lisaac_damien/lib2/system/command_line.li
+C:/files/lisaac_damien/lisaac_damien/lib2/system/system_detect.li
+C:/files/lisaac_damien/lisaac_damien/lib2/testing/unit_test.li
+C:/files/lisaac_damien/lisaac_damien/lib2/time/date.li
+C:/files/lisaac_damien/lisaac_damien/lib2/time/time.li
+C:/files/lisaac_damien/lisaac_damien/lib2_os/unix/system/clock.li
+C:/files/lisaac_damien/lisaac_damien/lib2_os/unix/system/environment.li
+C:/files/lisaac_damien/lisaac_damien/lib2_os/unix/system/float_processor.li
+C:/files/lisaac_damien/lisaac_damien/lib2_os/unix/system/processor.li
+C:/files/lisaac_damien/lisaac_damien/lib2_os/unix/system/system.li
+C:/files/lisaac_damien/lisaac_damien/lib2_os/unix/system/system_io.li
+C:/files/lisaac_damien/lisaac_damien/lib2_os/unix/file_system/directory_unix.li
+C:/files/lisaac_damien/lisaac_damien/lib2_os/unix/file_system/entry_unix.li
+C:/files/lisaac_damien/lisaac_damien/lib2_os/unix/file_system/file_system.li
+C:/files/lisaac_damien/lisaac_damien/lib2_os/unix/file_system/file_unix.li
+C:/files/lisaac_damien/lisaac_damien/lib2_os/unix/video/event_system.li
+C:/files/lisaac_damien/lisaac_damien/lib2_os/unix/video/keyboard.li
+C:/files/lisaac_damien/lisaac_damien/lib2_os/unix/video/mouse.li
+C:/files/lisaac_damien/lisaac_damien/lib2_os/unix/video/timer.li
+C:/files/lisaac_damien/lisaac_damien/lib2_os/unix/video/video.li
diff --git a/gl_test/make.lip b/gl_test/make.lip
new file mode 100644
index 0000000..3115ccd
--- /dev/null
+++ b/gl_test/make.lip
@@ -0,0 +1,43 @@
+//
+// `gl_test` LIsaac Project file
+//
+Section Inherit
+
+ + parent:STRING;
+
+Section Private
+
+ + project_root:STRING := "/C:/files/GIT/examples/gl_test/";
+
+ - project_src_path <-
+ // Define the project path for source code.
+ (
+ path project_root;
+ );
+
+ - libopengl_path <-
+ (
+ path "C:/files/GIT/opengl-binding/*";
+ path "C:/files/GIT/math/*";
+ );
+
+ - front_end <-
+ // Executed by compiler, before compilation step.
+ (
+ project_src_path;
+ libopengl_path;
+ general_front_end;
+ );
+
+Section Public
+
+ - debug_mode <-
+ // Run in Debug Mode.
+ (
+ debug 15; // default level [1-20]
+ );
+
+ - clean <-
+ // Clean project.
+ (
+ );
diff --git a/gl_test/my_event_listener.li b/gl_test/my_event_listener.li
index 22b3381..580b3f0 100644
--- a/gl_test/my_event_listener.li
+++ b/gl_test/my_event_listener.li
@@ -60,11 +60,11 @@ Section Public
- move (x,y:INTEGER) <-
(
- );
+ );
- - click b:INTEGER <-
+ - click b:INTEGER <-
(
- ((b & 1) != 0).if {
+ ((b & 1) != 0).if {
"Right Click\n".print;
} else {
"Left Click\n".print;
diff --git a/gl_test/my_object.li b/gl_test/my_object.li
index 1a23b2b..c40b3a3 100644
--- a/gl_test/my_object.li
+++ b/gl_test/my_object.li
@@ -35,18 +35,18 @@ Section Public
+ geometry:DISPLAY_LIST;
- + position:VECTOR3[REAL_32];
- + rotation:VECTOR3[REAL_32];
+ + position:VECTOR3(REAL_32);
+ + rotation:VECTOR3(REAL_32);
- - create list:DISPLAY_LIST name id:UINTEGER_32 at (pos,rot:VECTOR3[REAL_32]) :SELF <-
+ - create list:DISPLAY_LIST name id:UINTEGER_32 at (pos,rot:VECTOR3(REAL_32)) :SELF <-
( + result:SELF;
result := SELF.clone;
result.make (id,list,pos,rot);
result
);
- - make (id:UINTEGER_32,list:DISPLAY_LIST,pos,rot:VECTOR3[REAL_32]) <-
+ - make (id:UINTEGER_32,list:DISPLAY_LIST,pos,rot:VECTOR3(REAL_32)) <-
(
name := id;
geometry := list;
diff --git a/gl_test/my_scene1.li b/gl_test/my_scene1.li
index faecabd..33ccf30 100644
--- a/gl_test/my_scene1.li
+++ b/gl_test/my_scene1.li
@@ -68,7 +68,7 @@ Section Public
log.print "Cannot support GLSL Shaders with ARB extensions";
} else {
shader := renderer.shader.create ("data/test.vert","data/test.frag");
- shader.enable;
+ shader.enable;
loc := shader.get_uniform_location "time";
};
diff --git a/gl_test/my_scene10.li b/gl_test/my_scene10.li
index b271976..2b3cb1c 100644
--- a/gl_test/my_scene10.li
+++ b/gl_test/my_scene10.li
@@ -50,7 +50,7 @@ Section Public
+ curve:EVALUATOR1D;
+ resolution:INTEGER := 30;
- + points:FAST_ARRAY[VERTEX];
+ + points:FAST_ARRAY(VERTEX);
+ surface:EVALUATOR2D;
@@ -64,7 +64,7 @@ Section Public
//
// create control points
- points := FAST_ARRAY[VERTEX].create_with_capacity 4;
+ points := FAST_ARRAY(VERTEX).create_with_capacity 4;
points.add_last (VERTEX.create (-4,-4,0));
points.add_last (VERTEX.create (-2,4,0));
points.add_last (VERTEX.create (2,-4,0));
@@ -84,8 +84,8 @@ Section Public
// enable the evaluator in the graphic pipeline
curve.enable;
-
- //
+
+ //
// Create Bezier Surface
//
diff --git a/gl_test/my_scene11.li b/gl_test/my_scene11.li
index d1e1b33..f782d35 100644
--- a/gl_test/my_scene11.li
+++ b/gl_test/my_scene11.li
@@ -62,7 +62,7 @@ Section Public
+ terrain:TERRAIN;
+ light:LIGHT;
- + light_pos:VECTOR3[REAL_32];
+ + light_pos:VECTOR3(REAL_32);
+ material:MATERIAL;
+ test:TEXTURE;
@@ -77,7 +77,7 @@ Section Public
diffuse := RGBA.create (0.9, 0.9, 0.9, 0);
specular := RGBA.create (1.0, 1.0, 1.0, 0.0);
- light_pos := VECTOR3[REAL_32].create (0, 1, 0);
+ light_pos := VECTOR3(REAL_32).create (0, 1, 0);
light := renderer.light.create (ambient,diffuse,specular) at light_pos;
light.set_directional;
@@ -89,7 +89,7 @@ Section Public
shine := 128;
material := renderer.material.create (ambient,diffuse,specular,emission,shine);
-
+
height_map := IMAGE.create "data/heightmap.bmp";
tex := renderer.texture2d.create_from (IMAGE.create "data/terrain-texture.bmp");
@@ -119,7 +119,7 @@ Section Public
+ camera:CAMERA;
+ xpos:REAL_32;
- + zpos:REAL_32;
+ + zpos:REAL_32;
- render t:REAL_32 <-
(
diff --git a/gl_test/my_scene12.li b/gl_test/my_scene12.li
index 100f551..91e96c9 100644
--- a/gl_test/my_scene12.li
+++ b/gl_test/my_scene12.li
@@ -43,12 +43,12 @@ Section Public
//
// test shaders
//
-
+
+ model:MODEL;
+ texture:TEXTURE;
+ light:LIGHT;
- + light_pos:VECTOR3[REAL_32] := VECTOR3[REAL_32].create (5,10,-180);
+ + light_pos:VECTOR3(REAL_32) := VECTOR3(REAL_32).create (5,10,-180);
+ camera:CAMERA;
@@ -67,11 +67,11 @@ Section Public
camera.position.make (0,10,-200);
camera.view.make (0,-10,200);
camera.view.normalize;
-
- // load model
+
+ // load model
texture := renderer.texture2d.create_from (IMAGE.create "data/skin.tga");
- model := MD2_MODEL.create "data/model.md2" with texture;
-
+ model := MD2_MODEL.create "data/model.md2" with texture;
+
OPENGL.use_shaders.if_false {
log.print "Cannot support GLSL Shaders with ARB extensions";
} else {
diff --git a/gl_test/my_scene2.li b/gl_test/my_scene2.li
index d4af916..ca4dd28 100644
--- a/gl_test/my_scene2.li
+++ b/gl_test/my_scene2.li
@@ -44,9 +44,9 @@ Section Public
// test camera
//
- + camera:CAMERA := CAMERA.create_position (VECTOR3[REAL_32].create (0,1.5,6));
+ + camera:CAMERA := CAMERA.create_position (VECTOR3(REAL_32).create (0,1.5,6));
- + sphere:SPHERE := SPHERE.create (VECTOR3[REAL_32].create (0,0,0),2,10,10);
+ + sphere:SPHERE := SPHERE.create (VECTOR3(REAL_32).create (0,0,0),2,10,10);
+ vb:VERTEX_BUFFER;
diff --git a/gl_test/my_scene4.li b/gl_test/my_scene4.li
index 5c0f226..61ea068 100644
--- a/gl_test/my_scene4.li
+++ b/gl_test/my_scene4.li
@@ -57,12 +57,12 @@ Section Public
//
// origine de l'explosion
- - orig:VECTOR3[REAL_32] := VECTOR3[REAL_32].create (0.0,0,0.0);
+ - orig:VECTOR3(REAL_32) := VECTOR3(REAL_32).create (0.0,0,0.0);
- + camera:CAMERA := CAMERA.create_position (VECTOR3[REAL_32].create (0,20,-300));
+ + camera:CAMERA := CAMERA.create_position (VECTOR3(REAL_32).create (0,20,-300));
+ particle_system:PARTICLE_SYSTEM;
- + pf_pos:VECTOR3[REAL_32] := VECTOR3[REAL_32].create (-0.5,1.0,1.0);
+ + pf_pos:VECTOR3(REAL_32) := VECTOR3(REAL_32).create (-0.5,1.0,1.0);
+ constraint:CONSTRAINT;
@@ -71,9 +71,9 @@ Section Public
+ color_scheme:INTEGER;
- + modelview:MATRIX4[REAL_32];
-
+ + modelview:MATRIX4(REAL_32);
+
- initialize:BOOLEAN <-
(
camera.view.make (0, -20, 300);
@@ -88,7 +88,7 @@ Section Public
constraint := POINT_FORCE.create (pf_pos,0.8,0,0.001);
particle_system.add_constraint constraint;
- constraint := BOUNCE_PLANE.create (VECTOR3[REAL_32].create (0,1,0), 40);
+ constraint := BOUNCE_PLANE.create (VECTOR3(REAL_32).create (0,1,0), 40);
particle_system.add_constraint constraint;
@@ -96,16 +96,16 @@ Section Public
tex.set_wrapping_mode (tex.clamp);
tex := renderer.texture2d.create_from (IMAGE.create "data/flare.bmp");
- modelview := MATRIX4[REAL_32].create;
+ modelview := MATRIX4(REAL_32).create;
TRUE
);
- + dx:VECTOR3[REAL_32] := VECTOR3[REAL_32].create (0,0,0);
- + dy:VECTOR3[REAL_32] := VECTOR3[REAL_32].create (0,0,0);
+ + dx:VECTOR3(REAL_32) := VECTOR3(REAL_32).create (0,0,0);
+ + dy:VECTOR3(REAL_32) := VECTOR3(REAL_32).create (0,0,0);
+ curtime:REAL_32;
- + sphere:SPHERE := SPHERE.create (VECTOR3[REAL_32].create (0,0,0),2,10,10);
+ + sphere:SPHERE := SPHERE.create (VECTOR3(REAL_32).create (0,0,0),2,10,10);
- render t:REAL_32 <-
(
diff --git a/gl_test/my_scene5.li b/gl_test/my_scene5.li
index 2e3c9bd..7c2a207 100644
--- a/gl_test/my_scene5.li
+++ b/gl_test/my_scene5.li
@@ -51,21 +51,21 @@ Section Public
+ m1:MATERIAL;
+ m2:MATERIAL;
- + light_position:VECTOR3[REAL_32];
+ + light_position:VECTOR3(REAL_32);
- initialize:BOOLEAN <-
(
+ ambient,diffuse,specular,emission:COLOR;
+ shine:REAL_32;
- sphere1 := SPHERE.create (VECTOR3[REAL_32].create (-0.2,0,-1),0.2,100,100);
- sphere2 := SPHERE.create (VECTOR3[REAL_32].create (0.2,0,-1),0.2,100,100);
+ sphere1 := SPHERE.create (VECTOR3(REAL_32).create (-0.2,0,-1),0.2,100,100);
+ sphere2 := SPHERE.create (VECTOR3(REAL_32).create (0.2,0,-1),0.2,100,100);
ambient := RGB.create (0.2, 0.2, 0.2); // lumiere blanche
diffuse := RGB.create (1.0, 0.0, 1.0);
specular := RGB.create (1.0, 1.0, 1.0);
- light_position := VECTOR3[REAL_32].create (0,0,1);
+ light_position := VECTOR3(REAL_32).create (0,0,1);
light := renderer.light.create (ambient,diffuse,specular) at light_position;
ambient := RGB.create (0.7, 0.7, 0.7);
diff --git a/gl_test/my_scene6.li b/gl_test/my_scene6.li
index 2f38164..e0be02a 100644
--- a/gl_test/my_scene6.li
+++ b/gl_test/my_scene6.li
@@ -62,7 +62,7 @@ Section Public
// hierarchical display lists
sublist := GL_DISPLAY_LIST.create {
renderer.color_buffer.set_color3f (0.0, 1.0, 0.0);
- sphere := SPHERE.create (VECTOR3[REAL_32].create (-0.5,0,-1),0.06,10,10);
+ sphere := SPHERE.create (VECTOR3(REAL_32).create (-0.5,0,-1),0.06,10,10);
sphere.render;
};
@@ -76,7 +76,7 @@ Section Public
sublist.call;
};
renderer.color_buffer.set_color3f (1.0, 0.0, 0.0);
- sphere := SPHERE.create (VECTOR3[REAL_32].create (-0.5,0,-1),0.1,10,10);
+ sphere := SPHERE.create (VECTOR3(REAL_32).create (-0.5,0,-1),0.1,10,10);
sphere.render;
};
@@ -85,11 +85,11 @@ Section Public
diffuse := RGB.create (1.0, 1.0, 1.0);
specular := RGB.create (1.0, 1.0, 1.0);
- light := renderer.light.create (ambient,diffuse,specular) at (VECTOR3[REAL_32].create (0,0,1));
+ light := renderer.light.create (ambient,diffuse,specular) at (VECTOR3(REAL_32).create (0,0,1));
ambient := RGB.create (0.7, 0.7, 0.7);
diffuse := RGB.create (0.1, 0.5, 0.9);
- specular := RGB.create (0.0, 1.0, 1.0);
+ specular := RGB.create (0.0, 1.0, 1.0);
emission := RGB.create (0.3, 0.2, 0.2);
shine := 100.0;
diff --git a/gl_test/my_scene7.li b/gl_test/my_scene7.li
index 07d26de..f6d09d5 100644
--- a/gl_test/my_scene7.li
+++ b/gl_test/my_scene7.li
@@ -67,7 +67,7 @@ Section Public
diffuse := RGB.create (1.0, 0.0, 1.0);
specular := RGB.create (1.0, 1.0, 1.0);
- light := renderer.light.create (ambient,diffuse,specular) at (VECTOR3[REAL_32].create (0,1,1.5));
+ light := renderer.light.create (ambient,diffuse,specular) at (VECTOR3(REAL_32).create (0,1,1.5));
light.enable;
ambient := RGB.create (0.7, 0.7, 0.7);
diff --git a/gl_test/my_scene8.li b/gl_test/my_scene8.li
index dd22488..6be4b6f 100644
--- a/gl_test/my_scene8.li
+++ b/gl_test/my_scene8.li
@@ -79,7 +79,7 @@ Section Public
specular := RGB.create (1.0, 1.0, 1.0);
// create a light
- light := renderer.light.create (ambient,diffuse,specular) at (VECTOR3[REAL_32].create (0,10,-200));
+ light := renderer.light.create (ambient,diffuse,specular) at (VECTOR3(REAL_32).create (0,10,-200));
light.set_directional;
light.enable;
diff --git a/gl_test/my_scene9.li b/gl_test/my_scene9.li
index 308929b..d364220 100644
--- a/gl_test/my_scene9.li
+++ b/gl_test/my_scene9.li
@@ -57,7 +57,7 @@ Section Public
// Picking demo
//
- + obj:FAST_ARRAY[MY_OBJECT];
+ + obj:FAST_ARRAY(MY_OBJECT);
+ camera:CAMERA;
@@ -66,7 +66,7 @@ Section Public
+ sphere:SPHERE;
+ cylinder:CYLINDER;
+ cone:CONE;
- + pos,rot:VECTOR3[REAL_32];
+ + pos,rot:VECTOR3(REAL_32);
+ list:DISPLAY_LIST;
camera := CAMERA.create;
@@ -75,14 +75,14 @@ Section Public
camera.view.make (0,-1,10);
camera.view.normalize;
- pos := VECTOR3[REAL_32].zero;
- rot := VECTOR3[REAL_32].zero;
+ pos := VECTOR3(REAL_32).zero;
+ rot := VECTOR3(REAL_32).zero;
sphere := SPHERE.create (pos,1,10,10);
cylinder := CYLINDER.create (pos,1,1,2,10,10);
cone := CONE.create (pos,1,2,10);
- obj := FAST_ARRAY[MY_OBJECT].create_with_capacity 3;
+ obj := FAST_ARRAY(MY_OBJECT).create_with_capacity 3;
// object #1
list := renderer.display_list.create {
@@ -125,7 +125,7 @@ Section Public
camera.look;
update_objects;
- draw_objects FALSE;
+ draw_objects FALSE;
x := renderer.width / 2 - 50;
renderer.font.print_zone {
@@ -144,7 +144,7 @@ Section Public
out.print "No selected object" at (x,500);
};
};
- );
+ );
- update_objects <-
(
@@ -167,9 +167,9 @@ Section Public
};
);
- - hits:FAST_ARRAY[UINTEGER_32] := FAST_ARRAY[UINTEGER_32].create 512;
+ - hits:FAST_ARRAY(UINTEGER_32) := FAST_ARRAY(UINTEGER_32).create 512;
- - process_hits (nb_hits:INTEGER, buffer:FAST_ARRAY[UINTEGER_32]) <-
+ - process_hits (nb_hits:INTEGER, buffer:FAST_ARRAY(UINTEGER_32)) <-
(
+ choose,depth:UINTEGER_32;
diff --git a/gl_test/test_scene.li b/gl_test/test_scene.li
index 460b1b8..5be5898 100644
--- a/gl_test/test_scene.li
+++ b/gl_test/test_scene.li
@@ -37,14 +37,14 @@ Section Public
GL.gl_vertex3f (0.0, 2.0, 0.0);
GL.gl_color3f (1, 0, 0);
-
+
GL.gl_vertex3f (-1.0, 0.0, 0.0);
GL.gl_color3f (0, 1, 0);
GL.gl_vertex3f (1.0, 0.0, 0.0);
GL.gl_color3f (0, 0, 1);
- GL.gl_end;
+ GL.gl_end;
);
- release <-
diff --git a/uml/parsing.li b/uml/parsing.li
index a619c88..3b34e1a 100644
--- a/uml/parsing.li
+++ b/uml/parsing.li
@@ -1,492 +1,492 @@
-/******* Prototype qui permet de recuperer toutes les informations relative a un fichier.li *******/
-
-
-
-Section Header
- + name := PARSING;
- - author:="HILBERT Jerome (hilbertjerome at gmail.com), FUHLHABER Simon(simon.fuhlhaber at gmail.com), Jacquemin Gregoire(greg-jacquemin at hotmail.fr)";
-
-Section Inherit
- + parent_object:OBJECT := OBJECT;
-
-Section Private
- + buffer1:STRING;
- + simple:BOOLEAN :=FALSE;
- + uniquement_public:BOOLEAN:=FALSE;
-
-Section Public
-
- //recupere le contenu du fichier et renvoit une instance de FICHIER contenant ses informations
- + parcours_fichier e:ENTRY option simple1:BOOLEAN ou uniquement_public1:BOOLEAN :FICHIER <-
- (
- + lee:LIREETECRIRE;
- + f:FICHIER;
- + nom:STRING;
-
- simple:=simple1;
- uniquement_public:=uniquement_public1;
- f:=FICHIER.clone;
- lee:=LIREETECRIRE.clone;
- e.path.print;
- "\n".print;
- buffer1:=lee.lire e;
- buffer1.append "\n";
- buffer1.to_lower;
- le_nettoyeur3;
- nom:=get_element "name" in "Header";
- f.make (nom,(get_methodes nom),(get_attributs nom),get_parents);
- f
- );
-
-Section Private
-
- //nettoie le fichier en enlevant tous les commentaires, ce qui se trouve entre "" et entre ()
- //->il ne restera que ce qu'il faut analyser!
-
- - le_nettoyeur3 <-
- (
- + index,index2,index_g,index_c,index_po,index_pf,index_p:INTEGER;
- + nb_p:INTEGER;
- + calcul_index:BLOCK;
- index:=1;
- nb_p:=0;
- //calcul des index
- calcul_index:={index_g:=buffer1.index_of '"' since index;
- index_c:=buffer1.index_of '/' since index;
- index_pf:=buffer1.index_of ')' since index;
- index_po:=buffer1.index_of '(' since index;
- index:=(index_g.min index_c).min (index_po.min index_pf);
- };
-
- calcul_index.value;
- {index<(buffer1.count+1)}.while_do{
- ({index_g=index}&&{buffer1.item (index_g-1) != '\\'}&&{!({buffer1.item (index_g-1) = '\''}&&{buffer1.item (index_g+1) = '\''})}).if{
- //on enl�ve ce qui est entre ""
- index2:=index+1;
- {{(index2:=buffer1.index_of '"' since (index2))!=(buffer1.count+1)}&&
- {{buffer1.item (index2-1) = '\\'}||
- {{buffer1.item (index2-1) = '\''}&&{buffer1.item (index2+1) = '\''}}}}.while_do{
- index2:=index2+1;};
- (index2=(buffer1.count+1)).if_false{
- buffer1.remove_between index to index2;
- };
- }else{
- //suppression des commentaires //
- ({index_c=index}&&{buffer1.item (index_c+1) = '/'}).if{
- index2:=buffer1.index_of '\n' since (index_c+2);
- buffer1.remove_between index to (index2-1);
- }else{
- //suppression des commentaires /* */
- ({index_c=index}&&{buffer1.item (index_c+1) = '*'}).if{
- ((index2:=buffer1.substring_index ("*/",index_c+2))!=0).if{
- buffer1.remove_between index to (index2+1);
- };
- }else{
- //comptage des (
- ({index_po=index}&&{!({buffer1.item (index_po-1)='\''}&&{buffer1.item (index_po+1)='\''})}).if{
- (nb_p=0).if{index_p:=index;};
- nb_p:=nb_p+1;
- index:=index+1;
- }else{
- //d�comptage des ) et suppression des zones entre parenth�ses
- ({index_pf=index}&&{!({buffer1.item (index_pf-1)='\''}&&{buffer1.item (index_pf+1)='\''})}).if{
- nb_p:=nb_p-1;
- (nb_p=0).if{
- buffer1.remove_between index_p to (index_pf+1);
- index:=index_p;
- }else{index:=index+1;};
- }else{index:=index+1;};
- };
- };
- };
- };
- //calcul des nouveaux index
- /*index_g:=buffer1.index_of '"' since index;
- index_c:=buffer1.index_of '/' since index;
- index_pf:=buffer1.index_of ')' since index;
- index_po:=buffer1.index_of '(' since index;
- index:=(index_g.min index_c).min (index_po.min index_pf);*/
- calcul_index.value;
- };
- );
-
- //renvoit la section s, par exemple si s vaut HEADER, renvoit l'ensemble de la section HEADER. S'il y a plusieurs section du m�me nom,
- //renvoit les sections concat�n�es
- - get_section s:ABSTRACT_STRING :STRING <-
- (
- + section1:STRING;
- + index,index0:INTEGER;
- + index2:INTEGER;
- + texto:STRING;
-
- index2:=1;
- texto:=STRING.create (s.count);
- section1:=STRING.create 256;
- section1.copy "";
- texto.copy s;
- texto.to_lower;
-
- {(index0:=buffer1.substring_index ("section",index2))!=0}.while_do{
- index:=index0+7;
- {{buffer1.item index ==' '}||{buffer1.item index =='\n'}}.while_do{index:=index+1;};
- (buffer1.substring index to (index+s.count-1) ==texto).if{
- index0:=index+s.count;
- index2:=index0-7;
- {
- index:=index2+7;
- index2:=buffer1.substring_index ("section",(index));
- }.do_while{{index2!=0}&&{{{(buffer1.item (index2-1))!='\n'}&&{(buffer1.item (index2-1))!=' '}}||{{(buffer1.item (index2+7))!=' '}&&{(buffer1.item (index2+7))!='\n'}}}};
-
- (index2==0).if{
- index2:=buffer1.count;
- };
- section1.append (buffer1.substring index0 to (index2-1));
- }else{index2:=index2+8;};
- // "index2 ".print;index2.print;'\n'.print;
- // "buffer1 ".print;buffer1.count.print;'\n'.print;
- };
- section1
- );
-
-Section Public
-
- // renvoit un �l�ment d'une section, pour l'instant cette m�thode ne sert qu'� r�cup�rer le 'name' dans la section HEADER
- // mais elle pourrait servir �galement � r�cup�rer les auteur, les commentaires, etc..
- - get_element nom:STRING_CONSTANT in s:STRING_CONSTANT :STRING <-
- (
- + index,index2,index3:INTEGER;
- + section1:STRING;
- + element:STRING;
-
- section1:=get_section s;
- index:=section1.substring_index (nom,1);
- index:=section1.substring_index (":=",(index+nom.count));
- index2:=section1.substring_index (";",(index+nom.count));
- index3:=section1.substring_index ("->",(index+nom.count));
- (index3>0).if{index2:=index2.min(index3-1)};
-
- element:=STRING.create (index2-index+2);
- element.copy (section1.substring (index+2) to (index2-1));
- element.remove_all_occurrences ' ';
- element.remove_all_occurrences '\n';
- element
-);
-//renvoit l'ensemble des parents d'un prototype
-- get_parents :ENS_PARENTS <-
-(
- + section1:STRING;
- + index:INTEGER;
- + index2:INTEGER;
- + parents:ENS_PARENTS;
- + parent:STRING;
-
- parents:=ENS_PARENTS.create;
- section1:=get_section "INHERIT";
- index:=1;
- index2:=1;
-
- {(index:=section1.substring_index (":",(index2+1)))!=0}.while_do{
- ((section1.item (index+1))=='=').if_false{
- ((index2:=section1.substring_index ("expanded",(index+1)))!=0).if{
- index:=index2+7;
- };
- ((index2:=section1.substring_index (":=",(index+1)))==0).if{
- ((index2:=section1.substring_index (";",index))==0).if{
- index2:=section1.substring_index ("<" ,index);
- };
- };
-
-
- parent:=STRING.create (index2-index-2);
- parent.copy (section1.substring (index+1) to (index2-1));
- parent.remove_all_occurrences ' ';
- parent.remove_all_occurrences '\n';
- parent.to_upper;
- (parents.has parent).if_false{
- parents.ajouter parent;
- };
- }else{
- index2:=index+1;
- };
- };
- parents
-);
-
-//recherche des attributs
-- get_attributs nom:STRING :ENS_ATTRIBUTS <-
-(
- + ea:ENS_ATTRIBUTS;
- + pro:PROTECTED;
-
- pro:=PROTECTED.clone;
- pro.set_nom nom;
-
- ea:=ENS_ATTRIBUTS.create;
- (simple).if_false{
- ea.append_collection (get_attributs2 PUBLIC);
- (uniquement_public).if_false{
- ea.append_collection (get_attributs2 PRIVATE);
- ea.append_collection (get_attributs2 pro);
- };
- };
- ea
-);
-//recherche des attributs selon un acc�s (public,private,..)
-- get_attributs2 acces:ACCES :ENS_ATTRIBUTS <-
-(
- + index,index2,index3:INTEGER;
- + ea:ENS_ATTRIBUTS;
- + section1:STRING;
- + tmp_string:STRING;
- ea:=ENS_ATTRIBUTS.create;
-
-section1:=get_section (acces.get_type);
-
- index:=0;
- {index!=(section1.count+1)}.while_do{
- index2:=index3:=index;
- {
- index:=index+1;
- index:=section1.index_of '+' since index;
- }.do_while {
- ((index > section1.lower) && {section1.item (index-1)='\''}) &&
-{(index < section1.upper) && {section1.item (index+1)='\''}}
-};
-
-{
- index2:=index2+1;
- index2:=section1.index_of '-' since index2;
-}.do_while{
- ((index2 > section1.lower) && {section1.item (index2-1)='<'}) || {
- {(index2 > section1.lower) && {section1.item (index2-1)='\''}} &&
- {(index2 < section1.upper) && {section1.item (index2+1)='\''}}
- }
-};
-
-{
- index3:=index3+1;
- index3:=section1.index_of '*' since index3;
-}.do_while {
-((index3 > section1.lower) && {section1.item (index3-1)='\''}) &&
-{(index3 < section1.upper) && {section1.item (index3+1)='\''}}
-};
-index:=index.min index2.min index3;
-
-(index != section1.count+1).if {
-
- // index2:=section1.index_of ';' since (index+1);
- index2:=section1.substring_index (":=",(index+1));
- index3:=section1.index_of ';' since (index+1);
- ({index2>index3}||{index2==0}).if{index2:=index3;};
-
- index3:=section1.substring_index ("<-",(index+1));
- ({index2<index3}||{index3==0}).if{
- index2:=index2.min((section1.index_of '=' since (index+1))-1);
- tmp_string:=section1.substring (index+1) to (index2-1);
- ((tmp_string.index_of ':' since 1)!=(tmp_string.count+1)).if{
- ea.append_collection (get_attribut tmp_string with acces);
- };
- };
-};
-};
-ea
-);
-//analyse une chaine correspondant a un ('i:INTEGER') ou plusieurs ('i,j:INTEGER') attribut(s) et renvoit un ensemble d'attributs
-- get_attribut a:STRING with acces:ACCES :ENS_ATTRIBUTS <-
-(
- + attribut:ATTRIBUT;
- + index,index2,index3:INTEGER;
- + nom,type_retour:STRING;
- + ea:ENS_ATTRIBUTS;
-
- ea:=ENS_ATTRIBUTS.create;
- a.remove_all_occurrences ' ';
- a.remove_all_occurrences '\n';
-
- index:=a.index_of ':' since 1;
- type_retour:=a.substring (index+1) to (a.count);
- type_retour.to_upper;
-
- index2:=1;
- {{(index3:=a.index_of ',' since (index2))!=(a.count+1)}&&{index3<index}}.while_do{
- attribut:=ATTRIBUT.clone;
- nom:=a.substring index2 to (index3-1);
- attribut.make (nom,type_retour,acces);
- ea.add_last attribut;
- index2:=index3+1;
- };
- attribut:=ATTRIBUT.clone;
- nom:=a.substring index2 to (index-1);
- attribut.make (nom,type_retour,acces);
- ea.add_last attribut;
- ea
-);
-
-Section Public
-
- //recherche des attributs
- - get_methodes nom:STRING :ENS_METHODES <-
- (
- + em:ENS_METHODES;
- + pro:PROTECTED;
-
- pro:=PROTECTED.clone;
- pro.set_nom nom;
-
- em:=ENS_METHODES.create;
- (simple).if_false{
- em.append_collection (get_methodes2 PUBLIC);
- (uniquement_public).if_false{
- em.append_collection (get_methodes2 PRIVATE);
- em.append_collection (get_methodes2 pro);
- };
- };
- em
- );
- //recherche des attributs selon un acces(public,private,..)
- - get_methodes2 acces:ACCES:ENS_METHODES <-
- (
- + index,index2,index3:INTEGER;
- + em:ENS_METHODES;
- + section1:STRING;
- + tmp_string:STRING;
- em:=ENS_METHODES.create;
- section1:=get_section (acces.get_type);
- "section\t".print;section1.print;'\n'.print;
-
- index:=0;
- {index!=(section1.count+1)}.while_do{
- index2:=index3:=index;
- {
- index:=index+1;
- index:=section1.index_of '+' since index;
- }.do_while {
- ((index > section1.lower) && {section1.item (index-1)='\''}) &&
- {(index < section1.upper) && {section1.item (index+1)='\''}}
- };
-
- {
- index2:=index2+1;
- index2:=section1.index_of '-' since index2;
- }.do_while {
- ((index2 > section1.lower) && {section1.item (index2-1)='<'}) || {
- ((index2 > section1.lower) && {section1.item (index2-1)='\''}) && {
- (index2 < section1.upper) && { section1.item (index2+1)='\''}
- }
- }
- };
-
- {
- index3:=index3+1;
- index3:=section1.index_of '*' since index3;
- }.do_while {
- ((index3 > section1.lower) && {section1.item (index3-1)='\''}) &&
- {(index3 < section1.upper) && {section1.item (index3+1)='\''}}
- };
-
-
- index:=index.min index2.min index3;
- (index!=(section1.count+1)).if{
- // index2:=section1.index_of ';' since (index+1);
- index2:=section1.substring_index (":=",(index+1));
- index3:=section1.index_of ';' since (index+1);
- ({index2>index3}||{index2==0}).if{index2:=index3;};
- index3:=section1.substring_index ("<-",(index+1));
- ({{index2>index3}||{index2==(section1.count+1)}}&&{index3!=0}).if{
- tmp_string:=section1.substring (index+1) to (index3-1);
- em.add_last (get_methode (tmp_string,acces));
- };
- };
- };
- em
-);
-
-Section Public
-
- - get_methode (m:STRING,acces:ACCES) :METHODE <-
- (
- + index,index2,index3:INTEGER;
- + nom,type_retour,tmp_string2:STRING;
- + methode:METHODE;
- + ea:ENS_ATTRIBUTS;
-
- ea:=ENS_ATTRIBUTS.create;
- methode:=METHODE.clone;
- m.right_adjust; m.left_adjust;
- type_retour:=STRING.create 4;
- type_retour.copy "void";
- m.replace_all '\t' with ' ';
- m.append " ";
- index:=(m.index_of ' ' since 1).min(m.index_of ':' since 1).min(m.index_of '(' since 1);
- nom:= m.substring 1 to (index-1);
- nom.replace_all '<' with 'c';
- nom.replace_all '&' with 'e';
- {(index2:=m.index_of ':' since (index))!=(m.count+1)}.while_do{
- ((index2-index)<2).if{
- type_retour:=m.substring (index2+1) to (m.count-1);
- index:=m.count;
- }else{
- + idx_end_type,last_idx:INTEGER;
- + tmp_string3:STRING;
-
- index3:=(m.index_of ' ' since (index2+1)).min(m.index_of ')' since (index2+1));
- tmp_string2:=m.substring (index+1) to (index3-1);
- last_idx := tmp_string2.lower;
- {
- (
- idx_end_type := tmp_string2.index_of ':' since last_idx;
- idx_end_type := tmp_string2.index_of ',' since (idx_end_type+1)
- ) != tmp_string2.count+1
- }.while_do {
- tmp_string3 := tmp_string2.substring last_idx to (idx_end_type-1);
- "parametres méthodes\t".print;tmp_string3.print;'\n'.print;
- last_idx := idx_end_type + 1;
- ea.append_collection(get_attribut tmp_string3 with acces);
- };
- /*
- ((tmp_string2.occurrences ':')>1).if{
- index3:=m.index_of ':' since (index2+1);
- tmp_string2:=m.substring (index+1) to (index3-1);
- };
- */
- index:=index3;
- };
- };
- type_retour.to_upper;
- methode.make (nom,type_retour,ea,acces);
- methode
- );
-
-
-/*
- + le_nettoyeur4 <-
- (
- + idx_prefix,idx_end:INTEGER;
- idx_prefix := 1;
- { idx_prefix != buffer1.count+1 }.while_do{
- idx_prefix := buffer1.substring_index "//" since idx_prefix;
- (buffer1.item (idx_prefix-1) != '\\').if{
- idx_end := buffer1.index_of '\\n' since idx_prefix;
- buffer1.remove_between idx_prefix to idx_end;
- };
- };
- idx_prefix := 1;
- { idx_prefix != buffer1.count+1 }.while_do{
- idx_prefix := buffer1.substring_index "/*" since idx_prefix;
- (buffer1.item (idx_prefix-1) != '\\').if{
- idx_end := buffer1.substring_index "*/" since idx_prefix;
- (buffer1.item (idx_end-1) != '\\').if{
- buffer1.remove_between idx_prefix to (idx_end+1);
- };
- };
- };
- idx_prefix := 1;
- {
- ( idx_prefix := (buffer1.index_of '+' since idx_prefix ).min (buffer1.index_of '-' since idx_prefix);
- idx_end := (buffer1.index_of ';' since idx_prefix).min (buffer1.substring_index "<-" since idx_prefix).min (buffer1.substring_index ":=" since idx_prefix)
- ) != buffer1.count+1
- }.while_do{
-
- };
- );
+/******* Prototype qui permet de recuperer toutes les informations relative a un fichier.li *******/
+
+
+
+Section Header
+ + name := PARSING;
+ - author:="HILBERT Jerome (hilbertjerome at gmail.com), FUHLHABER Simon(simon.fuhlhaber at gmail.com), Jacquemin Gregoire(greg-jacquemin at hotmail.fr)";
+
+Section Inherit
+ + parent_object:OBJECT := OBJECT;
+
+Section Private
+ + buffer1:STRING;
+ + simple:BOOLEAN :=FALSE;
+ + uniquement_public:BOOLEAN:=FALSE;
+
+Section Public
+
+ //recupere le contenu du fichier et renvoit une instance de FICHIER contenant ses informations
+ + parcours_fichier e:ENTRY option simple1:BOOLEAN ou uniquement_public1:BOOLEAN :FICHIER <-
+ (
+ + lee:LIREETECRIRE;
+ + f:FICHIER;
+ + nom:STRING;
+
+ simple:=simple1;
+ uniquement_public:=uniquement_public1;
+ f:=FICHIER.clone;
+ lee:=LIREETECRIRE.clone;
+ e.path.print;
+ "\n".print;
+ buffer1:=lee.lire e;
+ buffer1.append "\n";
+ buffer1.to_lower;
+ le_nettoyeur3;
+ nom:=get_element "name" in "Header";
+ f.make (nom,(get_methodes nom),(get_attributs nom),get_parents);
+ f
+ );
+
+Section Private
+
+ //nettoie le fichier en enlevant tous les commentaires, ce qui se trouve entre "" et entre ()
+ //->il ne restera que ce qu'il faut analyser!
+
+ - le_nettoyeur3 <-
+ (
+ + index,index2,index_g,index_c,index_po,index_pf,index_p:INTEGER;
+ + nb_p:INTEGER;
+ + calcul_index:BLOCK;
+ index:=1;
+ nb_p:=0;
+ //calcul des index
+ calcul_index:={index_g:=buffer1.index_of '"' since index;
+ index_c:=buffer1.index_of '/' since index;
+ index_pf:=buffer1.index_of ')' since index;
+ index_po:=buffer1.index_of '(' since index;
+ index:=(index_g.min index_c).min (index_po.min index_pf);
+ };
+
+ calcul_index.value;
+ {index<(buffer1.count+1)}.while_do{
+ ({index_g=index}&&{buffer1.item (index_g-1) != '\\'}&&{!({buffer1.item (index_g-1) = '\''}&&{buffer1.item (index_g+1) = '\''})}).if{
+ //on enl�ve ce qui est entre ""
+ index2:=index+1;
+ {{(index2:=buffer1.index_of '"' since (index2))!=(buffer1.count+1)}&&
+ {{buffer1.item (index2-1) = '\\'}||
+ {{buffer1.item (index2-1) = '\''}&&{buffer1.item (index2+1) = '\''}}}}.while_do{
+ index2:=index2+1;};
+ (index2=(buffer1.count+1)).if_false{
+ buffer1.remove_between index to index2;
+ };
+ }else{
+ //suppression des commentaires //
+ ({index_c=index}&&{buffer1.item (index_c+1) = '/'}).if{
+ index2:=buffer1.index_of '\n' since (index_c+2);
+ buffer1.remove_between index to (index2-1);
+ }else{
+ //suppression des commentaires /* */
+ ({index_c=index}&&{buffer1.item (index_c+1) = '*'}).if{
+ ((index2:=buffer1.substring_index ("*/",index_c+2))!=0).if{
+ buffer1.remove_between index to (index2+1);
+ };
+ }else{
+ //comptage des (
+ ({index_po=index}&&{!({buffer1.item (index_po-1)='\''}&&{buffer1.item (index_po+1)='\''})}).if{
+ (nb_p=0).if{index_p:=index;};
+ nb_p:=nb_p+1;
+ index:=index+1;
+ }else{
+ //d�comptage des ) et suppression des zones entre parenth�ses
+ ({index_pf=index}&&{!({buffer1.item (index_pf-1)='\''}&&{buffer1.item (index_pf+1)='\''})}).if{
+ nb_p:=nb_p-1;
+ (nb_p=0).if{
+ buffer1.remove_between index_p to (index_pf+1);
+ index:=index_p;
+ }else{index:=index+1;};
+ }else{index:=index+1;};
+ };
+ };
+ };
+ };
+ //calcul des nouveaux index
+ /*index_g:=buffer1.index_of '"' since index;
+ index_c:=buffer1.index_of '/' since index;
+ index_pf:=buffer1.index_of ')' since index;
+ index_po:=buffer1.index_of '(' since index;
+ index:=(index_g.min index_c).min (index_po.min index_pf);*/
+ calcul_index.value;
+ };
+ );
+
+ //renvoit la section s, par exemple si s vaut HEADER, renvoit l'ensemble de la section HEADER. S'il y a plusieurs section du m�me nom,
+ //renvoit les sections concat�n�es
+ - get_section s:ABSTRACT_STRING :STRING <-
+ (
+ + section1:STRING;
+ + index,index0:INTEGER;
+ + index2:INTEGER;
+ + texto:STRING;
+
+ index2:=1;
+ texto:=STRING.create (s.count);
+ section1:=STRING.create 256;
+ section1.copy "";
+ texto.copy s;
+ texto.to_lower;
+
+ {(index0:=buffer1.substring_index ("section",index2))!=0}.while_do{
+ index:=index0+7;
+ {{buffer1.item index ==' '}||{buffer1.item index =='\n'}}.while_do{index:=index+1;};
+ (buffer1.substring index to (index+s.count-1) ==texto).if{
+ index0:=index+s.count;
+ index2:=index0-7;
+ {
+ index:=index2+7;
+ index2:=buffer1.substring_index ("section",(index));
+ }.do_while{{index2!=0}&&{{{(buffer1.item (index2-1))!='\n'}&&{(buffer1.item (index2-1))!=' '}}||{{(buffer1.item (index2+7))!=' '}&&{(buffer1.item (index2+7))!='\n'}}}};
+
+ (index2==0).if{
+ index2:=buffer1.count;
+ };
+ section1.append (buffer1.substring index0 to (index2-1));
+ }else{index2:=index2+8;};
+ // "index2 ".print;index2.print;'\n'.print;
+ // "buffer1 ".print;buffer1.count.print;'\n'.print;
+ };
+ section1
+ );
+
+Section Public
+
+ // renvoit un �l�ment d'une section, pour l'instant cette m�thode ne sert qu'� r�cup�rer le 'name' dans la section HEADER
+ // mais elle pourrait servir �galement � r�cup�rer les auteur, les commentaires, etc..
+ - get_element nom:STRING_CONSTANT in s:STRING_CONSTANT :STRING <-
+ (
+ + index,index2,index3:INTEGER;
+ + section1:STRING;
+ + element:STRING;
+
+ section1:=get_section s;
+ index:=section1.substring_index (nom,1);
+ index:=section1.substring_index (":=",(index+nom.count));
+ index2:=section1.substring_index (";",(index+nom.count));
+ index3:=section1.substring_index ("->",(index+nom.count));
+ (index3>0).if{index2:=index2.min(index3-1)};
+
+ element:=STRING.create (index2-index+2);
+ element.copy (section1.substring (index+2) to (index2-1));
+ element.remove_all_occurrences ' ';
+ element.remove_all_occurrences '\n';
+ element
+);
+//renvoit l'ensemble des parents d'un prototype
+- get_parents :ENS_PARENTS <-
+(
+ + section1:STRING;
+ + index:INTEGER;
+ + index2:INTEGER;
+ + parents:ENS_PARENTS;
+ + parent:STRING;
+
+ parents:=ENS_PARENTS.create;
+ section1:=get_section "INHERIT";
+ index:=1;
+ index2:=1;
+
+ {(index:=section1.substring_index (":",(index2+1)))!=0}.while_do{
+ ((section1.item (index+1))=='=').if_false{
+ ((index2:=section1.substring_index ("expanded",(index+1)))!=0).if{
+ index:=index2+7;
+ };
+ ((index2:=section1.substring_index (":=",(index+1)))==0).if{
+ ((index2:=section1.substring_index (";",index))==0).if{
+ index2:=section1.substring_index ("<" ,index);
+ };
+ };
+
+
+ parent:=STRING.create (index2-index-2);
+ parent.copy (section1.substring (index+1) to (index2-1));
+ parent.remove_all_occurrences ' ';
+ parent.remove_all_occurrences '\n';
+ parent.to_upper;
+ (parents.has parent).if_false{
+ parents.ajouter parent;
+ };
+ }else{
+ index2:=index+1;
+ };
+ };
+ parents
+);
+
+//recherche des attributs
+- get_attributs nom:STRING :ENS_ATTRIBUTS <-
+(
+ + ea:ENS_ATTRIBUTS;
+ + pro:PROTECTED;
+
+ pro:=PROTECTED.clone;
+ pro.set_nom nom;
+
+ ea:=ENS_ATTRIBUTS.create;
+ (simple).if_false{
+ ea.append_collection (get_attributs2 PUBLIC);
+ (uniquement_public).if_false{
+ ea.append_collection (get_attributs2 PRIVATE);
+ ea.append_collection (get_attributs2 pro);
+ };
+ };
+ ea
+);
+//recherche des attributs selon un acc�s (public,private,..)
+- get_attributs2 acces:ACCES :ENS_ATTRIBUTS <-
+(
+ + index,index2,index3:INTEGER;
+ + ea:ENS_ATTRIBUTS;
+ + section1:STRING;
+ + tmp_string:STRING;
+ ea:=ENS_ATTRIBUTS.create;
+
+section1:=get_section (acces.get_type);
+
+ index:=0;
+ {index!=(section1.count+1)}.while_do{
+ index2:=index3:=index;
+ {
+ index:=index+1;
+ index:=section1.index_of '+' since index;
+ }.do_while {
+ ((index > section1.lower) && {section1.item (index-1)='\''}) &&
+{(index < section1.upper) && {section1.item (index+1)='\''}}
+};
+
+{
+ index2:=index2+1;
+ index2:=section1.index_of '-' since index2;
+}.do_while{
+ ((index2 > section1.lower) && {section1.item (index2-1)='<'}) || {
+ {(index2 > section1.lower) && {section1.item (index2-1)='\''}} &&
+ {(index2 < section1.upper) && {section1.item (index2+1)='\''}}
+ }
+};
+
+{
+ index3:=index3+1;
+ index3:=section1.index_of '*' since index3;
+}.do_while {
+((index3 > section1.lower) && {section1.item (index3-1)='\''}) &&
+{(index3 < section1.upper) && {section1.item (index3+1)='\''}}
+};
+index:=index.min index2.min index3;
+
+(index != section1.count+1).if {
+
+ // index2:=section1.index_of ';' since (index+1);
+ index2:=section1.substring_index (":=",(index+1));
+ index3:=section1.index_of ';' since (index+1);
+ ({index2>index3}||{index2==0}).if{index2:=index3;};
+
+ index3:=section1.substring_index ("<-",(index+1));
+ ({index2<index3}||{index3==0}).if{
+ index2:=index2.min((section1.index_of '=' since (index+1))-1);
+ tmp_string:=section1.substring (index+1) to (index2-1);
+ ((tmp_string.index_of ':' since 1)!=(tmp_string.count+1)).if{
+ ea.append_collection (get_attribut tmp_string with acces);
+ };
+ };
+};
+};
+ea
+);
+//analyse une chaine correspondant a un ('i:INTEGER') ou plusieurs ('i,j:INTEGER') attribut(s) et renvoit un ensemble d'attributs
+- get_attribut a:STRING with acces:ACCES :ENS_ATTRIBUTS <-
+(
+ + attribut:ATTRIBUT;
+ + index,index2,index3:INTEGER;
+ + nom,type_retour:STRING;
+ + ea:ENS_ATTRIBUTS;
+
+ ea:=ENS_ATTRIBUTS.create;
+ a.remove_all_occurrences ' ';
+ a.remove_all_occurrences '\n';
+
+ index:=a.index_of ':' since 1;
+ type_retour:=a.substring (index+1) to (a.count);
+ type_retour.to_upper;
+
+ index2:=1;
+ {{(index3:=a.index_of ',' since (index2))!=(a.count+1)}&&{index3<index}}.while_do{
+ attribut:=ATTRIBUT.clone;
+ nom:=a.substring index2 to (index3-1);
+ attribut.make (nom,type_retour,acces);
+ ea.add_last attribut;
+ index2:=index3+1;
+ };
+ attribut:=ATTRIBUT.clone;
+ nom:=a.substring index2 to (index-1);
+ attribut.make (nom,type_retour,acces);
+ ea.add_last attribut;
+ ea
+);
+
+Section Public
+
+ //recherche des attributs
+ - get_methodes nom:STRING :ENS_METHODES <-
+ (
+ + em:ENS_METHODES;
+ + pro:PROTECTED;
+
+ pro:=PROTECTED.clone;
+ pro.set_nom nom;
+
+ em:=ENS_METHODES.create;
+ (simple).if_false{
+ em.append_collection (get_methodes2 PUBLIC);
+ (uniquement_public).if_false{
+ em.append_collection (get_methodes2 PRIVATE);
+ em.append_collection (get_methodes2 pro);
+ };
+ };
+ em
+ );
+ //recherche des attributs selon un acces(public,private,..)
+ - get_methodes2 acces:ACCES:ENS_METHODES <-
+ (
+ + index,index2,index3:INTEGER;
+ + em:ENS_METHODES;
+ + section1:STRING;
+ + tmp_string:STRING;
+ em:=ENS_METHODES.create;
+ section1:=get_section (acces.get_type);
+ "section\t".print;section1.print;'\n'.print;
+
+ index:=0;
+ {index!=(section1.count+1)}.while_do{
+ index2:=index3:=index;
+ {
+ index:=index+1;
+ index:=section1.index_of '+' since index;
+ }.do_while {
+ ((index > section1.lower) && {section1.item (index-1)='\''}) &&
+ {(index < section1.upper) && {section1.item (index+1)='\''}}
+ };
+
+ {
+ index2:=index2+1;
+ index2:=section1.index_of '-' since index2;
+ }.do_while {
+ ((index2 > section1.lower) && {section1.item (index2-1)='<'}) || {
+ ((index2 > section1.lower) && {section1.item (index2-1)='\''}) && {
+ (index2 < section1.upper) && { section1.item (index2+1)='\''}
+ }
+ }
+ };
+
+ {
+ index3:=index3+1;
+ index3:=section1.index_of '*' since index3;
+ }.do_while {
+ ((index3 > section1.lower) && {section1.item (index3-1)='\''}) &&
+ {(index3 < section1.upper) && {section1.item (index3+1)='\''}}
+ };
+
+
+ index:=index.min index2.min index3;
+ (index!=(section1.count+1)).if{
+ // index2:=section1.index_of ';' since (index+1);
+ index2:=section1.substring_index (":=",(index+1));
+ index3:=section1.index_of ';' since (index+1);
+ ({index2>index3}||{index2==0}).if{index2:=index3;};
+ index3:=section1.substring_index ("<-",(index+1));
+ ({{index2>index3}||{index2==(section1.count+1)}}&&{index3!=0}).if{
+ tmp_string:=section1.substring (index+1) to (index3-1);
+ em.add_last (get_methode (tmp_string,acces));
+ };
+ };
+ };
+ em
+);
+
+Section Public
+
+ - get_methode (m:STRING,acces:ACCES) :METHODE <-
+ (
+ + index,index2,index3:INTEGER;
+ + nom,type_retour,tmp_string2:STRING;
+ + methode:METHODE;
+ + ea:ENS_ATTRIBUTS;
+
+ ea:=ENS_ATTRIBUTS.create;
+ methode:=METHODE.clone;
+ m.right_adjust; m.left_adjust;
+ type_retour:=STRING.create 4;
+ type_retour.copy "void";
+ m.replace_all '\t' with ' ';
+ m.append " ";
+ index:=(m.index_of ' ' since 1).min(m.index_of ':' since 1).min(m.index_of '(' since 1);
+ nom:= m.substring 1 to (index-1);
+ nom.replace_all '<' with 'c';
+ nom.replace_all '&' with 'e';
+ {(index2:=m.index_of ':' since (index))!=(m.count+1)}.while_do{
+ ((index2-index)<2).if{
+ type_retour:=m.substring (index2+1) to (m.count-1);
+ index:=m.count;
+ }else{
+ + idx_end_type,last_idx:INTEGER;
+ + tmp_string3:STRING;
+
+ index3:=(m.index_of ' ' since (index2+1)).min(m.index_of ')' since (index2+1));
+ tmp_string2:=m.substring (index+1) to (index3-1);
+ last_idx := tmp_string2.lower;
+ {
+ (
+ idx_end_type := tmp_string2.index_of ':' since last_idx;
+ idx_end_type := tmp_string2.index_of ',' since (idx_end_type+1)
+ ) != tmp_string2.count+1
+ }.while_do {
+ tmp_string3 := tmp_string2.substring last_idx to (idx_end_type-1);
+ "parametres méthodes\t".print;tmp_string3.print;'\n'.print;
+ last_idx := idx_end_type + 1;
+ ea.append_collection(get_attribut tmp_string3 with acces);
+ };
+ /*
+ ((tmp_string2.occurrences ':')>1).if{
+ index3:=m.index_of ':' since (index2+1);
+ tmp_string2:=m.substring (index+1) to (index3-1);
+ };
+ */
+ index:=index3;
+ };
+ };
+ type_retour.to_upper;
+ methode.make (nom,type_retour,ea,acces);
+ methode
+ );
+
+
+/*
+ + le_nettoyeur4 <-
+ (
+ + idx_prefix,idx_end:INTEGER;
+ idx_prefix := 1;
+ { idx_prefix != buffer1.count+1 }.while_do{
+ idx_prefix := buffer1.substring_index "//" since idx_prefix;
+ (buffer1.item (idx_prefix-1) != '\\').if{
+ idx_end := buffer1.index_of '\\n' since idx_prefix;
+ buffer1.remove_between idx_prefix to idx_end;
+ };
+ };
+ idx_prefix := 1;
+ { idx_prefix != buffer1.count+1 }.while_do{
+ idx_prefix := buffer1.substring_index "/*" since idx_prefix;
+ (buffer1.item (idx_prefix-1) != '\\').if{
+ idx_end := buffer1.substring_index "*/" since idx_prefix;
+ (buffer1.item (idx_end-1) != '\\').if{
+ buffer1.remove_between idx_prefix to (idx_end+1);
+ };
+ };
+ };
+ idx_prefix := 1;
+ {
+ ( idx_prefix := (buffer1.index_of '+' since idx_prefix ).min (buffer1.index_of '-' since idx_prefix);
+ idx_end := (buffer1.index_of ';' since idx_prefix).min (buffer1.substring_index "<-" since idx_prefix).min (buffer1.substring_index ":=" since idx_prefix)
+ ) != buffer1.count+1
+ }.while_do{
+
+ };
+ );
*/
\ No newline at end of file
--
Lisaac library examples
More information about the Lisaac-commits
mailing list