GithubHelp home page GithubHelp logo

woven-planet / go-zserio Goto Github PK

View Code? Open in Web Editor NEW
10.0 10.0 2.0 932 KB

zserio support for Go

License: Other

Starlark 9.60% Go 82.46% ANTLR 3.96% Shell 0.73% ZenScript 0.98% Python 1.69% Dockerfile 0.55% Makefile 0.03%
go golang zserio

go-zserio's People

Contributors

aignas avatar danaozhong avatar jo-me avatar mandaiy avatar philippvoigt avatar shihanng avatar snyk-bot avatar wichert avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

shihanng jo-me

go-zserio's Issues

Incompatibility with NDS.Live 2024.03

Hi,
the 2024.03 schema version seems to be incompatible with the current go-zserio implementation.

The NDS.Live package builder forces a zserio 2.13 version with this new schema so I don't know which change actually causes the generator issues.

So here is the log when running against the display layer.
When using the previous versions (2023.12 + zserio 2.12) none of the issues below are reported.
The fatal error regarding the layer.zs also appears when generating other layer.zs.


2024/04/29 11:15:01 Parsing file ndslive-display-2024.03/zs/all.zs...
2024/04/29 11:15:01 Parsing file ndslive-display-2024.03/zs/core/_module.zs...
2024/04/29 11:15:01 Parsing file ndslive-display-2024.03/zs/core/attributemap.zs...
2024/04/29 11:15:01 Parsing file ndslive-display-2024.03/zs/core/color.zs...
2024/04/29 11:15:01 Parsing file ndslive-display-2024.03/zs/core/conditions.zs...
2024/04/29 11:15:01 Parsing file ndslive-display-2024.03/zs/core/geometry.zs...
line 306:2 reportAttemptingFullContext d=60 (expression), input='>longitude;/** Latitude. */int<(31-shift)+1>latitude;/** Shift longitude value back to the left. */function'
line 300:31 reportContextSensitivity d=60 (expression), input='>longitude;'
line 306:2 reportAttemptingFullContext d=60 (expression), input='>latitude;/** Shift longitude value back to the left. */function'
line 303:30 reportContextSensitivity d=60 (expression), input='>latitude;'
line 331:2 reportAttemptingFullContext d=60 (expression), input='>deltaLongitude;/** Latitudinal delta to base geographic position. */int<numBits+1>deltaLatitude;/** Shift longitude value back to the left. */function'
line 325:33 reportContextSensitivity d=60 (expression), input='>deltaLongitude;'
line 331:2 reportAttemptingFullContext d=60 (expression), input='>deltaLatitude;/** Shift longitude value back to the left. */function'
line 328:32 reportContextSensitivity d=60 (expression), input='>deltaLatitude;'
line 359:2 reportAttemptingFullContext d=60 (expression), input='>longitude;/** Latitude. */int<(31-shiftXY)+1>latitude;/** Elevation in cm above/below WGS 84 reference ellipsoid. */int<31-shiftZ+1>elevation;/** Shift longitude value back to the left. */function'
line 350:33 reportContextSensitivity d=60 (expression), input='>longitude;'
line 359:2 reportAttemptingFullContext d=60 (expression), input='>latitude;/** Elevation in cm above/below WGS 84 reference ellipsoid. */int<31-shiftZ+1>elevation;/** Shift longitude value back to the left. */function'
line 353:32 reportContextSensitivity d=60 (expression), input='>latitude;'
line 359:2 reportAttemptingFullContext d=60 (expression), input='>elevation;/** Shift longitude value back to the left. */function'
line 356:30 reportContextSensitivity d=60 (expression), input='>elevation;'
line 393:2 reportAttemptingFullContext d=60 (expression), input='>deltaLongitude;/** Latitudinal delta to base geographic position. */int<numBitsXY+1>deltaLatitude;/** Elevation delta to base geographic position. */int<numBitsZ+1>deltaElevation;/** Shift longitude value back to the left. */function'
line 384:35 reportContextSensitivity d=60 (expression), input='>deltaLongitude;'
line 393:2 reportAttemptingFullContext d=60 (expression), input='>deltaLatitude;/** Elevation delta to base geographic position. */int<numBitsZ+1>deltaElevation;/** Shift longitude value back to the left. */function'
line 387:34 reportContextSensitivity d=60 (expression), input='>deltaLatitude;'
line 393:2 reportAttemptingFullContext d=60 (expression), input='>deltaElevation;/** Shift longitude value back to the left. */function'
line 390:34 reportContextSensitivity d=60 (expression), input='>deltaElevation;'
line 550:1 reportAttemptingFullContext d=60 (expression), input='>start;};'
line 549:25 reportContextSensitivity d=60 (expression), input='>'
line 1133:1 reportAttemptingFullContext d=60 (expression), input='>index:index<positionBufferSize;};'
line 1132:41 reportContextSensitivity d=60 (expression), input='>index:'
2024/04/29 11:15:01 Parsing file ndslive-display-2024.03/zs/core/grid.zs...
2024/04/29 11:15:01 Parsing file ndslive-display-2024.03/zs/core/icons.zs...
2024/04/29 11:15:01 Parsing file ndslive-display-2024.03/zs/core/language.zs...
2024/04/29 11:15:01 Parsing file ndslive-display-2024.03/zs/core/location.zs...
2024/04/29 11:15:01 Parsing file ndslive-display-2024.03/zs/core/packaging.zs...
2024/04/29 11:15:01 Parsing file ndslive-display-2024.03/zs/core/properties.zs...
line 63:2 token recognition error at: '@r'
line 63:11 extraneous input 'METRIC_UNIT' expecting {',', '}'}
line 68:2 token recognition error at: '@r'
line 68:11 extraneous input 'IMPERIAL_UNIT' expecting {',', '}'}
2024/04/29 11:15:01 Parsing file ndslive-display-2024.03/zs/core/speech.zs...
2024/04/29 11:15:01 Parsing file ndslive-display-2024.03/zs/core/types.zs...
line 282:1 reportAttemptingFullContext d=60 (expression), input='>minScaleDenominator;};'
line 281:61 reportContextSensitivity d=60 (expression), input='>'
line 422:27 reportAttemptingFullContext d=60 (expression), input='>startPosition;/** End percentage position on the feature.*/bit<numBits>endPosition:'
line 419:28 reportContextSensitivity d=60 (expression), input='>startPosition;'
line 424:2 reportAttemptingFullContext d=60 (expression), input='>endPosition:endPosition>startPosition;function'
line 422:27 reportContextSensitivity d=60 (expression), input='>endPosition:'
line 424:2 reportAttemptingFullContext d=60 (expression), input='>startPosition;function'
line 422:41 reportContextSensitivity d=60 (expression), input='>'
line 444:2 reportAttemptingFullContext d=60 (expression), input='>position;function'
line 442:23 reportContextSensitivity d=60 (expression), input='>position;'
2024/04/29 11:15:01 Parsing file ndslive-display-2024.03/zs/core/vehicle.zs...
2024/04/29 11:15:01 Parsing file ndslive-display-2024.03/zs/display/_module.zs...
2024/04/29 11:15:01 Parsing file ndslive-display-2024.03/zs/display/instantiations.zs...
2024/04/29 11:15:01 Parsing file ndslive-display-2024.03/zs/display/layer.zs...
panic: interface conversion: interface {} is nil, not *ast.Expression

