Skip to Content

The very reason for the pouplarity of programming languages like C/C++, apart from capabilities is that these languages are free to explore, work upon, the masses have access to them etc. When I joined SAP, I was unaware of what ABAP is all about, its capabilities as a business programming language, its features etc. This is what we had in mind when we(a team of three) put forward an idea of Stand-alone ABAP Compiler for the Custom Development Innovation Challenge.

 

We started with searching for the best tools to build a prototype for the idea. Our search ended with LEX, YACC and SQLite. These all are open source tools.

 

Lex and Yacc together do the job as mentioned below:

Lex: Split the source file into tokens. Lex takes the pattern matching rules and generates a lexical analyzer.

Yacc: Find the hierarchical structure of the program. Yacc reads the grammar descriptions you provide in a text file and generates the C code for a syntax analyzer or parser.

 

SQLite was used as the Database Management System.

 

The end result of this research, analysis and coding was a prototype which was able to recognize the syntax(basic database operations included), parse the input and compile ABAP source code. The prototype was able to execute ABAP reports, detect errors, show output. The grammar and the keyword addition is up to the developer. As many keywords and related grammar rules can be added and the compiler can be enchaced to support more language features.

 

It is a really small(1.5 MBs) open source tool which can be run on any platform. The prototype currently supports a subset of keywords, operators, special symbols and can be enhanced further as the code is totally modular.

 

The basic motivation behind the idea is to make ABAP reach the masses, masses with great brains ready to experiment, innovate, transform, improvise. The target is the people who don’t have the access to the SAP systems anyhow. For those who need to prepare for certain certification and need to have some idea of ABAP as a language. We intend to provide the tool to those interested in learning and experimenting with ABAP. Once people start using ABAP at a very basic level, a tremendous innovation can be forseen and interest will crop-in which will definitely help SAP in long run.

 

We still work upon extending the scope and improvising the features.

To report this post you need to login first.

15 Comments

You must be Logged on to comment or reply to a post.

    1. Manhar Narang Post author
      Hi Blag, Ravi,

      Thanks for the interest and appreciation.

      We will upload the application and relevant documentation(how to use guide) soon.

      Regards,
      Manhar Narang

      (0) 
  1. Manhar Narang Post author
    Hi Blag, Ravi,

    Thanks for the interest and appreciation.

    We will be uploading the application as well as the relevant documentation(how to use guide) soon.

    Regards,
    Manhar Narang

    (0) 
  2. Michelle Crapo
    How do I get my hands on it?  I may not have a lot of time, but eventually, I’ll get to play!

    A very exciting thing on a Friday Morning!!

    Michelle

    BTW – No one is around yet.

    (0) 
  3. Daniel Mead

    Here it is May 2012. Is there any update to “We will be uploading the application as well as the relevant documentation(how to use guide) soon.”

    Best Regards

    Dan Mead

    (0) 
  4. Daniel Mead

    Here it is December 29, 2012. Is there any update to “We will be uploading the application as well as the relevant documentation(how to use guide) soon.”

    Best Regards

    Dan Mead

    (0) 
  5. Hans-Peter Rampp

    Hi all,

    I contacted Manhar regarding the status of the project and maybe help to make progress but unfortunately he answers my mails only once, no answer since Jan 2013.

    As I am in the process of getting into ABAP currently I will start my own project for developing an ABAP Interpreter now. I will setup my own thread here and host the project on Github. Stay tuned 🙂

    Best regards

    Hans-Peter

    (0) 
      1. Lars Hvam

        Currently the scope is to be able to lint ABAP code, but this also requires a lot of parsing and lexing.

        abaplint can generate an AST, you can try it out at abaplint web

        and it understands a lot of the syntax see abaplint syntax diagrams however ABAP is a very large language so there is still a lot of work to be put into it

        (0) 
        1. Hans-Peter Rampp

          Hi Lars,

          lets stay in contact. I know that ABAP is a very big language but I’ve done interpreters before for several languages with self-written parsers. Would do it for fun and in “C”, don’t expect very fast progress.

          I will create a blog post the next weeks.

          BR,

          Hans-Peter

          (0) 

Leave a Reply