| Index: tools/lexer_generator/generator.py
|
| diff --git a/tools/testrunner/local/junit_output.py b/tools/lexer_generator/generator.py
|
| similarity index 64%
|
| copy from tools/testrunner/local/junit_output.py
|
| copy to tools/lexer_generator/generator.py
|
| index 437adb178931f82364aa87e66315231b7b57a56d..c4dea29229192cdd7e2a26bdadf5472321da61a9 100644
|
| --- a/tools/testrunner/local/junit_output.py
|
| +++ b/tools/lexer_generator/generator.py
|
| @@ -25,25 +25,36 @@
|
| # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
| # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
| +from nfa import Nfa
|
| +from dfa import Dfa
|
| +from rule_lexer import RuleLexer
|
| +from rule_parser import RuleParser
|
| +from regex_parser import RegexParser
|
|
|
| -import xml.etree.ElementTree as xml
|
| +def lex_file(file_name):
|
| + lexer = RuleLexer()
|
| + lexer.build()
|
| + with open(file_name, 'r') as f:
|
| + lexer.lexer.input(f.read())
|
| + while True:
|
| + tok = lexer.lexer.token()
|
| + if not tok: break # No more input
|
| + print tok
|
|
|
| +def parse_file(file_name):
|
| + rule_parser = RuleParser()
|
| + rule_parser.build()
|
| + with open(file_name, 'r') as f:
|
| + rule_parser.parse(f.read())
|
| + print "aliases"
|
| + for k, v in rule_parser.aliases.items():
|
| + print "\t%s : %s" % (k, v)
|
| + print "rules"
|
| + for k, v in rule_parser.rules.items():
|
| + print "\t%s" % k
|
| + for t in v:
|
| + print "\t\t%s" % str(t)
|
|
|
| -class JUnitTestOutput:
|
| - def __init__(self, test_suite_name):
|
| - self.root = xml.Element("testsuite")
|
| - self.root.attrib["name"] = test_suite_name
|
| -
|
| - def HasRunTest(self, test_name, test_duration, test_failure):
|
| - testCaseElement = xml.Element("testcase")
|
| - testCaseElement.attrib["name"] = " ".join(test_name)
|
| - testCaseElement.attrib["time"] = str(round(test_duration, 3))
|
| - if len(test_failure):
|
| - failureElement = xml.Element("failure")
|
| - failureElement.text = test_failure
|
| - testCaseElement.append(failureElement)
|
| - self.root.append(testCaseElement)
|
| -
|
| - def FinishAndWrite(self, file):
|
| - xml.ElementTree(self.root).write(file, "UTF-8")
|
| -
|
| +if __name__ == '__main__':
|
| + # lex_file('src/lexer/lexer_py.re')
|
| + parse_file('src/lexer/lexer_py.re')
|
|
|