goroutine 1 [running]:
github.com/woven-planet/go-zserio/internal/visitor.(*Visitor).VisitFieldOptionalClause(0xc0006c7128?, 0x3e?)
        /home/jochen/go/pkg/mod/github.com/woven-planet/[email protected]/internal/visitor/visitor.go:233 +0x69
github.com/woven-planet/go-zserio/internal/visitor.(*Visitor).VisitStructureFieldDefinition(0xc0003d8c30?, 0xc0006c7128)
        /home/jochen/go/pkg/mod/github.com/woven-planet/[email protected]/internal/visitor/visitor.go:201 +0x1d3
github.com/woven-planet/go-zserio/internal/parser.(*StructureFieldDefinitionContext).Accept(0x8a2800?, {0xa29158?, 0xc00049a768})
        /home/jochen/go/pkg/mod/github.com/woven-planet/[email protected]/internal/parser/zserio_parser.go:3015 +0x99
github.com/woven-planet/go-zserio/internal/visitor.(*Visitor).Visit(0xc0006c6ff0?, {0x7f043c2c2a38?, 0xc0006c7128?})
        /home/jochen/go/pkg/mod/github.com/woven-planet/[email protected]/internal/visitor/visitor.go:28 +0x114
github.com/woven-planet/go-zserio/internal/visitor.(*Visitor).VisitStructureDeclaration(0x4?, 0xc0006c6ff0)
        /home/jochen/go/pkg/mod/github.com/woven-planet/[email protected]/internal/visitor/visitor.go:174 +0x29a
