tartrazine/spec/tests/openscad/test_basic.txt

392 lines
9.1 KiB
Plaintext

---input---
include <threads.scad>
/*
Multiline comment
*/
egg(1500);
// Single line comment
// TODO: add a line
module egg(length, start=-1000, end=-1000) {
rotate_extrude()
translate([0, -length/2, 0])
rotate([0, 0, 90])
polygon(egg_half_poly(
length,
start == -1000 ? 0 : start,
end == -1000 ? length : end
));
}
function egg_half_poly(length, start, end) =
concat(
[[start, 0]],
[for (x=[start : (release ? 0.5 : 1) : end]) [x, egg_eq(x - length/2, length)]],
[[end, 0]]
);
function egg_eq(x, length) =
length / 1.25 / 2 * sqrt(
(length * length - 4 * x * x) /
(length * length + 8 * egg_w * x + 4 * egg_w * egg_w)
);
---tokens---
'include' Keyword.Namespace
' ' Text
'<' Punctuation
'threads.scad' Comment.PreprocFile
'>' Punctuation
'\n' Text.Whitespace
'\n' Text.Whitespace
'/*' Comment.Multiline
'\n Multiline comment\n' Comment.Multiline
'*/' Comment.Multiline
'\n' Text.Whitespace
'\n' Text.Whitespace
'egg' Name
'(' Punctuation
'1500' Literal.Number
')' Punctuation
';' Punctuation
'\n' Text.Whitespace
'\n' Text.Whitespace
'//' Comment.Single
' Single line comment' Comment.Single
'\n' Text
'//' Comment.Single
' TODO: add a line' Comment.Single
'\n' Text
'\n' Text.Whitespace
'module' Keyword.Namespace
' ' Text.Whitespace
'egg' Name.Namespace
'(' Punctuation
'length' Name
',' Punctuation
' ' Text.Whitespace
'start' Name
'=' Operator
'-' Operator
'1000' Literal.Number
',' Punctuation
' ' Text.Whitespace
'end' Name
'=' Operator
'-' Operator
'1000' Literal.Number
')' Punctuation
' ' Text.Whitespace
'{' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'rotate_extrude' Name.Builtin
'(' Punctuation
')' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'translate' Name.Builtin
'(' Punctuation
'[' Punctuation
'0' Literal.Number
',' Punctuation
' ' Text.Whitespace
'-' Operator
'length' Name
'/' Operator
'2' Literal.Number
',' Punctuation
' ' Text.Whitespace
'0' Literal.Number
']' Punctuation
')' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'rotate' Name.Builtin
'(' Punctuation
'[' Punctuation
'0' Literal.Number
',' Punctuation
' ' Text.Whitespace
'0' Literal.Number
',' Punctuation
' ' Text.Whitespace
'90' Literal.Number
']' Punctuation
')' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'polygon' Name.Builtin
'(' Punctuation
'egg_half_poly' Name
'(' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'length' Name
',' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'start' Name
' ' Text.Whitespace
'=' Operator
'=' Operator
' ' Text.Whitespace
'-' Operator
'1000' Literal.Number
' ' Text.Whitespace
'?' Operator
' ' Text.Whitespace
'0' Literal.Number
' ' Text.Whitespace
':' Punctuation
' ' Text.Whitespace
'start' Name
',' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'end' Name
' ' Text.Whitespace
'=' Operator
'=' Operator
' ' Text.Whitespace
'-' Operator
'1000' Literal.Number
' ' Text.Whitespace
'?' Operator
' ' Text.Whitespace
'length' Name
' ' Text.Whitespace
':' Punctuation
' ' Text.Whitespace
'end' Name
'\n' Text.Whitespace
' ' Text.Whitespace
')' Punctuation
')' Punctuation
';' Punctuation
'\n' Text.Whitespace
'}' Punctuation
'\n' Text.Whitespace
'\n' Text.Whitespace
'function' Keyword.Declaration
' ' Text.Whitespace
'egg_half_poly' Name.Function
'(' Punctuation
'length' Name
',' Punctuation
' ' Text.Whitespace
'start' Name
',' Punctuation
' ' Text.Whitespace
'end' Name
')' Punctuation
' ' Text.Whitespace
'=' Operator
'\n' Text.Whitespace
' ' Text.Whitespace
'concat' Name.Builtin
'(' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'[' Punctuation
'[' Punctuation
'start' Name
',' Punctuation
' ' Text.Whitespace
'0' Literal.Number
']' Punctuation
']' Punctuation
',' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'[' Punctuation
'for' Keyword
' ' Text.Whitespace
'(' Punctuation
'x' Name
'=' Operator
'[' Punctuation
'start' Name
' ' Text.Whitespace
':' Punctuation
' ' Text.Whitespace
'(' Punctuation
'release' Name
' ' Text.Whitespace
'?' Operator
' ' Text.Whitespace
'0.5' Literal.Number
' ' Text.Whitespace
':' Punctuation
' ' Text.Whitespace
'1' Literal.Number
')' Punctuation
' ' Text.Whitespace
':' Punctuation
' ' Text.Whitespace
'end' Name
']' Punctuation
')' Punctuation
' ' Text.Whitespace
'[' Punctuation
'x' Name
',' Punctuation
' ' Text.Whitespace
'egg_eq' Name
'(' Punctuation
'x' Name
' ' Text.Whitespace
'-' Operator
' ' Text.Whitespace
'length' Name
'/' Operator
'2' Literal.Number
',' Punctuation
' ' Text.Whitespace
'length' Name
')' Punctuation
']' Punctuation
']' Punctuation
',' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'[' Punctuation
'[' Punctuation
'end' Name
',' Punctuation
' ' Text.Whitespace
'0' Literal.Number
']' Punctuation
']' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
')' Punctuation
';' Punctuation
'\n' Text.Whitespace
'\n' Text.Whitespace
'function' Keyword.Declaration
' ' Text.Whitespace
'egg_eq' Name.Function
'(' Punctuation
'x' Name
',' Punctuation
' ' Text.Whitespace
'length' Name
')' Punctuation
' ' Text.Whitespace
'=' Operator
'\n' Text.Whitespace
' ' Text.Whitespace
'length' Name
' ' Text.Whitespace
'/' Operator
' ' Text.Whitespace
'1.25' Literal.Number
' ' Text.Whitespace
'/' Operator
' ' Text.Whitespace
'2' Literal.Number
' ' Text.Whitespace
'*' Operator
' ' Text.Whitespace
'sqrt' Name.Builtin
'(' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'(' Punctuation
'length' Name
' ' Text.Whitespace
'*' Operator
' ' Text.Whitespace
'length' Name
' ' Text.Whitespace
'-' Operator
' ' Text.Whitespace
'4' Literal.Number
' ' Text.Whitespace
'*' Operator
' ' Text.Whitespace
'x' Name
' ' Text.Whitespace
'*' Operator
' ' Text.Whitespace
'x' Name
')' Punctuation
' ' Text.Whitespace
'/' Operator
'\n' Text.Whitespace
' ' Text.Whitespace
'(' Punctuation
'length' Name
' ' Text.Whitespace
'*' Operator
' ' Text.Whitespace
'length' Name
' ' Text.Whitespace
'+' Operator
' ' Text.Whitespace
'8' Literal.Number
' ' Text.Whitespace
'*' Operator
' ' Text.Whitespace
'egg_w' Name
' ' Text.Whitespace
'*' Operator
' ' Text.Whitespace
'x' Name
' ' Text.Whitespace
'+' Operator
' ' Text.Whitespace
'4' Literal.Number
' ' Text.Whitespace
'*' Operator
' ' Text.Whitespace
'egg_w' Name
' ' Text.Whitespace
'*' Operator
' ' Text.Whitespace
'egg_w' Name
')' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
')' Punctuation
';' Punctuation
'\n' Text.Whitespace