Need help in writing up a Python Syntax checker

K

Kinokunya

Hi guys,

My group and I will be working on our final year project, the scope to
do a program/web-based application similar areas of functionalities
like the PyLint and PyChecker; a Python syntax checker. We have no
Python background, equipped only with some knowledge of Java and Dot
net.

We did some research on PyLint and found out that there are 2 common
modules that PyLint & PyChecker are using, namely logilab-astng and
logilab-common. I'm not really sure what these 2 modules are for.



Quoted from the offical site,

The aim of this module (logilab-astng) is to provide a common base
representation of python source code




We're not really sure what they meant by common base representation of
source codes. Does that mean logilab-astng is somewhat like a
repository/library of Python syntax API so that we can easily 'call'
these module to aid in syntax checking? My group and I were
considering of using Java as a basis for this project, but if these 2
modules were really the repositories for Python syntax codes then we
are restricted to using Python to make full use of the above mentioned
dependencies.

Our current stand was to use Jython as it is able to support Java as
well as the .PY files inside logilab-astng and logilab-common, but
having no knowledge in Python, we're unable to make out whatever was
in the 2 above modules, was was unable to find user support forums/
communities for Logilab related stuff.

You insights are greatly appreciated.


Windows platform (XP & vista)
Python (If need be, we will install the latest official version of it)
Jython 2.2.1 (Latest version)
Server: Apache Tomcat 2.2 (Should we require one for the project)
 
K

Kay Schluehr

Hi guys,

My group and I will be working on our final year project, the scope to
do a program/web-based application similar areas of functionalities
like the PyLint and PyChecker; a Python syntax checker. We have no
Python background, equipped only with some knowledge of Java and Dot
net.

Python doesn't need a syntax checker. Syntax is checked by the parser
and the parser is exposed to the user by means of the parser module.
What you probably mean are *semantical* checks which are typical for
compilers: e.g. whether names are used with prior assignments of
values that cause runtime exceptions. These issues are in fact covered
by PyLint and PyChecker.
We did some research on PyLint and found out that there are 2 common
modules that PyLint & PyChecker are using, namely logilab-astng and
logilab-common. I'm not really sure what these 2 modules are for.

Quoted from the offical site,

The aim of this module (logilab-astng) is to provide a common base
representation of python source code

We're not really sure what they meant by common base representation of
source codes.

Just switch to <MyPythonPath>\Scripts\ in your Vista installation

and type `easy_install pylint`. This shall install PyLint in the
directory

<MyPythonPath>\lib\site-packages

Additionally a pylint.bat file is placed in the <MyPythonPath>\Scripts
\ directory.

Type `pylint --help` and you get more information about the
functionality of PyLint.
 
K

Kinokunya

Python doesn't need a syntax checker. Syntax is checked by the parser
and the parser is exposed to the user by means of the parser module.
What you probably mean are *semantical* checks which are typical for
compilers: e.g. whether names are used with prior assignments of
values that cause runtime exceptions. These issues are in fact covered
by PyLint and PyChecker.





Just switch to <MyPythonPath>\Scripts\ in your Vista installation

and type `easy_install pylint`. This shall install PyLint in the
directory

<MyPythonPath>\lib\site-packages

Additionally a pylint.bat file is placed in the <MyPythonPath>\Scripts
\ directory.

Type `pylint --help` and you get more information about the
functionality of PyLint.





Thanks for replying Kay Schluehr,

The topic of our project was to do a program/software similar to
PyLint and PyChecker, and the project scope does not require us to
compile the codes. I guess by that it means 'semantic' checks in this
case. Does that means we can make use of the parser module as
mentioned above for semantic syntax checking?

Our situation now is that we are torn between the programming
languages to go, Java, Jython or Python, with no definite direction to
start off our development. Any pointers would be appreciated.

Thank you.
 
A

alexandre.Fayolle

Hi guys,

My group and I will be working on our final year project, the scope to
do a program/web-based application similar areas of functionalities
like thePyLintand PyChecker; a Python syntax checker. We have no
Python background, equipped only with some knowledge of Java and Dot
net.

Great, this means you'll get a change to learn a new great language.
We did some research on PyLint and found out that there are 2 common
modules thatPyLint & PyChecker are using, namely logilab-astng and
logilab-common. I'm not really sure what these 2 modules are for.

To my best knowledge, pychecker does not use logilab-common or logilab-
astng.
Quoted from the offical site,

    The aim of this module (logilab-astng) is to provide a common base
representation of python source code

We're not really sure what they meant by common base representation of
source codes. Does that mean logilab-astng is somewhat like a
repository/library of Python syntax API so that we can easily 'call'
these module to aid in syntax checking?

logilab-astng is a python library which gives access to the Abstract
Syntax
Tree (AST) of some Python code. This representation is used by pylint
to
perform checks on the code without manipulating the source code
directly.
Our current stand was to use Jython as it is able to support Java as
well as the .PY files inside logilab-astng and logilab-common, but
having no knowledge in Python, we're unable to make out whatever was
in the 2 above modules, was was unable to find user support forums/
communities for Logilab related stuff.

Subscribe to the python-projects mailing list
(http://lists.logilab.org/mailman/listinfo/python-projects)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,770
Messages
2,569,586
Members
45,088
Latest member
JeremyMedl

Latest Threads

Top