github.com/woven-planet/go-zserio/internal/parser.(*StructureDeclarationContext).Accept(0x10?, {0xa29158?, 0xc00049a768})
        /home/jochen/go/pkg/mod/github.com/woven-planet/[email protected]/internal/parser/zserio_parser.go:2769 +0x99
github.com/woven-planet/go-zserio/internal/visitor.(*Visitor).Visit(0xc0003072d0?, {0x7f043c2c2968?, 0xc0006c6ff0?})
        /home/jochen/go/pkg/mod/github.com/woven-planet/[email protected]/internal/visitor/visitor.go:28 +0x114
github.com/woven-planet/go-zserio/internal/visitor.(*Visitor).VisitChildren(0x9501e0?, {0xa2fef0?, 0xc0006c6fd8?})
        /home/jochen/go/pkg/mod/github.com/woven-planet/[email protected]/internal/visitor/visitor.go:38 +0xd2
github.com/woven-planet/go-zserio/internal/visitor.(*Visitor).VisitTypeDeclaration(0xc000643818?, 0xa29158?)
        /home/jochen/go/pkg/mod/github.com/woven-planet/[email protected]/internal/visitor/visitor.go:134 +0x1d
github.com/woven-planet/go-zserio/internal/parser.(*TypeDeclarationContext).Accept(0x10?, {0xa29158?, 0xc00049a768})
        /home/jochen/go/pkg/mod/github.com/woven-planet/[email protected]/internal/parser/zserio_parser.go:1714 +0x99
github.com/woven-planet/go-zserio/internal/visitor.(*Visitor).Visit(0xc0003072e0?, {0x7f043c2c2900?, 0xc0006c6fd8?})
        /home/jochen/go/pkg/mod/github.com/woven-planet/[email protected]/internal/visitor/visitor.go:28 +0x114
github.com/woven-planet/go-zserio/internal/visitor.(*Visitor).VisitChildren(0x9501e0?, {0xa2ff68?, 0xc0006c6fc0?})
        /home/jochen/go/pkg/mod/github.com/woven-planet/[email protected]/internal/visitor/visitor.go:38 +0xd2
github.com/woven-planet/go-zserio/internal/visitor.(*Visitor).VisitLanguageDirective(0xc0001ba1e0?, 0xa29158?)
        /home/jochen/go/pkg/mod/github.com/woven-planet/[email protected]/internal/visitor/visitor.go:129 +0x1d
github.com/woven-planet/go-zserio/internal/parser.(*LanguageDirectiveContext).Accept(0xd0?, {0xa29158?, 0xc00049a768})
        /home/jochen/go/pkg/mod/github.com/woven-planet/[email protected]/internal/parser/zserio_parser.go:1482 +0x99
github.com/woven-planet/go-zserio/internal/visitor.(*Visitor).Visit(0x8cdb60?, {0x7f043c3289d8?, 0xc0006c6fc0?})
        /home/jochen/go/pkg/mod/github.com/woven-planet/[email protected]/internal/visitor/visitor.go:28 +0x114
github.com/woven-planet/go-zserio/internal/visitor.(*Visitor).VisitPackageDeclaration(0xc00014fd40?, 0xc00070b0b0)
        /home/jochen/go/pkg/mod/github.com/woven-planet/[email protected]/internal/visitor/visitor.go:59 +0x44a
github.com/woven-planet/go-zserio/internal/parser.(*PackageDeclarationContext).Accept(0xc00070b0b0?, {0xa29158?, 0xc00049a768})
        /home/jochen/go/pkg/mod/github.com/woven-planet/[email protected]/internal/parser/zserio_parser.go:783 +0x99
github.com/woven-planet/go-zserio/internal/visitor.(*Visitor).Visit(0xc00078c7c0?, {0x7f043dc1f158?, 0xc00070b0b0?})
        /home/jochen/go/pkg/mod/github.com/woven-planet/[email protected]/internal/visitor/visitor.go:28 +0x114
