Creating Your Own Parser
Creating a literal parser is much simpler than creating a semantic parser. I am not able to give you any guidance to how to write this, because it can be done in many different ways.
Every parser must follow a couple of rules to be able to successfully integrate into the current system.
- First, each parser created must return the patterns identified as an array with the following attributes: [ reliability score, applicability score, pattern ]. If you are not going to use the reliability score and applicability score, please just set these to 0. The pattern is the string containing the identified pattern.
- In addition, the pattern must be added the parse() method located at the top of the literal_parsing file ( version 1.3.2 of the code is below ):
def parse( self, base_string, test_string, pattern_arg, parser ):
if parser == "default":
return self.default_parser( base_string, test_string, pattern_arg );
else:
print ""
print "A valid parser was not chosen. Please choose any of the following parsers: "
print "- 'default'"
print ""
exit( 0 )
You will need to add your parser to the if statement "chain", like below:
elif parser_name =='Add Your Parser's Name Here':
You will also need to call your method in the same format as the other parsers.
def parse( self, base_string, test_string, pattern_arg, parser ):
if parser == "default":
return self.default_parser( base_string, test_string, pattern_arg );
else:
print ""
print "A valid parser was not chosen. Please choose any of the following parsers: "
print "- 'default'"
print ""
exit( 0 )
elif parser_name =='Add Your Parser's Name Here':