diff --git a/loxi_front_end/frontend.py b/loxi_front_end/frontend.py
index 70699e0..c093a95 100644
--- a/loxi_front_end/frontend.py
+++ b/loxi_front_end/frontend.py
@@ -49,7 +49,7 @@
     elif m_ast[0] == 'discriminator':
         return OFDiscriminatorMember(name=m_ast[2], oftype=m_ast[1])
     else:
-        raise Exception("Dont know how to create member: %s" % m_ast[0])
+        raise InputError("Dont know how to create member: %s" % m_ast[0])
 
 def create_ofinput(ast):
     """
@@ -64,17 +64,17 @@
 
     for decl_ast in ast:
         if decl_ast[0] == 'struct':
-            # 0: "enum"
+            # 0: "struct"
             # 1: name
             # 2: potentially list of [param_name, param_value]
             # 3: super_class or None
-            # 4: list of [constant_name, constant_value]+
+            # 4: list of members
             superclass = decl_ast[3]
             members = [create_member(m_ast) for m_ast in decl_ast[4]]
 
             discriminators = [ m for m in members if isinstance(m, OFDiscriminatorMember) ]
             if len(discriminators) > 1:
-                raise Exception("%s: Cannot support more than one discriminator by class - got %s" %
+                raise InputError("%s: Cannot support more than one discriminator by class - got %s" %
                         (decl_ast[1], repr(discriminators)))
             ofclass = OFClass(name=decl_ast[1], members=members, superclass=superclass,
                     virtual = len(discriminators) > 0,
diff --git a/loxi_ir.py b/loxi_ir.py
index fefe770..7bbe22f 100644
--- a/loxi_ir.py
+++ b/loxi_ir.py
@@ -99,7 +99,7 @@
 
 @param name
 """
-OFDiscriminatorMember = namedtuple('OFDiscrminatorMember', ['name', 'oftype'])
+OFDiscriminatorMember = namedtuple('OFDiscriminatorMember', ['name', 'oftype'])
 
 """
 Field used to determine the type of an OpenFlow object
diff --git a/openflow_input/standard-1.1 b/openflow_input/standard-1.1
index 9bf46bd..1047127 100644
--- a/openflow_input/standard-1.1
+++ b/openflow_input/standard-1.1
@@ -74,7 +74,7 @@
     OFPP_LOCAL = 0xfffffffe,
 };
 
-enum ofp_port_no(wire_type=uint32_t, complete=no) {
+enum ofp_port_no(wire_type=uint32_t, complete=False) {
     OFPP_ANY = 0xffffffff,
 };
 
diff --git a/openflow_input/standard-1.2 b/openflow_input/standard-1.2
index 440efe6..e4c8ec2 100644
--- a/openflow_input/standard-1.2
+++ b/openflow_input/standard-1.2
@@ -70,7 +70,7 @@
     OFPP_LOCAL = 0xfffffffe,
 };
 
-enum ofp_port_no(wire_type=uint32_t, complete=no) {
+enum ofp_port_no(wire_type=uint32_t, complete=False) {
     OFPP_ANY = 0xffffffff,
 };
 
diff --git a/openflow_input/standard-1.3 b/openflow_input/standard-1.3
index 7a58b60..b9c5475 100644
--- a/openflow_input/standard-1.3
+++ b/openflow_input/standard-1.3
@@ -58,7 +58,7 @@
     OFPQ_MIN_RATE_UNCFG = 0xffff,
 };
 
-enum ofp_port_no(wire_type=uint32_t, complete=no) {
+enum ofp_port_no(wire_type=uint32_t, complete=False) {
     OFPP_ANY = 0xffffffff,
 };
 
