-
Notifications
You must be signed in to change notification settings - Fork 25
Roadmap
Olivier Smedile edited this page Jun 27, 2017
·
19 revisions
Here is a list of features we would like to be implemented, grouped by milestone.
- Type (weaked and strong) - specs comes from Cobol 2002 + Type
Strict
close to Strong - Intrinsic type based on Cobol 2002 type:
- Types Date, bool
- "::" operator which is used as the dot operator in modern language
- Can't be used with arrays
- Procedures *[X] Shorter syntax to declare a procedure than a sub-program *[x] Control caller arguments during compilation time (partially) * Control only number of arguments and their type *[x] Write clearly which arguments serves as input, output or both *[x] Propose visibility mechanism: only public and private for now
- Generate Cobol 85 code from a TypeCobol source file
- Preprocessor integration for RDz
- POC for integration with RTC (https://github.com/TypeCobolTeam/TypeCobolBuild)
- Parse a Cobol file to check for errors
- Convert a TypeCobol source file to a Cobol 85 file
Do lexical analysis [?]
- Integrate ANTLR current version: 4.5 since then
Do syntactic analysis [?]
- Write a complete Cobol grammar
- Build ANTLR tokens into into code elements
- Build an abstract syntax tree [?]
- Build a symbol table [?] since then
- Be able to resolve naming errors since then
- Build a representation for Cobol types
- Be able to resolve type errors
- Be able to run as a stateful server
- Full Cobol 85 grammar support (full grammar is written, but we still need to implement semantic checks)
- Type grammar (weak and strong) + semantic rules
- Write the language grammar (TypeCobol and Cobol 2002) as a superset of Cobol 85 grammar
- Extend the Cobol 85 AST with Cobol 2002 and TypeCobol CodeElements
- Full support for operator "::"
- Operator ":::"
- Functions support
- Basic support for error code in function and procedures (implicit parameter)
- Check if caller test error code
- Procedures and functions enhancement
- Control caller arguments during compilation time (Full support)
- Propose visibility mechanism (Full support)
- Namespaces
- Namespaces support for types, functions and procedures
- Implement COBOL semantic errors for most common statements
- Implement 100% of COBOL semantic errors
- Optimize data serialization
- Define an interface for the server allowing to support all features of a modern IDE
- Generate Cobol 2002 code from a TypeCobol AST
- Make the generated code RCS friendly
- Make the generated code Cobol debugging friendly
- TypeCobolEditor for Eclipse
- vscode implementation
Introduction
TypeCobol language
-
In a nutshell
-
TypeCobol concepts
TypeCobol Editor
(Type)Cobol parser API
TypeCobol architecture
- Glossary
- Main phases
- How to extend the grammar and semantic check (full example)
- File
- Text
- Code analysis steps
- Program class parser
- Type checker
- Error handler
- Grammars Composition
- Code generation
- Compilation process
(Type)Cobol concepts / reference doc
Contributing