github.com/woven-planet/go-zserio/internal/model.PackageFromFile({0xc00003fb80?, 0x0?})
        /home/jochen/go/pkg/mod/github.com/woven-planet/[email protected]/internal/model/package.go:23 +0x209
github.com/woven-planet/go-zserio/internal/model.(*Model).parseFile(0xc00037a2c0, {0xc00003fb80, 0x34})
        /home/jochen/go/pkg/mod/github.com/woven-planet/[email protected]/internal/model/model.go:89 +0xc5
github.com/woven-planet/go-zserio/internal/model.FromFiles({0xc000378800, 0x2e, 0x8cd740?})
        /home/jochen/go/pkg/mod/github.com/woven-planet/[email protected]/internal/model/model.go:28 +0x9e
github.com/woven-planet/go-zserio/internal/model.FromFilesystem({0xc000256700?, 0xc00010bee0?, 0x0?})
        /home/jochen/go/pkg/mod/github.com/woven-planet/[email protected]/internal/model/model.go:54 +0x4d
github.com/woven-planet/go-zserio/internal/cli.glob..func1(0xc00035aa00?, {0xc000256700?, 0x4?, 0x95b7cc?})
        /home/jochen/go/pkg/mod/github.com/woven-planet/[email protected]/internal/cli/generate.go:28 +0x30
github.com/spf13/cobra.(*Command).execute(0xe18ae0, {0xc000256690, 0x7, 0x7})
        /home/jochen/go/pkg/mod/github.com/spf13/[email protected]/command.go:856 +0x694
github.com/spf13/cobra.(*Command).ExecuteC(0xe18d60)
        /home/jochen/go/pkg/mod/github.com/spf13/[email protected]/command.go:974 +0x38d
github.com/spf13/cobra.(*Command).Execute(...)
        /home/jochen/go/pkg/mod/github.com/spf13/[email protected]/command.go:902
github.com/woven-planet/go-zserio/internal/cli.Execute()
        /home/jochen/go/pkg/mod/github.com/woven-planet/[email protected]/internal/cli/root.go:15 +0x1a
main.main()
        /home/jochen/go/pkg/mod/github.com/woven-planet/[email protected]/cmd/go-zserio/main.go:8 +0xf

Jochen Mehlhorn [email protected], Mercedes-Benz Tech Innovation GmbH

Provider Information

Unknown type .bytes in type RasterImage

Hi,

we're seeing errrors regarding an apparently unsupported type RasterImage.

The error is
Error: parse schema: resolve types: smart.types.bytes, field RasterImage: unknown type: .bytes (type not found in package)

RasterImage is a type in the smart module:

/** Unwrapped image data. */
subtype bytes RasterImage;

As we currently do not need this specific type our workaround for now is commenting out this definition along with the 2 services

  RasterImage getImage(RasterTileImageRequest);
  RasterImage getImageVersioned(RasterTileImageVersionRequest);

which removes the error during code generation.

Jochen Mehlhorn [email protected], Mercedes-Benz Tech Innovation GmbH

Provider Information

integer divide by zero in evaluateArithmeticExpression

Hi,

when generating code based on zs files of v2.10 or v2.11 we often see errors like the one below that unfortunately contains no hint as of where it is happening.

...
2023/07/24 13:46:00 Parsing file zs/road/reference/types.zs...
2023/07/24 13:46:00 Parsing file zs/road/road.zs...
2023/07/24 13:46:00 Parsing file zs/system/_module.zs...
2023/07/24 13:46:00 Parsing file zs/system/types.zs...
panic: runtime error: integer divide by zero

goroutine 1 [running]:
github.com/woven-planet/go-zserio/internal/ast.(*Expression).evaluateArithmeticExpression(0xc0003c8a80?)
        /home/jochen/go/pkg/mod/github.com/woven-planet/[email protected]/internal/ast/expression.go:457 +0x44a
github.com/woven-planet/go-zserio/internal/ast.(*Expression).Evaluate(0xc0003c9c00, 0xc000349e30?)
        /home/jochen/go/pkg/mod/github.com/woven-planet/[email protected]/internal/ast/expression.go:714 +0x26f
github.com/woven-planet/go-zserio/internal/ast.(*Struct).Evaluate(0xc0003dfd00, 0xc0003f26e0)
        /home/jochen/go/pkg/mod/github.com/woven-planet/[email protected]/internal/ast/struct.go:50 +0x150
