Coder Social home page Coder Social logo

top-down-parser's Introduction

Top down parser with backtracking.

The aim of the project was to build a syntax anaylzer following production rules defined by the context free grammar. top-down parser with backtracking. It processed the input string and starts producting the parse tree from the top to the bottom. If one derviation of the tree fails it recursively comes back up and tries to use different rule. In case there are no more production rules - input string is not accepted. The input string may be processed several times to find the right derviation tree (production rules).

Build&run

The program requires python3.
Go to source directory and execute:

python3 main.py

Description

The program asks for CFG file. After valid CFG is provided, the program asks for input string.
After validation is successful the input is parsed. At each parsing stage the current parsing tree is printed to the terminal.
When parsing is finished there is printed information about input string being accepted by the provided CFG and final parsing tree.

Testing

You can find more here.

top-down-parser's People

Contributors

kjablonska avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.