Require macros to start with a letter
authorMichael Spang <mspang@csclub.uwaterloo.ca>
Fri, 11 Dec 2009 23:11:16 +0000 (18:11 -0500)
committerMichael Spang <mspang@csclub.uwaterloo.ca>
Tue, 22 Dec 2009 03:11:48 +0000 (22:11 -0500)
Signed-off-by: Michael Spang <mspang@csclub.uwaterloo.ca>
inapt.cc
parser.rl

index f676fe6..d8f93b9 100644 (file)
--- a/inapt.cc
+++ b/inapt.cc
@@ -27,7 +27,7 @@ static struct option opts[] = {
     { NULL, 0, NULL, '\0' },
 };
 
-bool InstallPackages(pkgCacheFile &Cache,bool ShwKept = false,bool Ask = true,
+bool run_install(pkgCacheFile &Cache,bool ShwKept = false,bool Ask = true,
                      bool Safety = true)
 {
    if (_config->FindB("APT::Get::Purge", false) == true)
@@ -42,7 +42,7 @@ bool InstallPackages(pkgCacheFile &Cache,bool ShwKept = false,bool Ask = true,
 
    if (Cache->BrokenCount() != 0)
    {
-      return _error->Error("Internal error, InstallPackages was called with broken packages!");
+      return _error->Error("Internal error, run_install was called with broken packages!");
    }
 
    if (Cache->DelCount() == 0 && Cache->InstCount() == 0 &&
@@ -311,7 +311,7 @@ static void exec_actions(std::vector<inapt_action *> *final_actions) {
 
     fprintf(stderr, "\n");
 
-    InstallPackages(cachef);
+    run_install(cachef);
 }
 
 int main(int argc, char *argv[]) {
@@ -348,10 +348,9 @@ int main(int argc, char *argv[]) {
     fprintf(stderr, "\n");
 
     inapt_block context;
+    vector<inapt_action *> final_actions;
 
     parser(filename, &context);
-
-    vector<inapt_action *> final_actions;
     eval_block(&context, &defines, &final_actions);
     exec_actions(&final_actions);
 }
index f268950..977f154 100644 (file)
--- a/parser.rl
+++ b/parser.rl
@@ -12,6 +12,7 @@
 using namespace std;
 
 #define MAXDEPTH 100
+#define BUFSIZE 128
 
 %%{
     machine inapt;
@@ -87,7 +88,8 @@ using namespace std;
     simple_cmd = cmd_install | cmd_remove;
     start_block = '{' @start_block;
     end_block = '}' @end_block;
-    cmd_if = 'if' whitespace+ alpha+ >pkgstart %start_conditional whitespace* start_block whitespace*
+    macro = alpha (alpha | digit | '-' | '+' | '.')+;
+    cmd_if = 'if' whitespace+ macro >pkgstart %start_conditional whitespace* start_block whitespace*
              ('else' whitespace* start_block whitespace* ';' @full_conditional | ';' @half_conditional);
     cmd_list = (simple_cmd | cmd_if | whitespace)* end_block?;
     main := cmd_list;
@@ -95,8 +97,6 @@ using namespace std;
 
 %% write data;
 
-#define BUFSIZE 128
-
 void badsyntax(const char *filename, int lineno, char badchar, const char *message) {
     if (!message) {
         if (badchar == '\n')