github.com/woven-planet/go-zserio/internal/model.(*Model).EvaluateStructs(0xc0002cdd08?)
        /home/jochen/go/pkg/mod/github.com/woven-planet/[email protected]/internal/model/transform.go:174 +0x105
github.com/woven-planet/go-zserio/internal/model.(*Model).evaluate(0xc0002cdd08)
        /home/jochen/go/pkg/mod/github.com/woven-planet/[email protected]/internal/model/model.go:131 +0x370
github.com/woven-planet/go-zserio/internal/model.FromFiles({0xc00030ce00, 0x19, 0x8000104?})
        /home/jochen/go/pkg/mod/github.com/woven-planet/[email protected]/internal/model/model.go:33 +0xbf
github.com/woven-planet/go-zserio/internal/model.FromFilesystem({0xc000248310?, 0x5538ac?, 0xc00037a0a0?})
        /home/jochen/go/pkg/mod/github.com/woven-planet/[email protected]/internal/model/model.go:54 +0x56
github.com/woven-planet/go-zserio/internal/cli.glob..func1(0xe0e580?, {0xc000248310?, 0x7?, 0x7?})
        /home/jochen/go/pkg/mod/github.com/woven-planet/[email protected]/internal/cli/generate.go:28 +0x3c
github.com/spf13/cobra.(*Command).execute(0xe0e580, {0xc0002482a0, 0x7, 0x7})
        /home/jochen/go/pkg/mod/github.com/spf13/[email protected]/command.go:856 +0x67c
github.com/spf13/cobra.(*Command).ExecuteC(0xe0e800)
        /home/jochen/go/pkg/mod/github.com/spf13/[email protected]/command.go:974 +0x3bd
github.com/spf13/cobra.(*Command).Execute(...)
        /home/jochen/go/pkg/mod/github.com/spf13/[email protected]/command.go:902
github.com/woven-planet/go-zserio/internal/cli.Execute()
        /home/jochen/go/pkg/mod/github.com/woven-planet/[email protected]/internal/cli/root.go:15 +0x25
main.main()
        /home/jochen/go/pkg/mod/github.com/woven-planet/[email protected]/cmd/go-zserio/main.go:8 +0x17

It would be good to have some context when an error occurs.

Thanks

Jochen Mehlhorn [email protected], Mercedes-Benz Tech Innovation GmbH

Provider Information

Performance improvement opportunities marshalling/unmarshalling

Hi,

when looking at the generated code there is some room for improvement when it comes to performance of some functions.
For example, there are quite some duplicate or unused variables, missing slice initializations and so on. Nothing seriously wrong but noticeable when looking at pprof cpu profiles.

