summaryrefslogtreecommitdiff
path: root/TODO
diff options
context:
space:
mode:
authorJinkun Jang <jinkun.jang@samsung.com>2013-03-13 01:44:50 +0900
committerJinkun Jang <jinkun.jang@samsung.com>2013-03-13 01:44:50 +0900
commit7e13e5fc62b81ffc5728006ddb560478ac3f1576 (patch)
tree813d127306e4518e2ab20cf03f7dea33d14a4210 /TODO
parent12056158053532946b53b6249cb0e6cfd4580051 (diff)
downloadragel-7e13e5fc62b81ffc5728006ddb560478ac3f1576.tar.gz
ragel-7e13e5fc62b81ffc5728006ddb560478ac3f1576.tar.bz2
ragel-7e13e5fc62b81ffc5728006ddb560478ac3f1576.zip
Tizen 2.1 base
Diffstat (limited to 'TODO')
-rw-r--r--TODO56
1 files changed, 55 insertions, 1 deletions
diff --git a/TODO b/TODO
index baf5c05..85c5440 100644
--- a/TODO
+++ b/TODO
@@ -1,9 +1,59 @@
+Guard against including a ragel file more than once (newsgroup).
+
+Line numbers in included files refer to the master file. This needs to be
+fixed -- from Manoj.
+
+Remove old action embedding and condition setting syntax.
+
fbreak should advance the current char. Depreciate fbreak and add
fctl_break;
fctl_return <expr>;
fctl_goto <label>;
+This is needed for better support of pull scanners.
+
+Eliminate tokend, replace it with the marker variable and add ftokend/ftoklen.
+
+Add the accept action embedding operator: like eof but only for states that end
+up final. Add the combined pending/accept action. This becomes a good idea when
+eof action execution is moved into the main loop.
+
+Add a prefix operator which sets every state final.
+
+Minimization should remove a condition when the character allows both
+the positive and negative sense of the condition. This happens in:
+test_every_10_chars = ( ( c when test_len ) c{0,9} )**;
+In this example there is non-determinsm that is killed by the priorities, but
+since conditions are expanded before priorities are tested, many transitions
+end up with test_len || !test_len.
+
+Should be possible to include scanner definitions in another scanner.
+
+Need an "entry name;" feature, causing name to get written out with the other
+entry points in the data.
+
+Possibly bring back the old semantics of > in a new operator, or allow it to be
+defined somehow.
+
+When priorities are embedded without a name, the name of the current machine is
+used. Perhaps a unique name for each instance of the current machine should be
+used instead. This idea could work well if applied to user-defined embeddings.
+
+User defined embeddings <-name(a1,a2,...).
+User defined operators expr1 <name> expr2.
+
+Doesn't make make sense for [] to be the lambda (zero-length) machine. This
+should be the empty set (the empty machine). But then would it be invalid in a
+regular expression?
+
+The |> guarded operator and the <| guarded operator need to be added.
+
+An option to turn off the removal of duplicate actions might be useful for
+analyzing unintentional nondeterminism.
+
+Might be a good idea to add in some protection against using up all of a
+system's memory. This protection could then be removed by people when someone
+is sure they want to use a lot of memory.
-It should be possible to import/export definitions.
If a scanner can be optimized into a pure state machine, maybe permit it to be
referenced as a machine definition. Alternately: inline scanners with an
@@ -32,6 +82,10 @@ A debugger would be nice. Ragel could emit a special debug version that
prompted for debug commands that allowed the user to step through the machine
and get details about where they are in their RL.
+A quick and easy alternative would be a trace code generation option. This
+would open a trace file and list all the active machines at each step of the
+input.
+
Frontend should allow the redefinition of fsm section delimiters.
Do more to obscure ragel's private variables. Just a leading underscore is not