1
0
Fork 0
mirror of https://github.com/ton-blockchain/ton synced 2025-02-15 04:32:21 +00:00
ton/crypto/func/auto-tests/tests/comments.fc
Aleksandr Kirsanov 30572c77d6
[FunC] Support traditional // and /**/ comments
They work alongside Lisp-style ;; and {--}, without any #pragma.
Conceptually, a new syntax should be disabled by default
and activated using a special compiler option.
But now, we don't have an easy way to provide compiler options
in func-js, blueprint, etc.
Note, that introducing per-file #pragma is a wrong approach here,
since if we want to fire human-readable error on using '//' without pragma,
lexer should nevertheless work differently.
(this could be controlled by a launch option, but see above)
2024-06-14 15:22:57 +03:00

39 lines
636 B
Text

_ get10();
int {-
block comment
/*
nested
*/
;;;; -} main()
// inside a comment, {- doesn't start a new one
{- but if ;; is inside, a comment may end at this line-} {
var cc = "a string may contain {- or // or /*, not parsed";
// return 1;
return get10() + /*
traditional comment /* may be also nested */
// line comment
// ends */1 +
1;
{- moreover, different comment styles
may be used for opening and closing
*/
}
/*
first line
//* nested
//two-lined*/
*/
int get10() method_id(10) {
return 10;
}
/*
TESTCASE | 0 | | 12
TESTCASE | 10 | | 10
*/