Comments (4)
Using %
for trivia sounds like a great idea! %
is more succinct and it's also helpful for determining whether an attribute is "essential" or not. That's especially useful for compilers that accept Loyc trees as input. For example, ecsc
currently reports an error whenever it encounters a special name it doesn't understand unless that name starts with #trivia_
, in which case the node with the special name is just ignored. That's just quirky at best. Only ignoring nodes with names that start with %
seems more elegant somehow. (Even though it is conceptually the same as the current solution.)
With regard to %MLComment
vs %/**/
, the latter is obviously more terse, but maybe having six leading non-alphanumeric characters in %/**/("This is a comment.")
is a little bit over the top.
from ecsharp.
Actually there are 10 leading punctuation marks in the proper form, @`%/**/`("This is a comment")
, but hey, in LESv3 it's only 9 ( `%/**/`("This is a comment")
)
I guess we'll go with alphanumeric forms then...
from ecsharp.
Sorry for not moving on this faster. CodeSymbols.IsTriviaSymbol
and thus IsTrivia(this ILNode)
now recognize the %
prefix in addition to #trivia
. Changing the prefix solution-wide (particularly in CodeSymbols
) might break things so I'll wait at least until v2.7.0 (semantic version 27) to do that.
from ecsharp.
This is implemented on branch breaking-changes-2.7 (2.7.0.0)
from ecsharp.
Related Issues (20)
- Base compileTime on dotnet-script CLI tool instead of Roslyn scripting HOT 11
- Support F#ish object expression or Java#ish anonymous clases HOT 2
- Add `define` macro with first argument treated as `this` to enable chaining HOT 29
- Comments before multi-using statements are erased HOT 4
- await fluent operator HOT 1
- Error when transforming the `typeof(X<>)` construct HOT 2
- The error Semicolon': expected Colon for the specific code HOT 2
- Support C# 9 pattern matching HOT 3
- Ref locals cannot have parentheses
- EC#: Syntax error in `Foo<T?>`
- Qualified names of identifier macros not working?
- 'with' or quick binding operator bug HOT 1
- EC#: [return: ...] attribute sometimes causes IndexOutOfRangeException in InternalList
- EC#: `#pragma warning` is not propagated to output file
- EC#: Add support for suffix `!` operator
- EC#: New `?>` operator causes parser errors in code like `X<T?>` HOT 1
- Lemp integration - custom macro is not been called
- Lemp - Match only on attribute name
- Add Deconstruct Method To All LNode types to use c# pattern matching
- FPL Abs bug HOT 1
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 ecsharp.