The places I noticed can be easily solved by adapting the code generator a little bit or the core library functions (e,g, array decode) but some things require a deeper understanding of zserio (which i don't currently have).

  • Would you be open to accept a PR to tweak some places in the code?

  • Is performance optimization something that you are interested in for your use case?

  • Do you maybe already have some things in mind where there are low-hanging fruit when it comes to performance / memory optimzations?

Thanks,

Jochen Mehlhorn [email protected], Mercedes-Benz Tech Innovation GmbH

Provider Information

Import cycle in smart module 2023.08

Hi,

when generating the smart package with schema version 2023.08 (using latest go-zserio), it creates an import cycle between

smart/metadata and smart/object packages because the field
ObjectClass of type smart_object.SmartLayerObjectClass

was added to struct SmartLayerRegistryMetadata in the metadata package.

Any ideas how to resolve this?

Thanks!

Jochen Mehlhorn [email protected], Mercedes-Benz Tech Innovation GmbH

Provider Information

Generated Code does not compile when using Arithmetic Expressions of different byte lenghts

Using arithmetic expressions, such as "+", "-", "*", "/" using variables of different bit length will cause the generated code to fail compiling:

for example, an expression, such as:
u16_var + u32_var
will not compile in Go, as Go does not implicitly perform byte size casts. For such scenarios, the Go code needs to generate explicit casts so that the code compiles.

This problem does not only affect integer types, but also floating point arithmetic (mixing float32 and float64 types).

Suggested Approach

The expression data type is currently stored using ExpressionTypeFloat and ExpressionTypeInteger. To additionally remember the bit size, the Expression type also needs to keep track of the bit length.

antlr ambiguitity notification is logged to `stdout`

When parsing zserio files, the antlr parser occasionally logs ambiguity events (reportAttemptingFullContext, reportContextSensitivity ):

2024/04/29 11:15:01 Parsing file ndslive-display-2024.03/zs/core/geometry.zs...
line 306:2 reportAttemptingFullContext d=60 (expression), input='>longitude;/** Latitude. */int<(31-shift)+1>latitude;/** Shift longitude value back to the left. */function'
line 300:31 reportContextSensitivity d=60 (expression), input='>longitude;'
line 306:2 reportAttemptingFullContext d=60 (expression), input='>latitude;/** Shift longitude value back to the left. */function'
line 303:30 reportContextSensitivity d=60 (expression), input='>latitude;'

These notifications don't indicate syntax errors, but point to an ambiguity of the parser. It seems to happen with some comments. It may be something that can be suppressed.

go-zserio generates files with long names

I tried to use go-zserio to compile the NDS.live schema and got the generated files with such long names that windows system doesn't even support.

image

It would be very helpful to shorten the name of source file.

ztype.ExternType does not satisfy zserio.PackableZserioType (missing method Clone)

Generating code with the lastes version from main branch yields several compile errors in the Go code.
One of them is in the instructions package's JunctionViewImageList type.

Example line:
ImageDataArrayProperties.ArrayTraits = ztype.ObjectArrayTraits[*ztype.ExternType]{}

Compile rrror:
*ztype.ExternType does not satisfy zserio.PackableZserioType (missing method Clone)

Jochen Mehlhorn [email protected], Mercedes-Benz Tech Innovation GmbH

Provider Information

Bazel Windows Issues

Currently, several Bazel commands in this repository don't work on Windows:

  • I couldn't get buildifier to run under Windows. It fails with:
FATAL: ExecuteProgram(C:\users\...\...(...\execroot\__main__\bazel-out\x64_windows-fastbuild\bin\buildifier.bash) failed:
ERROR: src/main/native/windows/process.cc(202): CreateProcessW("C:\users\...\...(...\execroot\__main__\bazel-out\x64_windows-fastbuild\bin\buildifier.bash"): %1 is not a valid Win32 application.

root cause seems to be bazelbuild/buildtools#346 .

Code generation with Zserio 2.11.0

Hi,

generating code based on newer schema versions (2023.6 - which apparently requires zserio 2.11.0) yields a lot of errors.

In addition to the one reported in #107 which was there in earlier versions as well the code generator stops with the message
Error: parse schema: eval structs: evaluate "0.0": unknown expression type
without giving any hint where this is (probably related to the formulas in PercentageRange & PercentagePosition).

If I remove the "+0.0" in those formulas the code generation ends with a different error:
Error: parse schema: eval structs: evaluate ".": failed to evaluate dot expression - again without a hint where this happened.

Aside from that there are many strange outputs that were not there with schemas based on zserio 2.10.0 which leads me to believe that something is not compatible anymore with go-zserio:

2023/07/21 14:16:46 Parsing file zs/core/types.zs...
line 282:1 reportAttemptingFullContext d=59 (expression), input='>minScaleDenominator;};'
line 281:61 reportContextSensitivity d=59 (expression), input='>'
line 422:27 reportAttemptingFullContext d=59 (expression), input='>startPosition;/** End percentage position on the feature.*/bit<numBits>endPosition:'
line 419:28 reportContextSensitivity d=59 (expression), input='>startPosition;'
line 424:2 reportAttemptingFullContext d=59 (expression), input='>endPosition:endPosition>startPosition;function'
line 422:27 reportContextSensitivity d=59 (expression), input='>endPosition:'
line 424:2 reportAttemptingFullContext d=59 (expression), input='>startPosition;function'
line 422:41 reportContextSensitivity d=59 (expression), input='>'
line 444:2 reportAttemptingFullContext d=59 (expression), input='>position;function'
line 442:23 reportContextSensitivity d=59 (expression), input='>position;'
2023/07/21 14:16:46 Parsing file zs/display/types.zs...
line 3405:2 reportAttemptingFullContext d=59 (expression), input='>elevation;/** Normal vector. */NormalSphere'
line 3402:30 reportContextSensitivity d=59 (expression), input='>elevation;'

Are you planning to support the newer schema versions along with the newer zserio versions?

Thanks!

Jochen Mehlhorn [email protected], Mercedes-Benz Tech Innovation GmbH

Provider Information

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.