coala / coast Goto Github PK
View Code? Open in Web Editor NEWUniversal and language-independent abstract syntax tree
Universal and language-independent abstract syntax tree
The repository has a .coafile, and GitMate does check it, but it is better to have Travis CI also checking it.
It needs to use the latest coala, from git
Flow language is one we need for coala-bears.
c.f. coala/coala#5343
The keywords for both the versions are same and there is just a change of extensions where the newer version automatically constructs the parse tree.
So i will be sending PR on this, if its okay.
A :
has been added after the delimiter section in the Language file.
eg:- # string delimiter:
needs to be changed to # string delimiter
Files where the changes are required:
Label: difficulty/newcomer
It'd be helpful if we get to know more about what problems coAST would solve? Prefereably in some detail
cc @sils1297
Netlify has been failing due to some inconsistencies in the Language file.
The problem as I read the logs are in the file
Pascal.yaml
- Datatypes haven't been createdVisualBasic.yaml
- A non string value present in the keywords
.The logs:
The error messages:
These messages occur after one of them fixed. I mean they occur one after another
WARNING Non-string values found in array (field: keywords, instance: Pascal, model: Language): True
ERROR Error: Failed to build project. Run Statik in verbose mode (-v) to see additional traceback information about this error. (in file "/opt/build/repo/data/Language/Pascal.yaml"). Additional error detail: '1' is not in list
WARNING Non-string values found in array (field: keywords, instance: VisualBasic, model: Language): True
ERROR Error: Failed to build project. Run Statik in verbose mode (-v) to see additional traceback information about this error. (in file "/opt/build/repo/data/Language/VisualBasic.yaml"). Additional error detail: '1' is not in list
https://coast.netlify.com opens up some wordpress-esque blog (https://coast.netlify.app) that is peddling pirated games / mp3s etc.
You might want to look into updating the link to a more up-to-date one.
Grammer file produces a hyperlink to the respective grammar files when we provide the entry to it in the language file.
Example:- C.yaml
grammar_file: https://github.com/antlr/grammars-v4/blob/master/c/C.g4
After the site is deployed, the results are rendered as: https://coast.netlify.com/c/
As you see here a hyperlink is produced for the grammar file.
But
When the grammar file
field is empty or not mentioned in the language file such as Bash.yaml or Swift.yaml where the grammar file is not present.
When these files get rendered, they display the text None
which hyperlinks to a page which do not exist.
Grammar File | None |
---|
This needs to be fixed. Instead of showing None with a hyperlink. It should only show None
without any hyperlinks.
label: difficulty/low
Last line here mentions:
Any code in this repository is to be release under the MIT license.
The word release
should be changed to released
.
A good newcomer
issue.
The file D.yaml
has a spelling mistake at line 10
The delimter
should be changed to delimiter
label: difficulty/newcomer
Under Phase 4
, it says:
For avoid these influences causing incorrect design decisions in coAST ...
For avoid
doesn't look quite right and hence is to be updated.
A good newcomer
issue.
There's no Complex number data type specified in the Python language definition, though it is a part of the language.
It is hard to auto-fix code if you only have an AST. Vital information has been dropped.
Also many of the generic bears rely on information typically not present in an AST.
Do you actually want a universal CST also?
Swift.yaml presently has no grammar_file
mentioned.
However, this exists. Link: https://github.com/antlr/grammars-v4/blob/master/swift3/Swift3.g4
Please add this link in grammar_file
as is done in other languages, like, C, etc.
A good newcomer
issue.
keywords
is covering too much things: statements, expressions(including operators), types etc.
I suggest to split them into several pieces like the delimiters.
Yeah uhh I don't know if this exists but it should
10/10 issue styling
You'd expect https://coast.netlify.com/ to show language details.
But it leads to a website (redirects to https://coast.netlify.app/) apparently having instructions on how to download games and software for free.
Create a script, any language, which must be checked into /tools/
in this repo and be run in Travis CI, which creates data files for any languages that are in Pygments but are missing from coAST.
This would replace coala/coala#4556 .
Try to include as much information from Linguist as possible, enhancing the local schema as needed.
a relevant WIP is coala/coala#3162
Note the hard part of this is merging language versions to avoid essentially duplicate languages. See some of the logic from .misc/pygments_coalang_import.py
in that WIP .
We need to add some design to the site generated to make it look more beautiful.
coala uses materialize css for designing the webpages. You can find some inspiration in the other repos which render html pages.
In VisualBasic.yaml:
coAST/data/Language/VisualBasic.yaml
Line 5 in 0110042
A good newcomer
issue.
This needs a .coafile checking the yaml and templates.
Strange build failure. Rebuilding without cache solved it...
8:32:21 PM: --- Logging error ---
8:32:21 PM: Traceback (most recent call last):
8:32:21 PM: File "/usr/lib/python3.6/logging/__init__.py", line 997, in emit
8:32:21 PM: self.flush()
8:32:21 PM: File "/usr/lib/python3.6/logging/__init__.py", line 977, in flush
8:32:21 PM: self.stream.flush()
8:32:21 PM: BlockingIOError: [Errno 11] write could not complete without blocking
8:32:21 PM: Call stack:
8:32:21 PM: File "/opt/buildhome/python3.6/bin/statik", line 11, in <module>
8:32:21 PM: sys.exit(main())
8:32:21 PM: File "/opt/buildhome/python3.6/lib/python3.6/site-packages/statik/cmdline.py", line 211, in main
8:32:21 PM: error_context=error_context
8:32:21 PM: File "/opt/buildhome/python3.6/lib/python3.6/site-packages/statik/generator.py", line 15, in generate
8:32:21 PM: return project.generate(output_path=output_path, in_memory=in_memory)
8:32:21 PM: File "/opt/buildhome/python3.6/lib/python3.6/site-packages/statik/project.py", line 148, in generate
8:32:21 PM: self.db.shutdown()
8:32:21 PM: File "/opt/buildhome/python3.6/lib/python3.6/site-packages/statik/database.py", line 374, in shutdown
8:32:21 PM: clear_tracked_globals()
8:32:21 PM: File "/opt/buildhome/python3.6/lib/python3.6/site-packages/statik/database.py", line 61, in clear_tracked_globals
8:32:21 PM: logger.debug('Clearing tracked global: %s' % name)
8:32:21 PM: Message: 'Clearing tracked global: FileExtensionLanguage'
8:32:21 PM: Arguments: ()
8:32:21 PM: 2018-10-27 13:32:12,866 statik.database DEBUG Clearing tracked global: Keyword
8:32:21 PM: --- Logging error ---
8:32:21 PM: Traceback (most recent call last):
8:32:21 PM: File "/usr/lib/python3.6/logging/__init__.py", line 997, in emit
8:32:21 PM: self.flush()
8:32:21 PM: File "/usr/lib/python3.6/logging/__init__.py", line 977, in flush
8:32:21 PM: self
8:32:21 PM: .stream.flush()
8:32:21 PM: BlockingIOError: [Errno 11] write could not complete without blocking
8:32:22 PM: Call stack:
8:32:22 PM: File "/opt/buildhome/python3.6/bin/statik", line 11, in <module>
8:32:22 PM: sys.exit(main())
8:32:22 PM: File "/opt/buildhome/python3.6/lib/python3.6/site-packages/statik/cmdline.py", line 211, in main
8:32:22 PM: error_context=error_context
8:32:22 PM: File "/opt/buildhome/python3.6/lib/python3.6/site-packages/statik/generator.py", line 15, in generate
8:32:22 PM: return project.generate(output_path=output_path, in_memory=in_memory)
8:32:22 PM: File "/opt/buildhome/python3.6/lib/python3.6/site-packages/statik/project.py", line 148, in generate
8:32:22 PM: self.db.shutdown()
8:32:22 PM: File "/opt/buildhome/python3.6/lib/python3.6/site-packages/statik/database.py", line 374, in shutdown
8:32:22 PM: clear_tracked_globals()
8:32:22 PM: File "/opt/buildhome/python3.6/lib/python3.6/site-packages/statik/database.py", line 61, in clear_tracked_globals
8:32:22 PM: logger.debug('Clearing tracked global: %s' % name)
8:32:22 PM: Message: 'Clearing tracked global: Keyword'
8:32:22 PM: Arguments: ()
8:32:22 PM: 2018-10-27 13:32:12,866 statik.database DEBUG Clearing tracked global: AliasLanguage
8:32:22 PM: --- Logging error ---
8:32:22 PM: Traceback (most recent call last):
8:32:22 PM: File "/usr/lib/python3.6/logging/__init__.py", line 997, in emit
8:32:22 PM: self.flush()
8:32:22 PM: File "/usr/lib/python3.6/logging/__init__.py", line 977, in flush
8:32:22 PM: self.stream.flush()
8:32:22 PM: BlockingIOError: [Errno 11] write could not complete without blocking
8:32:22 PM: Call stack:
8:32:22 PM: File "/opt/buildhome/python3.6/bin/statik", line 11, in <module>
8:32:22 PM: sys.exit(main())
8:32:22 PM: File "/opt/buildhome/python3.6/lib/python3.6/site-packages/statik/cmdline.py", line 211, in main
8:32:22 PM: error_context=error_context
8:32:22 PM: File "/opt/buildhome/python3.6/lib/python3.6/site-packages/statik/generator.py", line 15, in generate
8:32:22 PM: return project.generate(output_path=output_path, in_memory=in_memory)
8:32:22 PM: File "/opt/buildhome/python3.6/lib/python3.6/site-packages/statik/project.py", line 148, in generate
8:32:22 PM: self.db.shutdown()
8:32:22 PM: File "/opt/buildhome/python3.6/lib/python3.6/site-packages/statik/database.py", line 374, in shutdown
8:32:22 PM: clear_tracked_globals()
8:32:22 PM: File "/opt/buildhome/python3.6/lib/python3.6/site-packages/statik/database.py", line 61, in clear_tracked_globals
8:32:22 PM: logger.debug('Clearing tracked global: %s' % name)
8:32:22 PM: Message: 'Clearing tracked global: AliasLanguage'
8:32:22 PM: Arguments: ()
8:32:22 PM: 2018-10-27 13:32:12,867 statik.database DEBUG Clearing tracked global: Alias
8:32:22 PM: --- Logging error ---
8:32:22 PM: Traceback (most recent call last):
8:32:22 PM: File "/usr/lib/python3.6/logging/__init__.py", linCaching artifacts
master currently has an unhandled exception
https://app.netlify.com/sites/coast/deploys/5bdde19202ed835358871ab4
This needs to be fixed upstream in statik
9:08:24 PM: Finished restoring cached pip cache
9:08:24 PM: Collecting git+https://github.com/thanethomson/statik (from -r requirements.txt (line 1))
9:08:24 PM: Cloning https://github.com/thanethomson/statik to /tmp/pip-req-build-j8yeyb_j
9:08:25 PM: Complete output from command python setup.py egg_info:
9:08:25 PM: error in statik setup command: 'install_requires' must be a string or list of strings containing valid project/version requirement specifiers; Invalid requirement, parse error at "'+https:/'"
The datatypes
mentioned under Pascal.yaml
coAST/data/Language/Pascal.yaml
Lines 74 to 79 in 0110042
data/DataType
here.
A good difficulty/low
issue.
e.g.,
The word currently
has been repeated twice on line 10 of the file _all.yml
# 'block' currently currently implies a new 'scope', however we may need to
Label:- difficulty/newcomer
Please assign this to me.
Create a script, any language, which must be checked into /tools/
in this repo and be run in Travis CI, which creates data files for any languages that are in Linguist https://github.com/github/linguist/blob/master/lib/linguist/languages.yml but are missing from coAST.
This would replace coala/coala#4556 .
Try to include as much information from Linguist as possible, enhancing the local schema as needed.
build fails because coala uses f strings which Python3.5 does not support.
Update CI configuration to run on Python>=3.6
There are some datatype files which are present, for example, long_java
and long_d
.
They should be removed, since duplicates are generally not required.
The new names of datatypes should allow it to be clearly differentiated from others and should be related to the concerned datatype.
A recent commit was merged with yamllint errors
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.