Comments (3)
Note we may want to re-open or file a new issue for just "protobuf to DSLX conversion produces really long literals in a single line" -- we could do something temporary before we have a full auto formatting solution of any kind that a) assumes infinite line length and b) just causes appropriate newlines-each-struct-field-with-indent/dedent to happen when the serialized single-line version is beyond a certain length (say 80 chars). cc @RobSpringer will leave up to you how to track that one best.
from xls.
Note that most DSLX "language tests" have auto-formatting enabled as of eb08413 -- there are about four .x files in the repo that cannot be successfully auto-formatted now, will try to knock those out next week and have std.x
be auto-formatted (with a test that it remains auto-formatted).
WIP binary is dslx_fmt
https://github.com/google/xls/blob/d445fc4f61bd3569c309c4d8b962145ad83efe0c/xls/dslx/dslx_fmt.cc
from xls.
I'd consider it fairly complete now -- notably most remaining holes are due to the fact comments can go in the middle of constructs at arbitrary spots. To handle that large space of possibilities we could "mark" comments from the original source text runs as being formatted properly and give an error return code if there exist any unhandled comments from the original text. But I think I can largely claim this is complete, even given the few comment-formatting escapes and some remaining 100-char escapes it mostly does what we're looking for.
from xls.
Related Issues (20)
- [xlscc]two crashes in xlscc run, I attach the testcases HOT 1
- dslx_fmt removes comment in return line if that is a unary expression
- INTERNAL error caused by incorrect code passed to DSLX interpreter
- [enhancement] Improve ScopedVerifyProcEquivalence for changes to state elements
- [enhancement] Improve ScopedVerifyProcEquivalence to track token dependencies & support conditional send
- [enhancement] XLS' understanding of delay needs to address (upside potential for) skew in bit-level delays
- opt produces different output for semantically equivalent match statements
- [enhancement] Provide easy to understand error message about mismatched `config()` return types
- Release notes should all include all new commits HOT 1
- Document and settle on a commit message convention
- [enhancement] DSLX error messages should have more structured data about related source ranges
- [enhancement] Support peek() op in XLS HOT 1
- [enhancement] Specify I/O options per-channel
- [enhancement] Expose NodeInCycleConstraint scheduling constraint in codegen. HOT 1
- [enhancement] Expose min_delay op in DSLX HOT 3
- [enhancement] Treat for-loop iterator value as constant when iteration over constant values HOT 1
- [enhancement] Support 1R/1W RAM Models (with RAM rewriting) HOT 1
- Factor out FIFO state in block evaluators
- FIFO Metadata Specification
- `XlsTypeError` in `config()` is missing information about the channel direction
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from xls.