summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2005-11-20 22:53:50 +0000
committerLennart Poettering <lennart@poettering.net>2005-11-20 22:53:50 +0000
commite8dd1f3633bc46cfddfc4045bb970f65876e4e4c (patch)
tree6d22994a3d7006c54e17dd15c750a353258876ee
parent0ff40b23e97276fe829677f9fa0118b0bdb4d6ab (diff)
beef up stuff
git-svn-id: file:///home/lennart/svn/public/sse/trunk@4 5fbabb74-0606-0410-a5e4-b5cc6a42724e
-rw-r--r--lex-c.l19
-rwxr-xr-xsse-feed34
2 files changed, 43 insertions, 10 deletions
diff --git a/lex-c.l b/lex-c.l
index b74f169..243c9ab 100644
--- a/lex-c.l
+++ b/lex-c.l
@@ -1,4 +1,4 @@
-/* --c-mode-- */
+/* --*-c-mode-*-- */
%{
@@ -83,5 +83,20 @@ NIDCHAR [^_a-zA-Z0-9]
%%
int main(int argc, char *argv[]) {
- yylex();
+
+ if (argc <= 1)
+ yylex();
+ else {
+ int i;
+
+ for (i = 1; i < argc; i++) {
+ if (!(freopen(argv[i], "r", stdin))) {
+ fprintf(stderr, "Failed to open file: %s\n", strerror(errno));
+ return 1;
+ }
+ yylex();
+ }
+ }
+
+ return 0;
}
diff --git a/sse-feed b/sse-feed
index d16dfef..8290f48 100755
--- a/sse-feed
+++ b/sse-feed
@@ -1,14 +1,34 @@
#!/usr/bin/python
-import sys, os
+import sys, os, MYSQLdb
+from popen2 import Popen3
-def handle_file(path, dirpath, filename):
- global ms
+LEXER_PATH="."
+
+db = MySQLdb.connect(host = "localhost", user = "sse_web", passwd = "ece6Yoli", db = "sse")
+
+def process_file(root, path):
+ print "Processing %s" % path
+
+
+
+ p = Popen3("%s/lex-c %s" % (LEXER_PATH, os.path.join(root, path)))
+
+ for identifier in p.fromchild:
+ print "ID:", identifier.strip()
+
+ if p.wait() != 0:
+ print "WARNING: Subprocess failed!"
+
+ del p
+
+def handle_file(root, path, filename):
extension = filename.split(".")[-1]
if extension in ("c", "h"):
- print "C source %s %s %s" % (path, dirpath, filename)
+ process_file(root, os.path.join(path, filename))
+
def handle_tree(path):
@@ -16,11 +36,9 @@ def handle_tree(path):
for dirpath, dirs, files in os.walk(path):
for f in files:
- assert path, dirpath[:len(path)]
+ assert path + "/" == (dirpath + "/") [:len(path)+1]
- dirpath = dirpath[len(path):]
-
- handle_file(path, dirpath, f)
+ handle_file(path, dirpath[len(path)+1:], f)
for a in sys.argv[1:]:
handle_tree(a)