DEV Community

Ankit Beniwal
Ankit Beniwal

Posted on

Code Validation

Hey Devs,

I want to make a utility in python to validate a given input(a function of c code) on the basis of some rules like whether it has proper indentation.

Any Pointers? Tips? Ideas? of how i can do it.

Top comments (10)

Collapse
 
anshbansal profile image
Aseem Bansal

Are you trying to do this to learn?

If no, there are linters and formatters for almost every language in which you can put the rules for this to be done.

If yes, what have you tried so far? I mean because you are trying this to learn it would not be a good if someone gives you the answers directly. Trying to figure out solutions to problems is where you actually learn. If you have no idea maybe search how linters and formatters work. That can be a starting point.

Collapse
 
ankitbeniwal profile image
Ankit Beniwal • Edited

Yes trying to learn. I am currently thinking about regex.

Is there any other method? or should I just dive in.

Collapse
 
anshbansal profile image
Aseem Bansal

Unless you are very good at regex try just using string methods and usual data structures. You don't want to spend time learning regex as well as about formatters.

Make one of them your goal - regex or formatter. It would reduce the learning curve.

Thread Thread
 
ankitbeniwal profile image
Ankit Beniwal

Very well. Thanks!

Collapse
 
bernardbaker profile image
Bernard Baker

What about converting the function representation to unicode?

Collapse
 
ankitbeniwal profile image
Ankit Beniwal

can you please elaborate that?

Collapse
 
bernardbaker profile image
Bernard Baker

Well unicode holds values for line feeds, carriage returns and spaces as well as tabs.

With the use of a regular expression and grouping in regular expressions you should be able to test your string to see if it validates as a c function.

Thread Thread
 
ankitbeniwal profile image
Ankit Beniwal

Exactly what i was thinking but without unicode. Now you just gave me the missing part. Thanks!!

Thread Thread
 
bernardbaker profile image
Bernard Baker

Run a few tests and let me know how you get on.

Thread Thread
 
ankitbeniwal profile image
Ankit Beniwal

sure thing