diff options
author | Lennart Poettering <lennart@poettering.net> | 2005-11-20 22:53:50 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2005-11-20 22:53:50 +0000 |
commit | e8dd1f3633bc46cfddfc4045bb970f65876e4e4c (patch) | |
tree | 6d22994a3d7006c54e17dd15c750a353258876ee | |
parent | 0ff40b23e97276fe829677f9fa0118b0bdb4d6ab (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.l | 19 | ||||
-rwxr-xr-x | sse-feed | 34 |
2 files changed, 43 insertions, 10 deletions
@@ -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; } @@ -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) |