Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integration/stage2 3 parser #804

Open
wants to merge 53 commits into
base: develop
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
7c1784f
fix package loader for integration
jermy-c Nov 28, 2022
a84c837
fix declaration extractor
jermy-c Nov 28, 2022
5e423d3
fix issues and add check for missing package for declarartions
jermy-c Nov 29, 2022
72ad58b
add timer to cxtest
jermy-c Nov 29, 2022
b245194
fix test not having mutex
jermy-c Dec 2, 2022
5407f25
write benchmark for cx
jermy-c Dec 3, 2022
a8df776
add new proper benchmark
jermy-c Dec 4, 2022
2fcad2c
add becnhmark and chnage to loops
jermy-c Dec 5, 2022
7b69ae6
Update .gitignore
jermy-c Dec 5, 2022
ee11002
new parsing algo and package loader without save
jermy-c Dec 5, 2022
1a80a96
fix without save
jermy-c Dec 6, 2022
82f9f02
change back to use buffer
jermy-c Dec 6, 2022
1c24b70
some improvements
jermy-c Dec 6, 2022
a08aae1
improve parsing algo
jermy-c Dec 7, 2022
a1691b3
have the DB not init() when imported
jermy-c Dec 7, 2022
d0e32ef
change parsing
jermy-c Dec 8, 2022
9239a96
revert to original parsing stages
jermy-c Dec 8, 2022
07fe2f7
revert all changes
jermy-c Dec 8, 2022
be52815
add test and benchmark
jermy-c Dec 8, 2022
50b94ee
integrate stage 2-3
jermy-c Dec 8, 2022
27d742c
fix function imports and redeclar errors
jermy-c Dec 8, 2022
f9f8520
fix struct missing problem
jermy-c Dec 8, 2022
9458bba
fix cx identifier missing
jermy-c Dec 8, 2022
ff961cd
compile regex once
jermy-c Dec 8, 2022
a0dd9ba
Update declaration_extractor.go
jermy-c Dec 8, 2022
c279707
remove os
jermy-c Dec 8, 2022
c50e385
add os.ReadFile back
jermy-c Dec 8, 2022
2e93c35
change to use string as params
jermy-c Dec 11, 2022
102ab56
use file loader for new parsing
jermy-c Dec 12, 2022
670748a
change os.ReadFile to go1.15 file reading compatible
jermy-c Dec 12, 2022
e34dfd5
change []string to []byte
jermy-c Dec 12, 2022
16855df
compile regexes once in file loader
jermy-c Dec 12, 2022
d8056e6
Revert "compile regexes once in file loader"
jermy-c Dec 12, 2022
079c8c6
Revert "change []string to []byte"
jermy-c Dec 12, 2022
58f9c66
replace some regex with some tokenizing
jermy-c Dec 13, 2022
5b4813b
fix declaration extraction unit test
jermy-c Dec 13, 2022
900f456
fix declaration extraction index out of range error and unit test
jermy-c Dec 13, 2022
8719ea5
fix type checker unit tests
jermy-c Dec 13, 2022
c439022
remove unneccsary code for parsestructs
jermy-c Dec 13, 2022
a288f9d
complete file loader unit test
jermy-c Dec 14, 2022
85ccc51
Update One_file_one_package.cx
jermy-c Dec 14, 2022
be0ee2f
fix parsing error for funcs
jermy-c Dec 14, 2022
f4d12fc
leave unused vars as empty vars
jermy-c Dec 14, 2022
8902bf6
remove uneccessary regex
jermy-c Dec 14, 2022
8a6ae21
change from recursive to iterative for ParseDeclarationSpecifier
jermy-c Dec 14, 2022
9090b64
fix extract method and params regex
jermy-c Dec 16, 2022
1ed79bb
fix pass two parsing being empty
jermy-c Dec 16, 2022
0fbc8e4
Update util.go
jermy-c Dec 17, 2022
bbbc471
change []string to [][]byte
jermy-c Dec 19, 2022
44a7c2b
Revert "change []string to [][]byte"
jermy-c Dec 19, 2022
e275ea7
update type checker to search for file instead of opening it
jermy-c Dec 19, 2022
d9c107f
Revert "update type checker to search for file instead of opening it"
jermy-c Dec 20, 2022
1ac5024
Merge pull request #803 from jermy-c/stages-1-3-integration
kenje4090 Dec 20, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
fix test not having mutex
jermy-c committed Dec 2, 2022

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
commit b245194a7d5108d1f4a493193ea6441db2e3c414
4 changes: 2 additions & 2 deletions cmd/packageloader2/file_output/file_output_test.go
Original file line number Diff line number Diff line change
@@ -68,8 +68,8 @@ func TestFile_Output_GetImportFiles(t *testing.T) {

actions.AST = nil

_, sourceCodes, _ := loader.ParseArgsForCX([]string{tc.testDir}, true)
err := loader.LoadCXProgram(tc.programName, sourceCodes, tc.database)
_, sourceCodes, _, rootDir := loader.ParseArgsForCX([]string{tc.testDir}, true)
err := loader.LoadCXProgram(tc.programName, sourceCodes, rootDir, tc.database)
if err != nil {
t.Fatal(err)
}
6 changes: 4 additions & 2 deletions cmd/packageloader2/loader/loader_test.go
Original file line number Diff line number Diff line change
@@ -7,6 +7,7 @@ import (
"path/filepath"
"reflect"
"strings"
"sync"
"testing"

"github.com/skycoin/cx/cmd/packageloader2/loader"
@@ -339,6 +340,7 @@ func TestLoadImportPackages(t *testing.T) {
if err != nil {
t.Error(err)
}
var mx sync.Mutex
gotImportMap := make(map[string][]string)
testPackageStruct := loader.PackageList{}

@@ -352,12 +354,12 @@ func TestLoadImportPackages(t *testing.T) {
t.Error(err)
}

err = loader.CheckImports("main", files, gotImportMap)
err = loader.CheckImports("main", files, gotImportMap, &mx)
if err != nil {
t.Error(err)
}

gotErr := loader.LoadImportPackages(&testPackageStruct, "main", fileMap, gotImportMap, testcase.Database)
gotErr := loader.LoadImportPackages(&testPackageStruct, "main", fileMap, gotImportMap, testcase.Database, &mx)

gotNumberOfPackages := len(testPackageStruct.Packages)
if gotNumberOfPackages != testcase.WantNumberOfPackages {