parser: return AST in list form

This is the format the rest of the system uses anyway.
diff --git a/loxi_front_end/parser.py b/loxi_front_end/parser.py
index d79dd3c..73135ff 100644
--- a/loxi_front_end/parser.py
+++ b/loxi_front_end/parser.py
@@ -71,4 +71,11 @@
 grammar.ignore(P.cppStyleComment)
 
 def parse(src):
-    return grammar.parseString(src, parseAll=True)
+    """
+    Given an input string, return the AST.
+
+    The AST is a low-level representation of the input. It changes frequently
+    with the input file syntax. The frontend.py module transforms the AST
+    into the OFInput represntation.
+    """
+    return grammar.parseString(src, parseAll=True).asList()
diff --git a/utest/test_parser.py b/utest/test_parser.py
index 89dae10..749e530 100755
--- a/utest/test_parser.py
+++ b/utest/test_parser.py
@@ -36,7 +36,7 @@
 struct foo { };
 """
         ast = parser.parse(src)
-        self.assertEquals(ast.asList(), [['struct', 'foo', []]])
+        self.assertEquals(ast, [['struct', 'foo', []]])
 
     def test_one_field(self):
         src = """\
@@ -45,7 +45,7 @@
 };
 """
         ast = parser.parse(src)
-        self.assertEquals(ast.asList(),
+        self.assertEquals(ast,
             [['struct', 'foo', [['uint32_t', 'bar']]]])
 
     def test_multiple_fields(self):
@@ -57,7 +57,7 @@
 };
 """
         ast = parser.parse(src)
-        self.assertEquals(ast.asList(),
+        self.assertEquals(ast,
             [['struct', 'foo',
                 [['uint32_t', 'bar'],
                  ['uint8_t', 'baz'],
@@ -70,7 +70,7 @@
 };
 """
         ast = parser.parse(src)
-        self.assertEquals(ast.asList(),
+        self.assertEquals(ast,
             [['struct', 'foo', [['uint32_t[4]', 'bar']]]])
 
     def test_list_type(self):
@@ -80,7 +80,7 @@
 };
 """
         ast = parser.parse(src)
-        self.assertEquals(ast.asList(),
+        self.assertEquals(ast,
             [['struct', 'foo', [['list(of_action_t)', 'bar']]]])
 
 class EnumTests(unittest.TestCase):
@@ -90,7 +90,7 @@
 };
 """
         ast = parser.parse(src)
-        self.assertEquals(ast.asList(), [['enum', 'foo', []]])
+        self.assertEquals(ast, [['enum', 'foo', []]])
 
     def test_one(self):
         src = """\
@@ -99,7 +99,7 @@
 };
 """
         ast = parser.parse(src)
-        self.assertEquals(ast.asList(), [['enum', 'foo', [['BAR', 1]]]])
+        self.assertEquals(ast, [['enum', 'foo', [['BAR', 1]]]])
 
     def test_multiple(self):
         src = """\
@@ -110,7 +110,7 @@
 };
 """
         ast = parser.parse(src)
-        self.assertEquals(ast.asList(), [['enum', 'foo', [['OFP_A', 1], ['OFP_B', 2], ['OFP_C', 3]]]])
+        self.assertEquals(ast, [['enum', 'foo', [['OFP_A', 1], ['OFP_B', 2], ['OFP_C', 3]]]])
 
     def test_trailing_comma(self):
         src = """\
@@ -121,7 +121,7 @@
 };
 """
         ast = parser.parse(src)
-        self.assertEquals(ast.asList(), [['enum', 'foo', [['OFP_A', 1], ['OFP_B', 2], ['OFP_C', 3]]]])
+        self.assertEquals(ast, [['enum', 'foo', [['OFP_A', 1], ['OFP_B', 2], ['OFP_C', 3]]]])
 
 class TestMetadata(unittest.TestCase):
     def test_version(self):
@@ -129,7 +129,7 @@
 #version 1
 """
         ast = parser.parse(src)
-        self.assertEquals(ast.asList(), [['metadata', 'version', '1']])
+        self.assertEquals(ast, [['metadata', 'version', '1']])
 
 class TestToplevel(unittest.TestCase):
     def test_multiple_structs(self):
@@ -138,7 +138,7 @@
 struct bar { };
 """
         ast = parser.parse(src)
-        self.assertEquals(ast.asList(),
+        self.assertEquals(ast,
             [['struct', 'foo', []], ['struct', 'bar', []]])
 
     def test_comments(self):
@@ -152,7 +152,7 @@
 // comment 4
 """
         ast = parser.parse(src)
-        self.assertEquals(ast.asList(),
+        self.assertEquals(ast,
             [['struct', 'foo', [['uint32_t', 'a']]]])
 
     def test_mixed(self):
@@ -163,7 +163,7 @@
 struct bar { };
 """
         ast = parser.parse(src)
-        self.assertEquals(ast.asList(),
+        self.assertEquals(ast,
             [['metadata', 'version', '1'],
              ['struct', 'foo', []],
              ['metadata', 'version', '2'],