summaryrefslogtreecommitdiff
path: root/p/todo
diff options
context:
space:
mode:
authorschodet2005-09-20 19:38:17 +0000
committerschodet2005-09-20 19:38:17 +0000
commit3daeffd3edfc53910ce7f40b57d7f1b5ad191d48 (patch)
treeee383f05eb01fa28c1294a5110e510e03b018ed0 /p/todo
parent28c56b3dbfb5e16a6121c7d3de090e05b131bb11 (diff)
Réorganisation de /p.
Diffstat (limited to 'p/todo')
-rw-r--r--p/todo/n/avr/modules/adc.todo3
-rw-r--r--p/todo/n/avr/modules/host.todo4
-rw-r--r--p/todo/n/avr/modules/math.todo3
-rw-r--r--p/todo/todo.pl99
-rw-r--r--p/todo/todo.txt60
5 files changed, 10 insertions, 159 deletions
diff --git a/p/todo/n/avr/modules/adc.todo b/p/todo/n/avr/modules/adc.todo
new file mode 100644
index 0000000..0a7536b
--- /dev/null
+++ b/p/todo/n/avr/modules/adc.todo
@@ -0,0 +1,3 @@
+(Ni)
+- créer le module
+- tester sur cible
diff --git a/p/todo/n/avr/modules/host.todo b/p/todo/n/avr/modules/host.todo
new file mode 100644
index 0000000..14cd1c2
--- /dev/null
+++ b/p/todo/n/avr/modules/host.todo
@@ -0,0 +1,4 @@
+(Ni)
++ créer le module
+- implémenter les variables
+- simuler les IOs
diff --git a/p/todo/n/avr/modules/math.todo b/p/todo/n/avr/modules/math.todo
new file mode 100644
index 0000000..ceab29d
--- /dev/null
+++ b/p/todo/n/avr/modules/math.todo
@@ -0,0 +1,3 @@
+fixed
+(Ni)
+- améliorer les programmes de test
diff --git a/p/todo/todo.pl b/p/todo/todo.pl
deleted file mode 100644
index 31e55da..0000000
--- a/p/todo/todo.pl
+++ /dev/null
@@ -1,99 +0,0 @@
-#!/usr/bin/perl -w
-#
-# Tool to parse todo files.
-#
-use strict;
-
-# Parse a todo file and add tasks to \%todos.
-sub parse_todo
-{
- my ($todos, $path, $file) = @_;
- my $owner;
- local $_;
- local *FILE;
- # Check for duplicates and create task list.
- die "duplicate path: $path" if exists $$todos{''};
- $$todos{''} = [ ];
- my $tasks = $$todos{''};
- # Open file.
- open FILE, "<$file" or die "$file: $!";
- # Read each lines.
- while (<FILE>)
- {
- chomp;
- # Task line.
- /^([-+=x]) (?:\(([^)]+)\) |)(.+)$/ and do {
- my ($state, $owner, $text) = ($1, $2 || $owner, $3);
- #$owner = $1 if $2 =~ /^\((.*)\) $/;
- my @owners = split /, */, $owner;
- # Read next lines.
- while (<FILE>)
- {
- chomp;
- # Continued task, new paragraph.
- /^ $/ and $text .= "\n", next;
- # Continued task.
- /^ (.*)$/ and $text .= ' ' . $1, next;
- last;
- }
- # Add task.
- push @$tasks, {
- state => $state,
- owner => [ @owners ],
- text => $text
- };
- last unless defined $_;
- redo;
- };
- # Default owner line.
- /^\(([^)]+)\)$/ and $owner = $1, next;
- # Subtask line.
- /^[-\w\d]+$/ and do {
- my $path = $path . '/' . $_;
- $$todos{$_} ||= { };
- my $todos = $$todos{$_};
- die "duplicate path: $path" if exists $$todos{''};
- $$todos{''} = [ ];
- $tasks = $$todos{''};
- next;
- };
- # Empty line.
- /^$/ and next;
- # Else, die.
- die 'Invalid format';
- }
- # Close file.
- close FILE;
-}
-
-# Read dir and parse each todo files it contains.
-sub parse_dir
-{
- my ($todos, $path, $dir) = @_;
- local $_;
- local @_;
- local *DIR;
- # Read files list.
- opendir DIR, $dir or die "$dir: $!";
- @_ = readdir DIR;
- closedir DIR;
- # Filter todo files & dirs lists.
- my @todofiles = grep { !/^\./ && /\.todo$/ && -f "$dir/$_" } @_;
- s/\.todo$// foreach @todofiles;
- my @tododirs = grep { !/^\./ && -d "$dir/$_" } @_;
- # Create empty hashes.
- $$todos{$_} ||= { } foreach @todofiles, @tododirs;
- # Process each todo files.
- parse_todo ($$todos{$_}, "$path/$_", "$dir/$_.todo") foreach @todofiles;
- # Recurse into each dirs.
- parse_dir ($$todos{$_}, "$path/$_", "$dir/$_") foreach @tododirs;
-}
-
-my %todos;
-
-parse_dir (\%todos, '', '.');
-
-{
- use Data::Dumper;
- print Dumper \%todos;
-}
diff --git a/p/todo/todo.txt b/p/todo/todo.txt
deleted file mode 100644
index c515371..0000000
--- a/p/todo/todo.txt
+++ /dev/null
@@ -1,60 +0,0 @@
-*Title: Format des fichiers todo
-*Author: Ni
-
-* Emplacement et organisation
-
-Les fichiers todo sont situés dans |p/todo|. Ils sont organisés dans une
-arborescence semblable à l'arborescence racine et porte l'extension |.todo|.
-
-* Format
-
-Une entrée todo suit le format suivant :
-
- * un caractère montrant l'état actuel ;
- * un espace ;
- * le nom de la personne responsable entre parenthèses ;
- * la description de la tache.
-
-Le caractère d'état peut-être :
-
- * un tiret : tâche à faire ;
- * un signe plus : tâche effectuée ;
- * un signe égal : tâche en cours, pour les tâches longues ;
- * un x : tâche annulée.
-
-Le nom du responsable est optionnel si cité précédemment. Si il y a plusieurs
-responsables, les séparer par une virgule.
-
-Les tâches sont dans l'ordre chronologique, et par ordre de priorité pour les
-tâches restantes.
-
-Un nom de responsable peut être mis tout seul sur une ligne pour signifier
-qu'il est responsable de tout les tâches suivantes.
-
-On peut introduire des sous tâches en donnant son nom sur une ligne. Cela a le
-même effet que de placer un nouveau fichier dans un sous répertoire.
-
-Les lignes vides sont ignorée. Une description longue peut s'étendre sur
-plusieurs lignes, il suffit de placer deux espaces en début de ligne.
-
-Les tâches effectuées sont conservées dans le fichier.
-
-Exemple :
-
-^<<
-(hercule)
-+ la capture du lion de Némée
-+ l'Hydre de Lerne
-x faire la vaisselle
-= Le sanglier d'Erymanthe
-- (merlin) trouver un roi
-- la biche de Cérynie
-
-takeovertheworld
-(cortex)
-- trouver une idée géniale
-- la mettre à exécution pour conquérir le monde
- et soumettre la race humaine à ma volonté. Elle
- est longue celle-là, n'est-ce pas ?
-- (minus) tout foutre par terre
-^>>